#include <Library/BaseLib.h>\r
#include <Library/BaseMemoryLib.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_BUFFER_MAX_COUNT 32\r
-#define KEYBOARD_CONSOLE_IN_DEV_SIGNATURE EFI_SIGNATURE_32 ('k', 'k', 'e', 'y')\r
-#define KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE EFI_SIGNATURE_32 ('k', 'c', 'e', 'n')\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
\r
#define TABLE_END 0x0\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
-extern EFI_GUID gSimpleTextInExNotifyGuid;\r
-\r
//\r
// Driver entry point\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