ShellPkg: Added the Ctrl based hot key and changed text editor's UI.

* Add Ctrl-E hotkey for help
* Add Ctrl based hotkey alternatives to function hotkeys
* Don't show hotkey help on the main screen
* Change the file buffer's row count for display to adjust the new screen format
* Change the edit status bar location, the new edit status bar is in the last line
* Change the location of the edit bar, the new edit input bar is in the last line

Signed-off-by: kidzyoung
reviewed-by: jcarsey
reviewed-by: jljusten
reviewed-by: jiang

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12036 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jcarsey
2011-07-20 20:10:45 +00:00
parent f7c8bd9f9d
commit 5a2beb745f
10 changed files with 363 additions and 61 deletions

View File

@@ -15,6 +15,20 @@
#ifndef _LIB_MENU_BAR_H_
#define _LIB_MENU_BAR_H_
#define SCAN_CONTROL_E 5
#define SCAN_CONTROL_F 6
#define SCAN_CONTROL_G 7
#define SCAN_CONTROL_K 11
#define SCAN_CONTROL_O 15
#define SCAN_CONTROL_Q 17
#define SCAN_CONTROL_R 18
#define SCAN_CONTROL_S 19
#define SCAN_CONTROL_T 20
#define SCAN_CONTROL_U 21
#define SCAN_CONTROL_W 23
#define SCAN_CONTROL_Z 26
typedef
EFI_STATUS
(*MENU_ITEM_FUNCTION) (
@@ -41,6 +55,19 @@ MenuBarInit (
IN CONST EDITOR_MENU_ITEM *Items
);
/**
Initialize the control hot-key with the specified items.
@param[in] Items The hot-key functions.
@retval EFI_SUCCESS The initialization was correct.
**/
EFI_STATUS
EFIAPI
ControlHotKeyInit (
IN MENU_ITEM_FUNCTION *Items
);
/**
Cleanup function for a menu bar. frees all allocated memory.
**/
@@ -80,4 +107,19 @@ MenuBarDispatchFunctionKey (
IN CONST EFI_INPUT_KEY *Key
);
/**
Function to dispatch the correct function based on a control-based key (ctrl+o...)
@param[in] Key The pressed key.
@retval EFI_NOT_FOUND The key was not a valid control-based key
(an error was sent to the status bar).
@return EFI_SUCCESS.
**/
EFI_STATUS
EFIAPI
MenuBarDispatchControlHotKey (
IN CONST EFI_INPUT_KEY *Key
);
#endif