11#define WIN32_NO_STATUS
18#define ROSDATA static __declspec(allocate(".data"))
21#pragma data_seg(".data")
24#define ROSDATA static __attribute__((section(".data")))
30#define KNUMS KBDNUMPAD|KBDSPECIAL
31#define KMEXT KBDEXT|KBDMULTIVK
40 VK_OEM_MINUS, VK_OEM_PLUS,
VK_BACK,
57 'B',
'N',
'M', VK_OEM_COMMA,
106 { 0x10, VK_MEDIA_PREV_TRACK |
KBDEXT },
107 { 0x19, VK_MEDIA_NEXT_TRACK |
KBDEXT },
109 { 0x20, VK_VOLUME_MUTE |
KBDEXT },
110 { 0x21, VK_LAUNCH_APP2 |
KBDEXT },
111 { 0x22, VK_MEDIA_PLAY_PAUSE |
KBDEXT },
112 { 0x24, VK_MEDIA_STOP |
KBDEXT },
113 { 0x2E, VK_VOLUME_DOWN |
KBDEXT },
114 { 0x30, VK_VOLUME_UP |
KBDEXT },
115 { 0x32, VK_BROWSER_HOME |
KBDEXT },
133 { 0x65, VK_BROWSER_SEARCH |
KBDEXT },
134 { 0x66, VK_BROWSER_FAVORITES |
KBDEXT },
135 { 0x67, VK_BROWSER_REFRESH |
KBDEXT },
136 { 0x68, VK_BROWSER_STOP |
KBDEXT },
137 { 0x69, VK_BROWSER_FORWARD |
KBDEXT },
138 { 0x6A, VK_BROWSER_BACK |
KBDEXT },
139 { 0x6B, VK_LAUNCH_APP1 |
KBDEXT },
140 { 0x6C, VK_LAUNCH_MAIL |
KBDEXT },
141 { 0x6D, VK_LAUNCH_MEDIA_SELECT |
KBDEXT },
167 { VK_OEM_MINUS, 0, {
'-', 0x0a83 } },
168 {
'Q', 0, {0x0acc, 0x0a94 } },
169 {
'W', 0, {0x0ac8, 0x0a90 } },
170 {
'E', 0, {0x0abe, 0x0a86 } },
171 {
'R', 0, {0x0ac0, 0x0a88 } },
172 {
'T', 0, {0x0ac2, 0x0a8a } },
173 {
'Y', 0, {0x0aac, 0x0aad } },
174 {
'U', 0, {0x0ab9, 0x0a99 } },
175 {
'I', 0, {0x0a97, 0x0a98 } },
176 {
'O', 0, {0x0aa6, 0x0aa7 } },
177 {
'P', 0, {0x0a9c, 0x0a9d } },
181 {
'A', 0, {0x0acb, 0x0a93 } },
182 {
'S', 0, {0x0ac7, 0x0a8f } },
183 {
'D', 0, {0x0acd, 0x0a85 } },
184 {
'F', 0, {0x0abf, 0x0a87 } },
185 {
'G', 0, {0x0ac1, 0x0a89 } },
186 {
'H', 0, {0x0aaa, 0x0aab } },
188 {
'K', 0, {0x0a95, 0x0a96 } },
189 {
'L', 0, {0x0aa4, 0x0aa5 } },
192 {
'C', 0, {0x0aae, 0x0aa3 } },
195 {
'N', 0, {0x0ab2, 0x0ab3 } },
196 {
'M', 0, {0x0ab8, 0x0ab6 } },
197 { VK_OEM_COMMA, 0, {
',', 0x0ab7 } },
198 { VK_OEM_PERIOD,0, {
'.',
'{' } },
202 {
VK_TAB, 0, {
'\t',
'\t' } },
203 {
VK_ADD, 0, {
'+',
'+' } },
211 {
'3', 0, {
'3',
WCH_LGTR, 0x0ae9} },
212 {
'4', 0, {
'4',
WCH_LGTR, 0x0aea} },
213 {
'5', 0, {
'5',
WCH_LGTR, 0x0aeb} },
214 {
'6', 0, {
'6',
WCH_LGTR, 0x0aec} },
215 {
'7', 0, {
'7',
WCH_LGTR, 0x0aed} },
216 {
'8', 0, {
'8',
WCH_LGTR, 0x0aee} },
217 {
'9', 0, {
'9',
'(', 0x0aef} },
218 {
'0', 0, {
'0',
')', 0x0ae6} },
219 {
'X', 0, {0x0a82, 0x0a81, 0x0ad0} },
224 {
'1', 0, {
'1', 0x0a8d, 0x0ae7, 0x200d} },
225 {
'2', 0, {
'2', 0x0ac5, 0x0ae8, 0x200c} },
230 { VK_OEM_PLUS, 0, {0x0ac3, 0x0a8b, 0x0ac4,
WCH_NONE, 0x0ae0} },
258#define vk_master(n,x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) }
272 { 0x0e,
L"Backspace" },
277 { 0x36,
L"Right Shift" },
281 { 0x3a,
L"CAPLOK Lock" },
293 { 0x46,
L"Scroll Lock" },
306 { 0x53,
L"Num Del" },
307 { 0x54,
L"Sys Req" },
326 { 0x1c,
L"Num Enter" },
327 { 0x1d,
L"Right Control" },
329 { 0x37,
L"Prnt Scrn" },
330 { 0x38,
L"Right Alt" },
331 { 0x45,
L"Num Lock" },
335 { 0x49,
L"Page Up" },
341 { 0x51,
L"Page Down" },
344 { 0x54,
L"<ReactOS>" },
346 { 0x5b,
L"Left <ReactOS>" },
347 { 0x5c,
L"Right <ReactOS>" },
348 { 0x5d,
L"Application" },
353 {
'3', 1, {0x0acd, 0x0ab0,
WCH_NONE} },
354 {
'4', 1, {0x0ab0, 0x0acd,
WCH_NONE} },
355 {
'5', 1, {0x0a9c, 0x0acd, 0x0a9e } },
356 {
'6', 1, {0x0aa4, 0x0acd, 0x0ab0 } },
357 {
'7', 1, {0x0a95, 0x0acd, 0x0ab7 } },
358 {
'8', 1, {0x0ab6, 0x0acd, 0x0ab0 } },
ROSDATA VSC_LPWSTR extended_key_names[]
ROSDATA USHORT scancode_to_vk[]
ROSDATA VK_TO_WCHARS1 keypad_numbers[]
ROSDATA MODIFIERS modifier_bits
ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[]
ROSDATA VSC_LPWSTR key_names[]
INT WINAPI DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved)
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 VK_TO_WCHARS5 key_to_chars_5mod[]
ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[]
ROSDATA LIGATURE3 Ligature[]
ROSDATA VK_TO_WCHARS6 key_to_chars_6mod[]
ROSDATA VK_TO_BIT modifier_keys[]
ROSDATA VSC_VK extcode1_to_vk[]
ROSDATA KBDTABLES keyboard_layout_table
PKBDTABLES WINAPI KbdLayerDescriptor()