0x0000\r
}, \r
{\r
- 0x1D45, //Pause key\r
+ SCANCODE_PAUSE_MAKE, //Pause key\r
SCAN_PAUSE,\r
0x0000,\r
0x0000\r
LIST_ENTRY *Link;\r
KEYBOARD_CONSOLE_IN_EX_NOTIFY *CurrentNotify;\r
//\r
- // 4 bytes most\r
+ // 6 bytes most\r
//\r
- UINT8 ScancodeArr[4];\r
+ UINT8 ScancodeArr[6];\r
UINT32 ScancodeArrPos;\r
\r
//\r
//\r
if (ScancodeArr[ScancodeArrPos] == SCANCODE_EXTENDED1) {\r
Extended1 = TRUE;\r
- Status = GetScancodeBufHead (&ConsoleIn->ScancodeQueue, 2, ScancodeArr);\r
- ScancodeArrPos = 1;\r
-\r
- if (EFI_ERROR (Status)) {\r
- return ;\r
- }\r
-\r
- Status = GetScancodeBufHead (&ConsoleIn->ScancodeQueue, 3, ScancodeArr);\r
- ScancodeArrPos = 2;\r
-\r
+ //\r
+ // Try to read the whole bytes of scancode for PAUSE key\r
+ //\r
+ Status = GetScancodeBufHead (&ConsoleIn->ScancodeQueue, 6, ScancodeArr);\r
+ ScancodeArrPos = 5;\r
if (EFI_ERROR (Status)) {\r
return ;\r
}\r
#define SCANCODE_SYS_REQ_MAKE 0x37\r
#define SCANCODE_MAX_MAKE 0x60\r
\r
-#define SCANCODE_PAUSE_MAKE 0x1D45\r
+#define SCANCODE_PAUSE_MAKE 0x9DC5 // The last two bytes of scancode for PAUSE key\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