]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2Keyboard.h
Remove IntelFrameworkModulePkg
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Isa / Ps2KeyboardDxe / Ps2Keyboard.h
diff --git a/IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2Keyboard.h b/IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2Keyboard.h
deleted file mode 100644 (file)
index 7a9b330..0000000
+++ /dev/null
@@ -1,564 +0,0 @@
-/** @file\r
-  PS/2 keyboard driver header file\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#ifndef _PS2KEYBOARD_H_\r
-#define _PS2KEYBOARD_H_\r
-\r
-#include <Uefi.h>\r
-\r
-#include <Protocol/SimpleTextIn.h>\r
-#include <Protocol/SimpleTextInEx.h>\r
-#include <Protocol/IsaIo.h>\r
-#include <Protocol/DevicePath.h>\r
-#include <Protocol/Ps2Policy.h>\r
-\r
-#include <Library/UefiDriverEntryPoint.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/ReportStatusCodeLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/UefiRuntimeServicesTableLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/TimerLib.h>\r
-#include <Library/PcdLib.h>\r
-\r
-//\r
-// Global Variables\r
-//\r
-extern EFI_DRIVER_BINDING_PROTOCOL   gKeyboardControllerDriver;\r
-extern EFI_COMPONENT_NAME_PROTOCOL   gPs2KeyboardComponentName;\r
-extern EFI_COMPONENT_NAME2_PROTOCOL  gPs2KeyboardComponentName2;\r
-\r
-//\r
-// Driver Private Data\r
-//\r
-#define KEYBOARD_CONSOLE_IN_DEV_SIGNATURE       SIGNATURE_32 ('k', 'k', 'e', 'y')\r
-#define KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE SIGNATURE_32 ('k', 'c', 'e', 'n')\r
-\r
-typedef struct _KEYBOARD_CONSOLE_IN_EX_NOTIFY {\r
-  UINTN                               Signature;\r
-  EFI_KEY_DATA                        KeyData;\r
-  EFI_KEY_NOTIFY_FUNCTION             KeyNotificationFn;\r
-  LIST_ENTRY                          NotifyEntry;\r
-} KEYBOARD_CONSOLE_IN_EX_NOTIFY;\r
-\r
-#define KEYBOARD_SCAN_CODE_MAX_COUNT  32\r
-typedef struct {\r
-  UINT8                               Buffer[KEYBOARD_SCAN_CODE_MAX_COUNT];\r
-  UINTN                               Head;\r
-  UINTN                               Tail;\r
-} SCAN_CODE_QUEUE;\r
-\r
-#define KEYBOARD_EFI_KEY_MAX_COUNT    256\r
-typedef struct {\r
-  EFI_KEY_DATA                        Buffer[KEYBOARD_EFI_KEY_MAX_COUNT];\r
-  UINTN                               Head;\r
-  UINTN                               Tail;\r
-} EFI_KEY_QUEUE;\r
-\r
-typedef struct {\r
-  UINTN                               Signature;\r
-\r
-  EFI_HANDLE                          Handle;\r
-  EFI_SIMPLE_TEXT_INPUT_PROTOCOL      ConIn;\r
-  EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL   ConInEx;\r
-  EFI_ISA_IO_PROTOCOL                 *IsaIo;\r
-\r
-  EFI_EVENT                           TimerEvent;\r
-\r
-  UINT32                              DataRegisterAddress;\r
-  UINT32                              StatusRegisterAddress;\r
-  UINT32                              CommandRegisterAddress;\r
-\r
-  BOOLEAN                             LeftCtrl;\r
-  BOOLEAN                             RightCtrl;\r
-  BOOLEAN                             LeftAlt;\r
-  BOOLEAN                             RightAlt;\r
-  BOOLEAN                             LeftShift;\r
-  BOOLEAN                             RightShift;\r
-  BOOLEAN                             LeftLogo;\r
-  BOOLEAN                             RightLogo;\r
-  BOOLEAN                             Menu;\r
-  BOOLEAN                             SysReq;\r
-\r
-  BOOLEAN                             CapsLock;\r
-  BOOLEAN                             NumLock;\r
-  BOOLEAN                             ScrollLock;\r
-\r
-  BOOLEAN                             IsSupportPartialKey;\r
-  //\r
-  // Queue storing key scancodes\r
-  //\r
-  SCAN_CODE_QUEUE                     ScancodeQueue;\r
-  EFI_KEY_QUEUE                       EfiKeyQueue;\r
-  EFI_KEY_QUEUE                       EfiKeyQueueForNotify;\r
-\r
-  //\r
-  // Error state\r
-  //\r
-  BOOLEAN                             KeyboardErr;\r
-\r
-  EFI_UNICODE_STRING_TABLE            *ControllerNameTable;\r
-\r
-  EFI_DEVICE_PATH_PROTOCOL            *DevicePath;\r
-  //\r
-  // Notification Function List\r
-  //\r
-  LIST_ENTRY                          NotifyList;\r
-  EFI_EVENT                           KeyNotifyProcessEvent;\r
-} KEYBOARD_CONSOLE_IN_DEV;\r
-\r
-#define KEYBOARD_CONSOLE_IN_DEV_FROM_THIS(a)  CR (a, KEYBOARD_CONSOLE_IN_DEV, ConIn, KEYBOARD_CONSOLE_IN_DEV_SIGNATURE)\r
-#define TEXT_INPUT_EX_KEYBOARD_CONSOLE_IN_DEV_FROM_THIS(a) \\r
-  CR (a, \\r
-      KEYBOARD_CONSOLE_IN_DEV, \\r
-      ConInEx, \\r
-      KEYBOARD_CONSOLE_IN_DEV_SIGNATURE \\r
-      )\r
-\r
-#define TABLE_END 0x0\r
-\r
-//\r
-// Driver entry point\r
-//\r
-/**\r
-  The user Entry Point for module Ps2Keyboard. The user code starts with this function.\r
-\r
-  @param[in] ImageHandle    The firmware allocated handle for the EFI image.\r
-  @param[in] SystemTable    A pointer to the EFI System Table.\r
-\r
-  @retval EFI_SUCCESS       The entry point is executed successfully.\r
-  @retval other             Some error occurs when executing this entry point.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-InstallPs2KeyboardDriver (\r
-  IN EFI_HANDLE           ImageHandle,\r
-  IN EFI_SYSTEM_TABLE     *SystemTable\r
-  );\r
-\r
-#define KEYBOARD_8042_DATA_REGISTER     0x60\r
-#define KEYBOARD_8042_STATUS_REGISTER   0x64\r
-#define KEYBOARD_8042_COMMAND_REGISTER  0x64\r
-\r
-#define KEYBOARD_KBEN                   0xF4\r
-#define KEYBOARD_CMDECHO_ACK            0xFA\r
-\r
-#define KEYBOARD_MAX_TRY                256     // 256\r
-#define KEYBOARD_TIMEOUT                65536   // 0.07s\r
-#define KEYBOARD_WAITFORVALUE_TIMEOUT   1000000 // 1s\r
-#define KEYBOARD_BAT_TIMEOUT            4000000 // 4s\r
-#define KEYBOARD_TIMER_INTERVAL         200000  // 0.02s\r
-#define SCANCODE_EXTENDED0              0xE0\r
-#define SCANCODE_EXTENDED1              0xE1\r
-#define SCANCODE_CTRL_MAKE              0x1D\r
-#define SCANCODE_CTRL_BREAK             0x9D\r
-#define SCANCODE_ALT_MAKE               0x38\r
-#define SCANCODE_ALT_BREAK              0xB8\r
-#define SCANCODE_LEFT_SHIFT_MAKE        0x2A\r
-#define SCANCODE_LEFT_SHIFT_BREAK       0xAA\r
-#define SCANCODE_RIGHT_SHIFT_MAKE       0x36\r
-#define SCANCODE_RIGHT_SHIFT_BREAK      0xB6\r
-#define SCANCODE_CAPS_LOCK_MAKE         0x3A\r
-#define SCANCODE_NUM_LOCK_MAKE          0x45\r
-#define SCANCODE_SCROLL_LOCK_MAKE       0x46\r
-#define SCANCODE_DELETE_MAKE            0x53\r
-#define SCANCODE_LEFT_LOGO_MAKE         0x5B //GUI key defined in Keyboard scan code\r
-#define SCANCODE_LEFT_LOGO_BREAK        0xDB\r
-#define SCANCODE_RIGHT_LOGO_MAKE        0x5C\r
-#define SCANCODE_RIGHT_LOGO_BREAK       0xDC\r
-#define SCANCODE_MENU_MAKE              0x5D //APPS key defined in Keyboard scan code\r
-#define SCANCODE_MENU_BREAK             0xDD\r
-#define SCANCODE_SYS_REQ_MAKE           0x37\r
-#define SCANCODE_SYS_REQ_BREAK          0xB7\r
-#define SCANCODE_SYS_REQ_MAKE_WITH_ALT  0x54\r
-#define SCANCODE_SYS_REQ_BREAK_WITH_ALT 0xD4\r
-\r
-#define SCANCODE_MAX_MAKE               0x60\r
-\r
-\r
-#define KEYBOARD_STATUS_REGISTER_HAS_OUTPUT_DATA     BIT0        ///< 0 - Output register has no data; 1 - Output register has data\r
-#define KEYBOARD_STATUS_REGISTER_HAS_INPUT_DATA      BIT1        ///< 0 - Input register has no data;  1 - Input register has data\r
-#define KEYBOARD_STATUS_REGISTER_SYSTEM_FLAG         BIT2        ///< Set to 0 after power on reset\r
-#define KEYBOARD_STATUS_REGISTER_INPUT_DATA_TYPE     BIT3        ///< 0 - Data in input register is data; 1 - Data in input register is command\r
-#define KEYBOARD_STATUS_REGISTER_ENABLE_FLAG         BIT4        ///< 0 - Keyboard is disable; 1 - Keyboard is enable\r
-#define KEYBOARD_STATUS_REGISTER_TRANSMIT_TIMEOUT    BIT5        ///< 0 - Transmit is complete without timeout; 1 - Transmit is timeout without complete\r
-#define KEYBOARD_STATUS_REGISTER_RECEIVE_TIMEOUT     BIT6        ///< 0 - Receive is complete without timeout; 1 - Receive is timeout without complete\r
-#define KEYBOARD_STATUS_REGISTER_PARITY              BIT7        ///< 0 - Odd parity; 1 - Even parity\r
-\r
-#define KEYBOARD_8042_COMMAND_READ                          0x20\r
-#define KEYBOARD_8042_COMMAND_WRITE                         0x60\r
-#define KEYBOARD_8042_COMMAND_DISABLE_MOUSE_INTERFACE       0xA7\r
-#define KEYBOARD_8042_COMMAND_ENABLE_MOUSE_INTERFACE        0xA8\r
-#define KEYBOARD_8042_COMMAND_CONTROLLER_SELF_TEST          0xAA\r
-#define KEYBOARD_8042_COMMAND_KEYBOARD_INTERFACE_SELF_TEST  0xAB\r
-#define KEYBOARD_8042_COMMAND_DISABLE_KEYBOARD_INTERFACE    0xAD\r
-\r
-#define KEYBOARD_8048_COMMAND_CLEAR_OUTPUT_DATA             0xF4\r
-#define KEYBOARD_8048_COMMAND_RESET                         0xFF\r
-#define KEYBOARD_8048_COMMAND_SELECT_SCAN_CODE_SET          0xF0\r
-\r
-#define KEYBOARD_8048_RETURN_8042_BAT_SUCCESS               0xAA\r
-#define KEYBOARD_8048_RETURN_8042_BAT_ERROR                 0xFC\r
-#define KEYBOARD_8048_RETURN_8042_ACK                       0xFA\r
-\r
-\r
-//\r
-// Keyboard Controller Status\r
-//\r
-#define KBC_PARE  0x80  // Parity Error\r
-#define KBC_TIM   0x40  // General Time Out\r
-\r
-//\r
-// Other functions that are used among .c files\r
-//\r
-/**\r
-  Show keyboard status lights according to\r
-  indicators in ConsoleIn.\r
-\r
-  @param ConsoleIn Pointer to instance of KEYBOARD_CONSOLE_IN_DEV\r
-\r
-  @return status\r
-\r
-**/\r
-EFI_STATUS\r
-UpdateStatusLights (\r
-  IN KEYBOARD_CONSOLE_IN_DEV *ConsoleIn\r
-  );\r
-\r
-/**\r
-  write key to keyboard.\r
-\r
-  @param ConsoleIn Pointer to instance of KEYBOARD_CONSOLE_IN_DEV\r
-  @param Data      value wanted to be written\r
-\r
-  @retval EFI_TIMEOUT - GC_TODO: Add description for return value\r
-  @retval EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
-**/\r
-EFI_STATUS\r
-KeyboardRead (\r
-  IN KEYBOARD_CONSOLE_IN_DEV  *ConsoleIn,\r
-  OUT UINT8                   *Data\r
-  );\r
-\r
-/**\r
-  Get scancode from scancode buffer and translate into EFI-scancode and unicode defined by EFI spec.\r
-\r
-  The function is always called in TPL_NOTIFY.\r
-\r
-  @param ConsoleIn KEYBOARD_CONSOLE_IN_DEV instance pointer\r
-\r
-**/\r
-VOID\r
-KeyGetchar (\r
-  IN OUT KEYBOARD_CONSOLE_IN_DEV *ConsoleIn\r
-  );\r
-\r
-/**\r
-  Process key notify.\r
-\r
-  @param  Event                 Indicates the event that invoke this function.\r
-  @param  Context               Indicates the calling context.\r
-**/\r
-VOID\r
-EFIAPI\r
-KeyNotifyProcessHandler (\r
-  IN  EFI_EVENT                 Event,\r
-  IN  VOID                      *Context\r
-  );\r
-\r
-/**\r
-  Perform 8042 controller and keyboard Initialization.\r
-  If ExtendedVerification is TRUE, do additional test for\r
-  the keyboard interface\r
-\r
-  @param ConsoleIn - KEYBOARD_CONSOLE_IN_DEV instance pointer\r
-  @param ExtendedVerification - indicates a thorough initialization\r
-\r
-  @retval EFI_DEVICE_ERROR Fail to init keyboard\r
-  @retval EFI_SUCCESS      Success to init keyboard\r
-**/\r
-EFI_STATUS\r
-InitKeyboard (\r
-  IN OUT KEYBOARD_CONSOLE_IN_DEV *ConsoleIn,\r
-  IN BOOLEAN                     ExtendedVerification\r
-  );\r
-\r
-\r
-\r
-/**\r
-  Timer event handler: read a series of scancodes from 8042\r
-  and put them into memory scancode buffer.\r
-  it read as much scancodes to either fill\r
-  the memory buffer or empty the keyboard buffer.\r
-  It is registered as running under TPL_NOTIFY\r
-\r
-  @param Event - The timer event\r
-  @param Context - A KEYBOARD_CONSOLE_IN_DEV pointer\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-KeyboardTimerHandler (\r
-  IN EFI_EVENT    Event,\r
-  IN VOID         *Context\r
-  );\r
-\r
-/**\r
-  logic reset keyboard\r
-  Implement SIMPLE_TEXT_IN.Reset()\r
-  Perform 8042 controller and keyboard initialization\r
-\r
-  @param This    Pointer to instance of EFI_SIMPLE_TEXT_INPUT_PROTOCOL\r
-  @param ExtendedVerification Indicate that the driver may perform a more\r
-                              exhaustive verification operation of the device during\r
-                              reset, now this par is ignored in this driver\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-KeyboardEfiReset (\r
-  IN  EFI_SIMPLE_TEXT_INPUT_PROTOCOL  *This,\r
-  IN  BOOLEAN                         ExtendedVerification\r
-  );\r
-\r
-/**\r
-  Implement SIMPLE_TEXT_IN.ReadKeyStroke().\r
-  Retrieve key values for driver user.\r
-\r
-  @param This    Pointer to instance of EFI_SIMPLE_TEXT_INPUT_PROTOCOL\r
-  @param Key     The output buffer for key value\r
-\r
-  @retval EFI_SUCCESS success to read key stroke\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-KeyboardReadKeyStroke (\r
-  IN  EFI_SIMPLE_TEXT_INPUT_PROTOCOL  *This,\r
-  OUT EFI_INPUT_KEY                   *Key\r
-  );\r
-\r
-/**\r
-  Event notification function for SIMPLE_TEXT_IN.WaitForKey event\r
-  Signal the event if there is key available\r
-\r
-  @param Event    the event object\r
-  @param Context  waitting context\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-KeyboardWaitForKey (\r
-  IN  EFI_EVENT               Event,\r
-  IN  VOID                    *Context\r
-  );\r
-\r
-/**\r
-  Read status register.\r
-\r
-  @param ConsoleIn  Pointer to instance of KEYBOARD_CONSOLE_IN_DEV\r
-\r
-  @return value in status register\r
-\r
-**/\r
-UINT8\r
-KeyReadStatusRegister (\r
-  IN KEYBOARD_CONSOLE_IN_DEV *ConsoleIn\r
-  );\r
-\r
-/**\r
-  Check whether there is Ps/2 Keyboard device in system by 0xF4 Keyboard Command\r
-  If Keyboard receives 0xF4, it will respond with 'ACK'. If it doesn't respond, the device\r
-  should not be in system.\r
-\r
-  @param[in]  ConsoleIn   Pointer to instance of KEYBOARD_CONSOLE_IN_DEV\r
-\r
-  @retval     TRUE                  Keyboard in System.\r
-  @retval     FALSE                 Keyboard not in System.\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-CheckKeyboardConnect (\r
-  IN KEYBOARD_CONSOLE_IN_DEV *ConsoleIn\r
-  );\r
-\r
-/**\r
-  Event notification function for SIMPLE_TEXT_INPUT_EX_PROTOCOL.WaitForKeyEx event\r
-  Signal the event if there is key available\r
-\r
-  @param Event    event object\r
-  @param Context  waiting context\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-KeyboardWaitForKeyEx (\r
-  IN  EFI_EVENT               Event,\r
-  IN  VOID                    *Context\r
-  );\r
-\r
-//\r
-// Simple Text Input Ex protocol function prototypes\r
-//\r
-\r
-/**\r
-  Reset the input device and optionaly run diagnostics\r
-\r
-  @param This                 - Protocol instance pointer.\r
-  @param ExtendedVerification - Driver may perform diagnostics on reset.\r
-\r
-  @retval EFI_SUCCESS           - The device was reset.\r
-  @retval EFI_DEVICE_ERROR      - The device is not functioning properly and could\r
-                                  not be reset.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-KeyboardEfiResetEx (\r
-  IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL  *This,\r
-  IN BOOLEAN                            ExtendedVerification\r
-  );\r
-\r
-/**\r
-    Reads the next keystroke from the input device. The WaitForKey Event can\r
-    be used to test for existance of a keystroke via WaitForEvent () call.\r
-\r
-\r
-    @param This       - Protocol instance pointer.\r
-    @param KeyData    - A pointer to a buffer that is filled in with the keystroke\r
-                 state data for the key that was pressed.\r
-\r
-    @retval EFI_SUCCESS           - The keystroke information was returned.\r
-    @retval EFI_NOT_READY         - There was no keystroke data availiable.\r
-    @retval EFI_DEVICE_ERROR      - The keystroke information was not returned due to\r
-                            hardware errors.\r
-    @retval EFI_INVALID_PARAMETER - KeyData is NULL.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-KeyboardReadKeyStrokeEx (\r
-  IN  EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,\r
-  OUT EFI_KEY_DATA                      *KeyData\r
-  );\r
-\r
-/**\r
-  Set certain state for the input device.\r
-\r
-  @param This              - Protocol instance pointer.\r
-  @param KeyToggleState    - A pointer to the EFI_KEY_TOGGLE_STATE to set the\r
-                        state for the input device.\r
-\r
-  @retval EFI_SUCCESS           - The device state was set successfully.\r
-  @retval EFI_DEVICE_ERROR      - The device is not functioning correctly and could\r
-                            not have the setting adjusted.\r
-  @retval EFI_UNSUPPORTED       - The device does not have the ability to set its state.\r
-  @retval EFI_INVALID_PARAMETER - KeyToggleState is NULL.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-KeyboardSetState (\r
-  IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL  *This,\r
-  IN EFI_KEY_TOGGLE_STATE               *KeyToggleState\r
-  );\r
-\r
-/**\r
-    Register a notification function for a particular keystroke for the input device.\r
-\r
-    @param This                    - Protocol instance pointer.\r
-    @param KeyData                 - A pointer to a buffer that is filled in with the keystroke\r
-                                     information data for the key that was pressed. If KeyData.Key,\r
-                                     KeyData.KeyState.KeyToggleState and KeyData.KeyState.KeyShiftState\r
-                                     are 0, then any incomplete keystroke will trigger a notification of\r
-                                     the KeyNotificationFunction.\r
-    @param KeyNotificationFunction - Points to the function to be called when the key\r
-                                     sequence is typed specified by KeyData. This notification function\r
-                                     should be called at <=TPL_CALLBACK.\r
-    @param NotifyHandle            - Points to the unique handle assigned to the registered notification.\r
-\r
-    @retval EFI_SUCCESS             - The notification function was registered successfully.\r
-    @retval EFI_OUT_OF_RESOURCES    - Unable to allocate resources for necesssary data structures.\r
-    @retval EFI_INVALID_PARAMETER   - KeyData or NotifyHandle is NULL.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-KeyboardRegisterKeyNotify (\r
-  IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL  *This,\r
-  IN EFI_KEY_DATA                       *KeyData,\r
-  IN EFI_KEY_NOTIFY_FUNCTION            KeyNotificationFunction,\r
-  OUT VOID                              **NotifyHandle\r
-  );\r
-\r
-/**\r
-    Remove a registered notification function from a particular keystroke.\r
-\r
-    @param This                    - Protocol instance pointer.\r
-    @param NotificationHandle      - The handle of the notification function being unregistered.\r
-\r
-\r
-    @retval EFI_SUCCESS             - The notification function was unregistered successfully.\r
-    @retval EFI_INVALID_PARAMETER   - The NotificationHandle is invalid.\r
-    @retval EFI_NOT_FOUND           - Can not find the matching entry in database.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-KeyboardUnregisterKeyNotify (\r
-  IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL  *This,\r
-  IN VOID                               *NotificationHandle\r
-  );\r
-\r
-/**\r
-  Push one key data to the EFI key buffer.\r
-\r
-  @param Queue     Pointer to instance of EFI_KEY_QUEUE.\r
-  @param KeyData   The key data to push.\r
-**/\r
-VOID\r
-PushEfikeyBufTail (\r
-  IN  EFI_KEY_QUEUE         *Queue,\r
-  IN  EFI_KEY_DATA          *KeyData\r
-  );\r
-\r
-/**\r
-  Judge whether is a registed key\r
-\r
-  @param RegsiteredData       A pointer to a buffer that is filled in with the keystroke\r
-                              state data for the key that was registered.\r
-  @param InputData            A pointer to a buffer that is filled in with the keystroke\r
-                              state data for the key that was pressed.\r
-\r
-  @retval TRUE                Key be pressed matches a registered key.\r
-  @retval FLASE               Match failed.\r
-\r
-**/\r
-BOOLEAN\r
-IsKeyRegistered (\r
-  IN EFI_KEY_DATA  *RegsiteredData,\r
-  IN EFI_KEY_DATA  *InputData\r
-  );\r
-\r
-/**\r
-  Initialize the key state.\r
-\r
-  @param  ConsoleIn     The KEYBOARD_CONSOLE_IN_DEV instance.\r
-  @param  KeyState      A pointer to receive the key state information.\r
-**/\r
-VOID\r
-InitializeKeyState (\r
-  IN  KEYBOARD_CONSOLE_IN_DEV *ConsoleIn,\r
-  OUT EFI_KEY_STATE           *KeyState\r
-  );\r
-\r
-#endif\r