16 #define ROSDATA static __declspec(allocate(".data"))
19 #pragma data_seg(".data")
20 #define ROSDATA static
22 #define ROSDATA static __attribute__((section(".data")))
27#define VK_OEM_RESERVED_EC 0xec
29#define KNUMS (KBDNUMPAD | KBDSPECIAL)
30#define KMEXT (KBDEXT | KBDMULTIVK)
42 'J',
'K',
'L', VK_OEM_PLUS,
45 'B',
'N',
'M', VK_OEM_COMMA,
68 { 0x10, VK_MEDIA_PREV_TRACK |
KBDEXT },
69 { 0x19, VK_MEDIA_NEXT_TRACK |
KBDEXT },
72 { 0x20, VK_VOLUME_MUTE |
KBDEXT },
73 { 0x21, VK_LAUNCH_APP2 |
KBDEXT },
74 { 0x22, VK_MEDIA_PLAY_PAUSE |
KBDEXT },
75 { 0x24, VK_MEDIA_STOP |
KBDEXT },
76 { 0x2E, VK_VOLUME_DOWN |
KBDEXT },
77 { 0x30, VK_VOLUME_UP |
KBDEXT },
78 { 0x32, VK_BROWSER_HOME |
KBDEXT },
97 { 0x65, VK_BROWSER_SEARCH |
KBDEXT },
98 { 0x66, VK_BROWSER_FAVORITES |
KBDEXT },
99 { 0x67, VK_BROWSER_REFRESH |
KBDEXT },
100 { 0x68, VK_BROWSER_STOP |
KBDEXT },
101 { 0x69, VK_BROWSER_FORWARD |
KBDEXT },
102 { 0x6A, VK_BROWSER_BACK |
KBDEXT },
103 { 0x6B, VK_LAUNCH_APP1 |
KBDEXT },
104 { 0x6C, VK_LAUNCH_MAIL |
KBDEXT },
105 { 0x6D, VK_LAUNCH_MEDIA_SELECT |
KBDEXT },
139 {
VK_BACK, 0, {0x0008, 0x0008, 0x0008, 0x0008, 0x007F, 0x007F} },
140 {
VK_CANCEL, 0, {0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003} },
141 {
VK_ESCAPE, 0, {0x001B, 0x001B, 0x001B, 0x001B, 0x001B, 0x001B} },
144 { VK_OEM_102,
KANALOK, {
'\\',
'_', 0xFF9B, 0xFF9B, 0x001C, 0x001C} },
146 {
VK_RETURN, 0, {0x000D, 0x000D, 0x000D, 0x000D, 0x000A, 0x000A} },
147 {
VK_SPACE, 0, {0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020} },
152 {
'2',
KANALOK, {
'2',
'"', 0xFF8C, 0xFF8C,
WCH_NONE,
WCH_NONE, 0x0000, 0x0000} },
153 {
'6',
KANALOK, {
'6',
'&', 0xFF75, 0xFF6B,
WCH_NONE,
WCH_NONE, 0x001E, 0x001E} },
154 { VK_OEM_MINUS,
KANALOK, {
'-',
'=', 0xFF8E, 0xFF8E,
WCH_NONE,
WCH_NONE, 0x001F, 0x001F} },
160 {
'1',
KANALOK, {
'1',
'!', 0xFF87, 0xFF87} },
161 {
'3',
KANALOK, {
'3',
'#', 0xFF71, 0xFF67} },
162 {
'4',
KANALOK, {
'4',
'$', 0xFF73, 0xFF69} },
163 {
'5',
KANALOK, {
'5',
'%', 0xFF74, 0xFF6A} },
164 {
'7',
KANALOK, {
'7',
'\'', 0xFF94, 0xFF6C} },
165 {
'8',
KANALOK, {
'8',
'(', 0xFF95, 0xFF6D} },
166 {
'9',
KANALOK, {
'9',
')', 0xFF96, 0xFF6E} },
197 {
VK_OEM_8, 0, {
',',
',',
',',
','} },
198 { VK_OEM_COMMA,
KANALOK, {
',',
'<', 0xFF88, 0xFF64} },
199 { VK_OEM_PERIOD,
KANALOK, {
'.',
'>', 0xFF99, 0xFF61} },
200 { VK_OEM_PLUS,
KANALOK, {
';',
'+', 0xFF9A, 0xFF9A} },
201 {
VK_TAB, 0, {0x0009, 0x0009, 0x0009, 0x0009} },
202 {
VK_ADD, 0, {
'+',
'+',
'+',
'+'} },
224#define vk_master(n, x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) }
236 { 0x0E,
L"Backspace" },
240 { 0x29,
L"\x534A\u89D2/\u5168\u89D2" },
242 { 0x36,
L"Right Shift" },
246 { 0x3A,
L"Caps Lock" },
258 { 0x46,
L"Scroll Lock" },
271 { 0x53,
L"Num Del" },
272 { 0x54,
L"Sys Req" },
275 { 0x70,
L"\u3072\u3089\u304C\u306A" },
276 { 0x79,
L"\u5909\u63DB" },
277 { 0x7B,
L"\u7121\u5909\u63DB" },
283 { 0x1C,
L"Num Enter" },
284 { 0x1D,
L"Right Control" },
286 { 0x37,
L"Prnt Scrn" },
287 { 0x38,
L"Right Alt" },
288 { 0x45,
L"Num Lock" },
292 { 0x49,
L"Page Up" },
297 { 0x51,
L"Page Down" },
300 { 0x5B,
L"Left Windows" },
301 { 0x5C,
L"Right Windows" },
302 { 0x5D,
L"Application" },
330#define PROC(i,p) { i, p }
331#define NLSNO PROC(KBDNLS_NOEVENT,0)
345 { {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0} } },
351 { {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0} } },
357 { {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0} } },
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 VK_F vk_to_function[]
ROSDATA VSC_VK extcode0_to_vk[]
ROSDATA KBDNLSTABLES NlsTables
#define VK_OEM_RESERVED_EC
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 VK_DBE_ALPHANUMERIC
#define KBDNLS_INDEX_NORMAL
#define KBDNLS_TYPE_TOGGLE
#define KBDNLS_SEND_PARAM_VK
#define KBDNLS_TYPE_NORMAL
PKBDTABLES WINAPI KbdLayerDescriptor()