9#ifndef _EFI_KEYBOARD_H_
10#define _EFI_KEYBOARD_H_
14#define USB_KEYBOARD_KEY_COUNT 105
16#define USB_KEYBOARD_LANGUAGE_STR_LEN 5
17#define USB_KEYBOARD_DESCRIPTION_STR_LEN (16 + 1)
37 UINT32 LayoutDescriptorStringOffset;
38 UINT8 DescriptorCount;
40 UINT16 DescriptionCount;
41 CHAR16 Language[USB_KEYBOARD_LANGUAGE_STR_LEN];
43 CHAR16 DescriptionString[USB_KEYBOARD_DESCRIPTION_STR_LEN];
VOID EFIAPI USBKeyboardRepeatHandler(IN EFI_EVENT Event, IN VOID *Context)
EFI_STATUS EFIAPI KeyboardHandler(IN VOID *Data, IN UINTN DataLength, IN VOID *Context, IN UINT32 Result)
VOID SetKeyLED(IN USB_KB_DEV *UsbKeyboardDevice)
VOID EFIAPI USBKeyboardRecoveryHandler(IN EFI_EVENT Event, IN VOID *Context)
VOID DestroyQueue(IN OUT USB_SIMPLE_QUEUE *Queue)
EFI_STATUS InitUSBKeyboard(IN OUT USB_KB_DEV *UsbKeyboardDevice)
EFI_STATUS Dequeue(IN OUT USB_SIMPLE_QUEUE *Queue, OUT VOID *Item, IN UINTN ItemSize)
VOID ReleaseKeyboardLayoutResources(IN OUT USB_KB_DEV *UsbKeyboardDevice)
EFI_STATUS USBParseKey(IN OUT USB_KB_DEV *UsbKeyboardDevice, OUT UINT8 *KeyCode)
VOID InitQueue(IN OUT USB_SIMPLE_QUEUE *Queue, IN UINTN ItemSize)
VOID Enqueue(IN OUT USB_SIMPLE_QUEUE *Queue, IN VOID *Item, IN UINTN ItemSize)
VOID InitializeKeyState(IN USB_KB_DEV *UsbKeyboardDevice, OUT EFI_KEY_STATE *KeyState)
BOOLEAN IsQueueFull(IN USB_SIMPLE_QUEUE *Queue)
BOOLEAN IsUSBKeyboard(IN EFI_USB_IO_PROTOCOL *UsbIo)
EFI_STATUS UsbKeyCodeToEfiInputKey(IN USB_KB_DEV *UsbKeyboardDevice, IN UINT8 KeyCode, OUT EFI_KEY_DATA *KeyData)
EFI_STATUS InitKeyboardLayout(OUT USB_KB_DEV *UsbKeyboardDevice)
BOOLEAN IsQueueEmpty(IN USB_SIMPLE_QUEUE *Queue)