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 },
168 {
VK_TAB, 0, {
'\t' ,
'\t'} },
169 {
VK_ADD, 0, {
'+' ,
'+' } },
178 {
'1', 0, {
'1', 0x2116,
'!',
'!'} },
179 {
'2', 0, {
'2',
'!',
'@',
'@'} },
180 {
'3', 0, {
'3',
'$',
'#',
'#'} },
181 {
'4', 0, {
'4',
'\"',
'$',
'$'} },
182 {
'5', 0, {
'5',
'%',
'%',
'%'} },
183 {
'7', 0, {
'7', 0x00ad,
'&',
'&'} },
184 {
'8', 0, {
'8',
'*',
'*',
'*'} },
185 {
'9', 0, {
'9',
'(',
'(',
'('} },
186 {
'0', 0, {
'0',
')',
')',
')'} },
187 { VK_OEM_PLUS, 0, {0x0439, 0x0419,
'=',
'+'} },
188 {
'Q',
CAPLOK, {0x0449, 0x0429,
'q',
'Q'} },
189 {
'W',
CAPLOK, {0x0448, 0x0428,
'w',
'W'} },
190 {
'E',
CAPLOK, {0x0435, 0x0415,
'e',
'E'} },
191 {
'R',
CAPLOK, {0x0440, 0x0420,
'r',
'R'} },
192 {
'T',
CAPLOK, {0x0442, 0x0422,
't',
'T'} },
193 {
'Y',
CAPLOK, {0x0443, 0x0423,
'y',
'Y'} },
194 {
'U',
CAPLOK, {0x0438, 0x0418,
'u',
'U'} },
195 {
'I',
CAPLOK, {0x0456, 0x0406,
'i',
'I'} },
196 {
'O',
CAPLOK, {0x043e, 0x041e,
'o',
'O'} },
197 {
'P',
CAPLOK, {0x043f, 0x041f,
'p',
'P'} },
199 {
'A',
CAPLOK, {0x0430, 0x0410,
'a',
'A'} },
200 {
'S',
CAPLOK, {0x0446, 0x0426,
's',
'S'} },
201 {
'D',
CAPLOK, {0x0434, 0x0414,
'd',
'D'} },
202 {
'F',
CAPLOK, {0x0444, 0x0424,
'f',
'F'} },
203 {
'G',
CAPLOK, {0x0491, 0x0490,
'g',
'G'} },
204 {
'H',
CAPLOK, {0x0433, 0x0413,
'h',
'H'} },
205 {
'J',
CAPLOK, {0x0436, 0x0416,
'j',
'J'} },
206 {
'K',
CAPLOK, {0x043a, 0x041a,
'k',
'K'} },
207 {
'L',
CAPLOK, {0x043b, 0x041b,
'l',
'L'} },
209 {
'Z',
CAPLOK, {0x0437, 0x0417,
'z',
'Z'} },
210 {
'X',
CAPLOK, {0x0445, 0x0425,
'x',
'X'} },
211 {
'C',
CAPLOK, {0x0441, 0x0421,
'c',
'C'} },
212 {
'V',
CAPLOK, {0x0412, 0x0412,
'v',
'V'} },
213 {
'B',
CAPLOK, {0x0431, 0x0411,
'b',
'B'} },
214 {
'N',
CAPLOK, {0x043d, 0x041d,
'n',
'N'} },
215 {
'M',
CAPLOK, {0x043c, 0x041c,
'm',
'M'} },
216 { VK_OEM_COMMA,
CAPLOK, {0x0447, 0x0427,
',',
'<'} },
217 { VK_OEM_PERIOD,
CAPLOK, {0x044c, 0x042c,
'.',
'>'} },
218 {
VK_OEM_2, 0, {0x044d, 0x042d,
'/',
'?'} },
223 { VK_OEM_MINUS, 0, {0x0457, 0x0407,
'-',
'_', 0x001f} },
225 {
VK_OEM_5, 0, {
'-',
'=',
'\\',
'|', 0x001c} },
227 { VK_OEM_102,
CAPLOK, {0x0454, 0x0404,
'\\',
'|', 0x001c} },
237 {
'6', 0, {
'6',
'\'',
'^',
'^',
WCH_NONE, 0x001e} },
255#define vk_master(n,x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) }
268 { 0x0e,
L"Backspace" },
273 { 0x36,
L"Right Shift" },
277 { 0x3a,
L"CAPLOK Lock" },
289 { 0x46,
L"Scroll Lock" },
302 { 0x53,
L"Num Del" },
303 { 0x54,
L"Sys Req" },
322 { 0x1c,
L"Num Enter" },
323 { 0x1d,
L"Right Control" },
325 { 0x37,
L"Prnt Scrn" },
326 { 0x38,
L"Right Alt" },
327 { 0x45,
L"Num Lock" },
331 { 0x49,
L"Page Up" },
336 { 0x51,
L"Page Down" },
339 { 0x54,
L"<ReactOS>" },
341 { 0x5b,
L"Left <ReactOS>" },
342 { 0x5c,
L"Right <ReactOS>" },
343 { 0x5d,
L"Application" },
PKBDTABLES WINAPI KbdLayerDescriptor()
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_WCHARS5 key_to_chars_5mod[]
ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[]
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