mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-29 08:34:07 +02:00
The unicode char and shift unicode char should be unicode but not ascii char.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8597 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
5e895e6af6
commit
6731962674
@ -16,7 +16,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
#include "Ps2Keyboard.h"
|
#include "Ps2Keyboard.h"
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
UINT8 ScanCode;
|
UINT8 ScanCode; ///< follows value defined in Scan Code Set1
|
||||||
UINT16 EfiScanCode;
|
UINT16 EfiScanCode;
|
||||||
CHAR16 UnicodeChar;
|
CHAR16 UnicodeChar;
|
||||||
CHAR16 ShiftUnicodeChar;
|
CHAR16 ShiftUnicodeChar;
|
||||||
@ -26,530 +26,530 @@ ConvertKeyboardScanCodeToEfiKey[] = {
|
|||||||
{
|
{
|
||||||
0x01, // Escape
|
0x01, // Escape
|
||||||
SCAN_ESC,
|
SCAN_ESC,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x02,
|
0x02,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'1',
|
L'1',
|
||||||
'!'
|
L'!'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x03,
|
0x03,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'2',
|
L'2',
|
||||||
'@'
|
L'@'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x04,
|
0x04,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'3',
|
L'3',
|
||||||
'#'
|
L'#'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x05,
|
0x05,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'4',
|
L'4',
|
||||||
'$'
|
L'$'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x06,
|
0x06,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'5',
|
L'5',
|
||||||
'%'
|
L'%'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x07,
|
0x07,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'6',
|
L'6',
|
||||||
'^'
|
L'^'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x08,
|
0x08,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'7',
|
L'7',
|
||||||
'&'
|
L'&'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x09,
|
0x09,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'8',
|
L'8',
|
||||||
'*'
|
L'*'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x0A,
|
0x0A,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'9',
|
L'9',
|
||||||
'('
|
L'('
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x0B,
|
0x0B,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'0',
|
L'0',
|
||||||
')'
|
L')'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x0C,
|
0x0C,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'-',
|
L'-',
|
||||||
'_'
|
L'_'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x0D,
|
0x0D,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'=',
|
L'=',
|
||||||
'+'
|
L'+'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x0E, // BackSpace
|
0x0E, // BackSpace
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x08,
|
0x0008,
|
||||||
0x08
|
0x0008
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x0F, // Tab
|
0x0F, // Tab
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x09,
|
0x0009,
|
||||||
0x09
|
0x0009
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x10,
|
0x10,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'q',
|
L'q',
|
||||||
'Q'
|
L'Q'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x11,
|
0x11,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'w',
|
L'w',
|
||||||
'W'
|
L'W'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x12,
|
0x12,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'e',
|
L'e',
|
||||||
'E'
|
L'E'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x13,
|
0x13,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'r',
|
L'r',
|
||||||
'R'
|
L'R'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x14,
|
0x14,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
't',
|
L't',
|
||||||
'T'
|
L'T'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x15,
|
0x15,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'y',
|
L'y',
|
||||||
'Y'
|
L'Y'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x16,
|
0x16,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'u',
|
L'u',
|
||||||
'U'
|
L'U'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x17,
|
0x17,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'i',
|
L'i',
|
||||||
'I'
|
L'I'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x18,
|
0x18,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'o',
|
L'o',
|
||||||
'O'
|
L'O'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x19,
|
0x19,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'p',
|
L'p',
|
||||||
'P'
|
L'P'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x1a,
|
0x1a,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'[',
|
L'[',
|
||||||
'{'
|
L'{'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x1b,
|
0x1b,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
']',
|
L']',
|
||||||
'}'
|
L'}'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x1c, // Enter
|
0x1c, // Enter
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x0d,
|
0x000d,
|
||||||
0x0d
|
0x000d
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x1d,
|
0x1d,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x1e,
|
0x1e,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'a',
|
L'a',
|
||||||
'A'
|
L'A'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x1f,
|
0x1f,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
's',
|
L's',
|
||||||
'S'
|
L'S'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x20,
|
0x20,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'd',
|
L'd',
|
||||||
'D'
|
L'D'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x21,
|
0x21,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'f',
|
L'f',
|
||||||
'F'
|
L'F'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x22,
|
0x22,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'g',
|
L'g',
|
||||||
'G'
|
L'G'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x23,
|
0x23,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'h',
|
L'h',
|
||||||
'H'
|
L'H'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x24,
|
0x24,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'j',
|
L'j',
|
||||||
'J'
|
L'J'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x25,
|
0x25,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'k',
|
L'k',
|
||||||
'K'
|
L'K'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x26,
|
0x26,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'l',
|
L'l',
|
||||||
'L'
|
L'L'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x27,
|
0x27,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
';',
|
L';',
|
||||||
':'
|
L':'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x28,
|
0x28,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'\'',
|
L'\'',
|
||||||
'"'
|
L'"'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x29,
|
0x29,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'`',
|
L'`',
|
||||||
'~'
|
L'~'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x2a, // Left Shift
|
0x2a, // Left Shift
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x2b,
|
0x2b,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'\\',
|
L'\\',
|
||||||
'|'
|
L'|'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x2c,
|
0x2c,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'z',
|
L'z',
|
||||||
'Z'
|
L'Z'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x2d,
|
0x2d,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'x',
|
L'x',
|
||||||
'X'
|
L'X'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x2e,
|
0x2e,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'c',
|
L'c',
|
||||||
'C'
|
L'C'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x2f,
|
0x2f,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'v',
|
L'v',
|
||||||
'V'
|
L'V'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x30,
|
0x30,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'b',
|
L'b',
|
||||||
'B'
|
L'B'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x31,
|
0x31,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'n',
|
L'n',
|
||||||
'N'
|
L'N'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x32,
|
0x32,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'm',
|
L'm',
|
||||||
'M'
|
L'M'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x33,
|
0x33,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
',',
|
L',',
|
||||||
'<'
|
L'<'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x34,
|
0x34,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'.',
|
L'.',
|
||||||
'>'
|
L'>'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x35,
|
0x35,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'/',
|
L'/',
|
||||||
'?'
|
L'?'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x36, //Right Shift
|
0x36, //Right Shift
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x37, // Numeric Keypad *
|
0x37, // Numeric Keypad *
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'*',
|
L'*',
|
||||||
'*'
|
L'*'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x38, //Left Alt/Extended Right Alt
|
0x38, //Left Alt/Extended Right Alt
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x39,
|
0x39,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
' ',
|
L' ',
|
||||||
' '
|
L' '
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x3A, //CapsLock
|
0x3A, //CapsLock
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x3B,
|
0x3B,
|
||||||
SCAN_F1,
|
SCAN_F1,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x3C,
|
0x3C,
|
||||||
SCAN_F2,
|
SCAN_F2,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x3D,
|
0x3D,
|
||||||
SCAN_F3,
|
SCAN_F3,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x3E,
|
0x3E,
|
||||||
SCAN_F4,
|
SCAN_F4,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x3F,
|
0x3F,
|
||||||
SCAN_F5,
|
SCAN_F5,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x40,
|
0x40,
|
||||||
SCAN_F6,
|
SCAN_F6,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x41,
|
0x41,
|
||||||
SCAN_F7,
|
SCAN_F7,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x42,
|
0x42,
|
||||||
SCAN_F8,
|
SCAN_F8,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x43,
|
0x43,
|
||||||
SCAN_F9,
|
SCAN_F9,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x44,
|
0x44,
|
||||||
SCAN_F10,
|
SCAN_F10,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x45, // NumLock
|
0x45, // NumLock
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x46, // ScrollLock
|
0x46, // ScrollLock
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x47,
|
0x47,
|
||||||
SCAN_HOME,
|
SCAN_HOME,
|
||||||
'7',
|
L'7',
|
||||||
'7'
|
L'7'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x48,
|
0x48,
|
||||||
SCAN_UP,
|
SCAN_UP,
|
||||||
'8',
|
L'8',
|
||||||
'8'
|
L'8'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x49,
|
0x49,
|
||||||
SCAN_PAGE_UP,
|
SCAN_PAGE_UP,
|
||||||
'9',
|
L'9',
|
||||||
'9'
|
L'9'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x4a,
|
0x4a,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'-',
|
L'-',
|
||||||
'-'
|
L'-'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x4b,
|
0x4b,
|
||||||
SCAN_LEFT,
|
SCAN_LEFT,
|
||||||
'4',
|
L'4',
|
||||||
'4'
|
L'4'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x4c, // Numeric Keypad 5
|
0x4c, // Numeric Keypad 5
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'5',
|
L'5',
|
||||||
'5'
|
L'5'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x4d,
|
0x4d,
|
||||||
SCAN_RIGHT,
|
SCAN_RIGHT,
|
||||||
'6',
|
L'6',
|
||||||
'6'
|
L'6'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x4e,
|
0x4e,
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
'+',
|
L'+',
|
||||||
'+'
|
L'+'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x4f,
|
0x4f,
|
||||||
SCAN_END,
|
SCAN_END,
|
||||||
'1',
|
L'1',
|
||||||
'1'
|
L'1'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x50,
|
0x50,
|
||||||
SCAN_DOWN,
|
SCAN_DOWN,
|
||||||
'2',
|
L'2',
|
||||||
'2'
|
L'2'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x51,
|
0x51,
|
||||||
SCAN_PAGE_DOWN,
|
SCAN_PAGE_DOWN,
|
||||||
'3',
|
L'3',
|
||||||
'3'
|
L'3'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x52,
|
0x52,
|
||||||
SCAN_INSERT,
|
SCAN_INSERT,
|
||||||
'0',
|
L'0',
|
||||||
'0'
|
L'0'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x53,
|
0x53,
|
||||||
SCAN_DELETE,
|
SCAN_DELETE,
|
||||||
'.',
|
L'.',
|
||||||
'.'
|
L'.'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x57,
|
0x57,
|
||||||
SCAN_F11,
|
SCAN_F11,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x58,
|
0x58,
|
||||||
SCAN_F12,
|
SCAN_F12,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x5B, //Left LOGO
|
0x5B, //Left LOGO
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x5C, //Right LOGO
|
0x5C, //Right LOGO
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0x5D, //Menu key
|
0x5D, //Menu key
|
||||||
SCAN_NULL,
|
SCAN_NULL,
|
||||||
0x00,
|
0x0000,
|
||||||
0x00
|
0x0000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
TABLE_END,
|
TABLE_END,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user