#ifndef _VIRTUAL_KEYBOARD_H_\r
#define _VIRTUAL_KEYBOARD_H_\r
\r
-\r
#include <Guid/StatusCodeDataTypeId.h>\r
#include <Protocol/DevicePath.h>\r
#include <Protocol/PlatformVirtualKeyboard.h>\r
//\r
// Driver Binding Externs\r
//\r
-extern EFI_DRIVER_BINDING_PROTOCOL gVirtualKeyboardDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL gVirtualKeyboardComponentName;\r
-extern EFI_COMPONENT_NAME2_PROTOCOL gVirtualKeyboardComponentName2;\r
-\r
+extern EFI_DRIVER_BINDING_PROTOCOL gVirtualKeyboardDriverBinding;\r
+extern EFI_COMPONENT_NAME_PROTOCOL gVirtualKeyboardComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL gVirtualKeyboardComponentName2;\r
\r
//\r
// VIRTUAL Keyboard Defines\r
//\r
-#define CHAR_SCANCODE 0xe0\r
-#define CHAR_ESC 0x1b\r
+#define CHAR_SCANCODE 0xe0\r
+#define CHAR_ESC 0x1b\r
\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 500000 // 0.5s\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 500000 // 0.5s\r
\r
-#define QUEUE_MAX_COUNT 32\r
+#define QUEUE_MAX_COUNT 32\r
\r
-#define KEYBOARD_SCAN_CODE_MAX_COUNT 32\r
+#define KEYBOARD_SCAN_CODE_MAX_COUNT 32\r
\r
//\r
// VIRTUAL Keyboard Device Structure\r
//\r
-#define VIRTUAL_KEYBOARD_DEV_SIGNATURE SIGNATURE_32 ('V', 'K', 'B', 'D')\r
-#define VIRTUAL_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE SIGNATURE_32 ('v', 'k', 'c', 'n')\r
+#define VIRTUAL_KEYBOARD_DEV_SIGNATURE SIGNATURE_32 ('V', 'K', 'B', 'D')\r
+#define VIRTUAL_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE SIGNATURE_32 ('v', 'k', 'c', 'n')\r
\r
typedef struct _VIRTUAL_KEYBOARD_CONSOLE_IN_EX_NOTIFY {\r
- UINTN Signature;\r
- EFI_KEY_DATA KeyData;\r
- EFI_KEY_NOTIFY_FUNCTION KeyNotificationFn;\r
- LIST_ENTRY NotifyEntry;\r
+ UINTN Signature;\r
+ EFI_KEY_DATA KeyData;\r
+ EFI_KEY_NOTIFY_FUNCTION KeyNotificationFn;\r
+ LIST_ENTRY NotifyEntry;\r
} VIRTUAL_KEYBOARD_CONSOLE_IN_EX_NOTIFY;\r
\r
typedef struct {\r
- UINTN Front;\r
- UINTN Rear;\r
- EFI_KEY_DATA Buffer[QUEUE_MAX_COUNT];\r
+ UINTN Front;\r
+ UINTN Rear;\r
+ EFI_KEY_DATA Buffer[QUEUE_MAX_COUNT];\r
} SIMPLE_QUEUE;\r
\r
typedef struct {\r
- UINT8 Buffer[KEYBOARD_SCAN_CODE_MAX_COUNT];\r
- UINTN Head;\r
- UINTN Tail;\r
+ UINT8 Buffer[KEYBOARD_SCAN_CODE_MAX_COUNT];\r
+ UINTN Head;\r
+ UINTN Tail;\r
} SCAN_CODE_QUEUE;\r
\r
typedef struct {\r
- UINTN Signature;\r
- EFI_HANDLE Handle;\r
- PLATFORM_VIRTUAL_KBD_PROTOCOL *PlatformVirtual;\r
- EFI_SIMPLE_TEXT_INPUT_PROTOCOL SimpleTextIn;\r
- EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL SimpleTextInputEx;\r
+ UINTN Signature;\r
+ EFI_HANDLE Handle;\r
+ PLATFORM_VIRTUAL_KBD_PROTOCOL *PlatformVirtual;\r
+ EFI_SIMPLE_TEXT_INPUT_PROTOCOL SimpleTextIn;\r
+ EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL SimpleTextInputEx;\r
\r
//\r
// Buffer storing EFI_KEY_DATA\r
//\r
- SIMPLE_QUEUE Queue;\r
- SIMPLE_QUEUE QueueForNotify;\r
+ SIMPLE_QUEUE Queue;\r
+ SIMPLE_QUEUE QueueForNotify;\r
\r
//\r
// Notification Function List\r
//\r
- LIST_ENTRY NotifyList;\r
- EFI_EVENT KeyNotifyProcessEvent;\r
- EFI_EVENT TimerEvent;\r
+ LIST_ENTRY NotifyList;\r
+ EFI_EVENT KeyNotifyProcessEvent;\r
+ EFI_EVENT TimerEvent;\r
} VIRTUAL_KEYBOARD_DEV;\r
\r
#define VIRTUAL_KEYBOARD_DEV_FROM_THIS(a) CR (a, VIRTUAL_KEYBOARD_DEV, SimpleTextIn, VIRTUAL_KEYBOARD_DEV_SIGNATURE)\r
//\r
// Global Variables\r
//\r
-extern EFI_DRIVER_BINDING_PROTOCOL gVirtualKeyboardDriverBinding;\r
+extern EFI_DRIVER_BINDING_PROTOCOL gVirtualKeyboardDriverBinding;\r
\r
//\r
// Driver Binding Protocol functions\r
OUT CHAR16 **DriverName\r
);\r
\r
-\r
/**\r
Retrieves a Unicode string that is the user readable name of the controller\r
that is being managed by a driver.\r
EFI_STATUS\r
EFIAPI\r
VirtualKeyboardComponentNameGetControllerName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_HANDLE ChildHandle OPTIONAL,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **ControllerName\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **ControllerName\r
);\r
\r
-\r
//\r
// Simple Text Input Protocol functions\r
//\r
+\r
/**\r
Reset the Keyboard and do BAT test for it, if (ExtendedVerification == TRUE) then do some extra keyboard validations.\r
\r
//\r
// Private worker functions\r
//\r
+\r
/**\r
Free keyboard notify list.\r
\r
**/\r
EFI_STATUS\r
VirtualKeyboardFreeNotifyList (\r
- IN OUT LIST_ENTRY *ListHead\r
+ IN OUT LIST_ENTRY *ListHead\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
VirtualKeyboardTimerHandler (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
KeyNotifyProcessHandler (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
VirtualKeyboardReadKeyStrokeEx (\r
- IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,\r
- OUT EFI_KEY_DATA *KeyData\r
+ IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,\r
+ OUT EFI_KEY_DATA *KeyData\r
);\r
\r
#endif /* _VIRTUAL_KEYBOARD_H_ */\r