13#define WIN32_NO_STATUS
19 #define ROSDATA static __declspec(allocate(".data"))
22 #pragma data_seg(".data")
23 #define ROSDATA static
25 #define ROSDATA static __attribute__((section(".data")))
35#define KNUMS (KBDNUMPAD | KBDSPECIAL)
36#define KMEXT (KBDEXT | KBDMULTIVK)
173 { 0x10, VK_MEDIA_PREV_TRACK |
KBDEXT },
174 { 0x19, VK_MEDIA_NEXT_TRACK |
KBDEXT },
177 { 0x20, VK_VOLUME_MUTE |
KBDEXT },
178 { 0x21, VK_LAUNCH_APP2 |
KBDEXT },
179 { 0x22, VK_MEDIA_PLAY_PAUSE |
KBDEXT },
180 { 0x24, VK_MEDIA_STOP |
KBDEXT },
181 { 0x2E, VK_VOLUME_DOWN |
KBDEXT },
182 { 0x30, VK_VOLUME_UP |
KBDEXT },
183 { 0x32, VK_BROWSER_HOME |
KBDEXT },
202 { 0x65, VK_BROWSER_SEARCH |
KBDEXT },
203 { 0x66, VK_BROWSER_FAVORITES |
KBDEXT },
204 { 0x67, VK_BROWSER_REFRESH |
KBDEXT },
205 { 0x68, VK_BROWSER_STOP |
KBDEXT },
206 { 0x69, VK_BROWSER_FORWARD |
KBDEXT },
207 { 0x6A, VK_BROWSER_BACK |
KBDEXT },
208 { 0x6B, VK_LAUNCH_APP1 |
KBDEXT },
209 { 0x6C, VK_LAUNCH_MAIL |
KBDEXT },
210 { 0x6D, VK_LAUNCH_MEDIA_SELECT |
KBDEXT },
262 {
VK_BACK, 0, {0x0008, 0x0008, 0x0008, 0x0008, 0x007f, 0x007f} },
263 {
VK_CANCEL, 0, {0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003} },
264 {
VK_ESCAPE, 0, {0x001b, 0x001b, 0x001b, 0x001b, 0x001b, 0x001b} },
267 { VK_OEM_102,
KANALOK, {
'\\',
'|', 0xff91, 0xff91, 0x001c, 0x001c} },
269 {
VK_RETURN, 0, {0x000d, 0x000d, 0x000d, 0x000d, 0x000a, 0x000a} },
270 {
VK_SPACE, 0, {
' ',
' ',
' ',
' ',
' ',
' '} },
276 {
'2',
KANALOK, {
'2',
'@', 0xff8c, 0xff8c,
WCH_NONE,
WCH_NONE, 0x0000, 0x0000} },
277 {
'6',
KANALOK, {
'6',
'^', 0xff75, 0xff6b,
WCH_NONE,
WCH_NONE, 0x001e, 0x001e} },
278 { VK_OEM_MINUS,
KANALOK, {
'-',
'_', 0xff8e, 0xff70,
WCH_NONE,
WCH_NONE, 0x001f, 0x001f} },
284 {
'0',
KANALOK, {
'0',
')', 0xff9c, 0xff66} },
285 {
'1',
KANALOK, {
'1',
'!', 0xff87, 0xff87} },
286 {
'3',
KANALOK, {
'3',
'#', 0xff71, 0xff67} },
287 {
'4',
KANALOK, {
'4',
'$', 0xff73, 0xff69} },
288 {
'5',
KANALOK, {
'5',
'%', 0xff74, 0xff6a} },
289 {
'7',
KANALOK, {
'7',
'&', 0xff94, 0xff6c} },
290 {
'8',
KANALOK, {
'8',
'*', 0xff95, 0xff6d} },
291 {
'9',
KANALOK, {
'9',
'(', 0xff96, 0xff6e} },
323 { VK_OEM_COMMA,
KANALOK, {
',',
'<', 0xff88, 0xff64} },
324 { VK_OEM_PERIOD,
KANALOK, {
'.',
'>', 0xff99, 0xff61} },
325 { VK_OEM_PLUS,
KANALOK, {
'=',
'+', 0xff8d, 0xff8d} },
326 {
VK_TAB, 0, {0x0009, 0x0009, 0x0009, 0x0009} },
327 {
VK_ADD, 0, {
'+',
'+',
'+',
'+'} },
363 { 0x0e,
L"Backspace" },
368 { 0x36,
L"Right Shift" },
372 { 0x3a,
L"Caps Lock" },
384 { 0x46,
L"Scroll Lock" },
397 { 0x53,
L"Num Del" },
398 { 0x54,
L"Sys Req" },
417 { 0x1c,
L"Num Enter" },
418 { 0x1d,
L"Right Control" },
420 { 0x37,
L"Prnt Scrn" },
421 { 0x38,
L"Right Alt" },
422 { 0x45,
L"Num Lock" },
426 { 0x49,
L"Page Up" },
431 { 0x51,
L"Page Down" },
434 { 0x5b,
L"Left Windows" },
435 { 0x5c,
L"Right Windows" },
436 { 0x5d,
L"Application" },
PKBDNLSTABLES WINAPI KbdNlsLayerDescriptor(VOID)
ROSDATA VK_TO_WCHARS4 keypad_numbers[]
ROSDATA VSC_LPWSTR extended_key_names[]
ROSDATA USHORT scancode_to_vk[]
ROSDATA MODIFIERS modifier_bits
ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[]
ROSDATA VSC_LPWSTR key_names[]
ROSDATA KBDNLSTABLES nls_layout_table
ROSDATA VK_F vk_to_function_table[]
ROSDATA VSC_VK extcode0_to_vk[]
ROSDATA VK_TO_WCHAR_TABLE vk_to_wchar_master_table[]
ROSDATA VK_TO_WCHARS8 key_to_chars_8mod[]
ROSDATA VK_TO_WCHARS6 key_to_chars_6mod[]
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_TYPE_TOGGLE
#define KBDNLS_SEND_PARAM_VK
#define KBDNLS_TYPE_NORMAL
PKBDTABLES WINAPI KbdLayerDescriptor()