10#define WIN32_NO_STATUS
17#define ROSDATA static __declspec(allocate(".data"))
20#pragma data_seg(".data")
23#define ROSDATA static __attribute__((section(".data")))
29#define KNUMS KBDNUMPAD|KBDSPECIAL
30#define KMEXT KBDEXT|KBDMULTIVK
61 'B',
'N', VK_OEM_COMMA,
109 { 0x10, VK_MEDIA_PREV_TRACK |
KBDEXT },
110 { 0x19, VK_MEDIA_NEXT_TRACK |
KBDEXT },
112 { 0x20, VK_VOLUME_MUTE |
KBDEXT },
113 { 0x21, VK_LAUNCH_APP2 |
KBDEXT },
114 { 0x22, VK_MEDIA_PLAY_PAUSE |
KBDEXT },
115 { 0x24, VK_MEDIA_STOP |
KBDEXT },
116 { 0x2E, VK_VOLUME_DOWN |
KBDEXT },
117 { 0x30, VK_VOLUME_UP |
KBDEXT },
118 { 0x32, VK_BROWSER_HOME |
KBDEXT },
136 { 0x65, VK_BROWSER_SEARCH |
KBDEXT },
137 { 0x66, VK_BROWSER_FAVORITES |
KBDEXT },
138 { 0x67, VK_BROWSER_REFRESH |
KBDEXT },
139 { 0x68, VK_BROWSER_STOP |
KBDEXT },
140 { 0x69, VK_BROWSER_FORWARD |
KBDEXT },
141 { 0x6A, VK_BROWSER_BACK |
KBDEXT },
142 { 0x6B, VK_LAUNCH_APP1 |
KBDEXT },
143 { 0x6C, VK_LAUNCH_MAIL |
KBDEXT },
144 { 0x6D, VK_LAUNCH_MEDIA_SELECT |
KBDEXT },
172 {
'1', 0, {
'&',
'1'} },
177 { VK_OEM_COMMA ,0, {
',',
'?'} },
178 { VK_OEM_PERIOD ,0, {
';',
'.'} },
182 {
VK_TAB ,0, {
'\t',
'\t'} },
183 {
VK_ADD ,0, {
'+',
'+'} },
196 {
'A',
CAPLOK, {
'a',
'A', 0x01} },
197 {
'B',
CAPLOK, {
'b',
'B', 0x02} },
198 {
'C',
CAPLOK, {
'c',
'C', 0x03} },
199 {
'D',
CAPLOK, {
'd',
'D', 0x04} },
200 {
'F',
CAPLOK, {
'f',
'F', 0x06} },
201 {
'G',
CAPLOK, {
'g',
'G', 0x07} },
202 {
'H',
CAPLOK, {
'h',
'H', 0x08} },
203 {
'I',
CAPLOK, {
'i',
'I', 0x09} },
204 {
'J',
CAPLOK, {
'j',
'J', 0x0a} },
205 {
'K',
CAPLOK, {
'k',
'K', 0x0b} },
206 {
'L',
CAPLOK, {
'l',
'L', 0x0c} },
207 {
'M',
CAPLOK, {
'm',
'M', 0x0d} },
208 {
'N',
CAPLOK, {
'n',
'N', 0x0e} },
209 {
'O',
CAPLOK, {
'o',
'O', 0x0f} },
210 {
'P',
CAPLOK, {
'p',
'P', 0x10} },
211 {
'Q',
CAPLOK, {
'q',
'Q', 0x11} },
212 {
'R',
CAPLOK, {
'r',
'R', 0x12} },
213 {
'S',
CAPLOK, {
's',
'S', 0x13} },
214 {
'T',
CAPLOK, {
't',
'T', 0x14} },
215 {
'U',
CAPLOK, {
'u',
'U', 0x15} },
216 {
'V',
CAPLOK, {
'v',
'V', 0x16} },
217 {
'W',
CAPLOK, {
'w',
'W', 0x17} },
218 {
'X',
CAPLOK, {
'x',
'X', 0x18} },
219 {
'Y',
CAPLOK, {
'y',
'Y', 0x19} },
220 {
'Z',
CAPLOK, {
'z',
'Z', 0x1a} },
223 { VK_OEM_102, 0, {
'<',
'>', 0x1c } },
226 {
VK_OEM_7, 0, {0xb2,0xb3, 0x1c } },
235 {
'3' , 0, {
'"',
'3',
WCH_NONE,
'#'} },
236 {
'4' , 0, {
'\'',
'4',
WCH_NONE,
'{'} },
241 { VK_OEM_PLUS,0, {
'=',
'+',
WCH_NONE,
'}'} },
242 {
'E' ,
CAPLOK, {
'e',
'E', 0x05, 0x20ac } },
251 {
'5' , 1 , {
'(',
'5',
WCH_NONE ,
'[' , 0x1b} },
252 {
'6' , 1 , {
'-',
'6',
WCH_NONE ,
'|' , 0x1f} },
253 {
'8' , 1 , {
'_',
'8',
WCH_NONE ,
'\\' , 0x1c} },
273#define vk_master(n,x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) }
284#define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags
347 { 0x0e,
L"Backspace" },
352 { 0x36,
L"Right Shift" },
356 { 0x3a,
L"CAPLOK Lock" },
368 { 0x46,
L"Scroll Lock" },
381 { 0x53,
L"Num Del" },
382 { 0x54,
L"Sys Req" },
401 { 0x1c,
L"Num Enter" },
402 { 0x1d,
L"Right Ctrl" },
404 { 0x37,
L"Prnt Scrn" },
405 { 0x38,
L"Right Alt" },
406 { 0x45,
L"Num Lock" },
410 { 0x49,
L"Page Up" },
416 { 0x51,
L"Page Down" },
419 { 0x54,
L"<ReactOS>" },
421 { 0x56,
L"Left Windows" },
422 { 0x5b,
L"Right Windows" },
427 L"\x005e" L"Circumflex",
#define DEADTRANS(ch, accent, comp, flags)
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[]
ROSDATA DEADKEY deadkey[]
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 DEADKEY_LPWSTR dead_key_names[]
ROSDATA VK_TO_BIT modifier_keys[]
ROSDATA VSC_VK extcode1_to_vk[]
ROSDATA KBDTABLES keyboard_layout_table
PKBDTABLES WINAPI KbdLayerDescriptor()