15 #define ROSDATA static __declspec(allocate(".data"))
18 #pragma data_seg(".data")
19 #define ROSDATA static
21 #define ROSDATA static __attribute__((section(".data")))
26#define KNUMS (KBDNUMPAD | KBDSPECIAL)
27#define KMEXT (KBDEXT | KBDMULTIVK)
31 VK_EMPTY,
VK_ESCAPE,
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'0',
35 'Q',
'W',
'E',
'R',
'T',
'Y',
'U',
'I',
'O',
'P',
VK_OEM_4,
VK_OEM_6,
VK_RETURN,
37 'A',
'S',
'D',
'F',
'G',
'H',
'J',
'K',
'L',
VK_OEM_1,
VK_OEM_7,
VK_OEM_3,
39 'Z',
'X',
'C',
'V',
'B',
'N',
'M', VK_OEM_COMMA, VK_OEM_PERIOD,
VK_OEM_2,
43 VK_F1,
VK_F2,
VK_F3,
VK_F4,
VK_F5,
VK_F6,
VK_F7,
VK_F8,
VK_F9,
VK_F10,
54 VK_F13,
VK_F14,
VK_F15,
VK_F16,
VK_F17,
VK_F18,
VK_F19,
VK_F20,
VK_F21,
VK_F22,
VK_F23,
63 { 0x10, VK_MEDIA_PREV_TRACK |
KBDEXT },
64 { 0x19, VK_MEDIA_NEXT_TRACK |
KBDEXT },
67 { 0x20, VK_VOLUME_MUTE |
KBDEXT },
68 { 0x21, VK_LAUNCH_APP2 |
KBDEXT },
69 { 0x22, VK_MEDIA_PLAY_PAUSE |
KBDEXT },
70 { 0x24, VK_MEDIA_STOP |
KBDEXT },
71 { 0x2e, VK_VOLUME_DOWN |
KBDEXT },
72 { 0x30, VK_VOLUME_UP |
KBDEXT },
73 { 0x32, VK_BROWSER_HOME |
KBDEXT },
84 { 0x65, VK_BROWSER_SEARCH |
KBDEXT }, { 0x66, VK_BROWSER_FAVORITES |
KBDEXT },
85 { 0x67, VK_BROWSER_REFRESH |
KBDEXT }, { 0x68, VK_BROWSER_STOP |
KBDEXT },
86 { 0x69, VK_BROWSER_FORWARD |
KBDEXT }, { 0x6a, VK_BROWSER_BACK |
KBDEXT },
87 { 0x6b, VK_LAUNCH_APP1 |
KBDEXT }, { 0x6c, VK_LAUNCH_MAIL |
KBDEXT },
88 { 0x6d, VK_LAUNCH_MEDIA_SELECT |
KBDEXT },
115 {
'0', 0, {
'0',
')' } }, {
'1', 0, {
'1',
'!' } },
116 {
'3', 0, {
'3',
'#' } }, {
'4', 0, {
'4',
'$' } }, {
'5', 0, {
'5',
'%' } },
117 {
'7', 0, {
'7',
'&' } }, {
'8', 0, {
'8',
'*' } }, {
'9', 0, {
'9',
'(' } },
118 {
'A',
CAPLOK, {
'a',
'A' } }, {
'B',
CAPLOK, {
'b',
'B' } }, {
'C',
CAPLOK, {
'c',
'C' } },
119 {
'D',
CAPLOK, {
'd',
'D' } }, {
'E',
CAPLOK, {
'e',
'E' } }, {
'F',
CAPLOK, {
'f',
'F' } },
120 {
'G',
CAPLOK, {
'g',
'G' } }, {
'H',
CAPLOK, {
'h',
'H' } }, {
'I',
CAPLOK, {
'i',
'I' } },
121 {
'J',
CAPLOK, {
'j',
'J' } }, {
'K',
CAPLOK, {
'k',
'K' } }, {
'L',
CAPLOK, {
'l',
'L' } },
122 {
'M',
CAPLOK, {
'm',
'M' } }, {
'N',
CAPLOK, {
'n',
'N' } }, {
'O',
CAPLOK, {
'o',
'O' } },
123 {
'P',
CAPLOK, {
'p',
'P' } }, {
'Q',
CAPLOK, {
'q',
'Q' } }, {
'R',
CAPLOK, {
'r',
'R' } },
124 {
'S',
CAPLOK, {
's',
'S' } }, {
'T',
CAPLOK, {
't',
'T' } }, {
'U',
CAPLOK, {
'u',
'U' } },
125 {
'V',
CAPLOK, {
'v',
'V' } }, {
'W',
CAPLOK, {
'w',
'W' } }, {
'X',
CAPLOK, {
'x',
'X' } },
126 {
'Y',
CAPLOK, {
'y',
'Y' } }, {
'Z',
CAPLOK, {
'z',
'Z' } },
132 { VK_OEM_COMMA, 0, {
',',
'<' } },
133 { VK_OEM_PERIOD, 0, {
'.',
'>' } },
134 { VK_OEM_PLUS, 0, {
'=',
'+' } },
135 {
VK_TAB, 0, {
'\t',
'\t' } },
136 {
VK_ADD, 0, {
'+',
'+' } }, {
VK_DECIMAL, 0, {
'.',
'.' } }, {
VK_DIVIDE, 0, {
'/',
'/' } },
142 {
VK_BACK, 0, { 0x08, 0x08, 0x7f } },
145 {
VK_OEM_4, 0, {
'[',
'{', 0x1b } },
146 {
VK_OEM_5, 0, {
'\\',
'|', 0x1c } },
147 { VK_OEM_102,0, {
'\\',
'|', 0x1c } },
148 {
VK_OEM_6, 0, {
']',
'}', 0x1d } },
155 {
'2', 0, {
'2',
'@',
WCH_NONE, 0x00 } },
156 {
'6', 0, {
'6',
'^',
WCH_NONE, 0x1e } },
157 { VK_OEM_MINUS, 0, {
'-',
'_',
WCH_NONE, 0x1f } },
161#define vk_master(n,x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) }
173 { 0x0e,
L"Backspace" },
178 { 0x36,
L"Right Shift" },
182 { 0x3a,
L"Caps Lock" },
194 { 0x46,
L"Scroll Lock" },
207 { 0x53,
L"Num Del" },
208 { 0x54,
L"Sys Req" },
227 { 0x1c,
L"Num Enter" },
228 { 0x1d,
L"Right Control" },
230 { 0x37,
L"Prnt Scrn" },
231 { 0x38,
L"Right Alt" },
232 { 0x45,
L"Num Lock" },
236 { 0x49,
L"Page Up" },
241 { 0x51,
L"Page Down" },
244 { 0x5b,
L"Left Windows" },
245 { 0x5c,
L"Right Windows" },
246 { 0x5d,
L"Application" },
248 { 0xf2,
L"Hangeul" },
PKBDNLSTABLES WINAPI KbdNlsLayerDescriptor(VOID)
ROSDATA VSC_LPWSTR extended_key_names[]
ROSDATA VK_TO_WCHARS1 keypad_numbers[]
ROSDATA MODIFIERS modifier_bits
ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[]
ROSDATA VSC_LPWSTR key_names[]
ROSDATA VSC_VK extcode0_to_vk[]
ROSDATA VK_TO_WCHAR_TABLE vk_to_wchar_master_table[]
ROSDATA VK_TO_WCHARS3 key_to_chars_3mod[]
ROSDATA USHORT scancode_to_vk[0x80]
ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[]
ROSDATA KBDNLSTABLES nls_tables
ROSDATA VK_F nls_vk_to_f[]
ROSDATA VK_TO_BIT modifier_keys[]
ROSDATA VSC_VK extcode1_to_vk[]
ROSDATA KBDTABLES_FE keyboard_layout_table
#define KBDNLS_SEND_BASE_VK
#define KBDNLS_INDEX_NORMAL
#define KBDNLS_SEND_PARAM_VK
#define KBDNLS_TYPE_NORMAL
PKBDTABLES WINAPI KbdLayerDescriptor()