source: trunk/src/dinput/keys.h@ 1633

Last change on this file since 1633 was 1633, checked in by sandervl, 26 years ago

Creation of initial Wine Port (991031)

File size: 35.9 KB
Line 
1/********************************************************************/
2/* Table to translate from a PM scancode to a general Windows vkey, */
3/* left-right specific Windows vkey or and extended key flag. */
4/* */
5/* NOTE: Windows uses different vkeys for the numpad depending on */
6/* numlock state. This table assumes numlock is ON. To map */
7/* this vkey to it's numlock OFF equivalent, use the table */
8/* 'abNumlockWinVKeyToWinVKey' below. */
9/********************************************************************/
10BYTE abPMScanToWinVKey[256][3] =
11/****************************************************************************/
12/* Scancode * General vkey * Specific vkey * Ext */
13/****************************************************************************/
14/* 0x00 */ { 0x00, 0x00, FALSE
15/* 0x01 PMSCAN_ESC */ , VK_ESCAPE_W, VK_ESCAPE_W, FALSE
16/* 0x02 PMSCAN_ONE */ , VK_1_W, VK_1_W, FALSE
17/* 0x03 PMSCAN_TWO */ , VK_2_W, VK_2_W, FALSE
18/* 0x04 PMSCAN_THREE */ , VK_3_W, VK_3_W, FALSE
19/* 0x05 PMSCAN_FOUR */ , VK_4_W, VK_4_W, FALSE
20/* 0x06 PMSCAN_FIVE */ , VK_5_W, VK_5_W, FALSE
21/* 0x07 PMSCAN_SIX */ , VK_6_W, VK_6_W, FALSE
22/* 0x08 PMSCAN_SEVEN */ , VK_7_W, VK_7_W, FALSE
23/* 0x09 PMSCAN_EIGHT */ , VK_8_W, VK_8_W, FALSE
24/* 0x0A PMSCAN_NINE */ , VK_9_W, VK_9_W, FALSE
25/* 0x0B PMSCAN_ZERO */ , VK_0_W, VK_0_W, FALSE
26/* 0x0C PMSCAN_HYPHEN */ , VK_HYPHEN_W, VK_HYPHEN_W, FALSE
27/* 0x0D PMSCAN_EQUAL */ , VK_EQUAL_W, VK_EQUAL_W, FALSE
28/* 0x0E PMSCAN_BACKSPACE */ , VK_BACK_W, VK_BACK_W, FALSE
29/* 0x0F PMSCAN_TAB */ , VK_TAB_W, VK_TAB_W, FALSE
30/* 0x10 PMSCAN_Q */ , VK_Q_W, VK_Q_W, FALSE
31/* 0x11 PMSCAN_W */ , VK_W_W, VK_W_W, FALSE
32/* 0x12 PMSCAN_E */ , VK_E_W, VK_E_W, FALSE
33/* 0x13 PMSCAN_R */ , VK_R_W, VK_R_W, FALSE
34/* 0x14 PMSCAN_T */ , VK_T_W, VK_T_W, FALSE
35/* 0x15 PMSCAN_Y */ , VK_Y_W, VK_Y_W, FALSE
36/* 0x16 PMSCAN_U */ , VK_U_W, VK_U_W, FALSE
37/* 0x17 PMSCAN_I */ , VK_I_W, VK_I_W, FALSE
38/* 0x18 PMSCAN_O */ , VK_O_W, VK_O_W, FALSE
39/* 0x19 PMSCAN_P */ , VK_P_W, VK_P_W, FALSE
40/* 0x1A PMSCAN_BRACKETLEFT */ , VK_BRACKETLEFT_W, VK_BRACKETLEFT_W, FALSE
41/* 0x1B PMSCAN_BRACKETRIGHT */ , VK_BRACKETRIGHT_W, VK_BRACKETRIGHT_W, FALSE
42/* 0x1C PMSCAN_ENTER */ , VK_RETURN_W, VK_RETURN_W, FALSE
43/* 0x1D PMSCAN_CTRLLEFT */ , VK_CONTROL_W, VK_LCONTROL_W, FALSE
44/* 0x1E PMSCAN_A */ , VK_A_W, VK_A_W, FALSE
45/* 0x1F PMSCAN_S */ , VK_S_W, VK_S_W, FALSE
46/* 0x20 PMSCAN_D */ , VK_D_W, VK_D_W, FALSE
47/* 0x21 PMSCAN_F */ , VK_F_W, VK_F_W, FALSE
48/* 0x22 PMSCAN_G */ , VK_G_W, VK_G_W, FALSE
49/* 0x23 PMSCAN_H */ , VK_H_W, VK_H_W, FALSE
50/* 0x24 PMSCAN_J */ , VK_J_W, VK_J_W, FALSE
51/* 0x25 PMSCAN_K */ , VK_K_W, VK_K_W, FALSE
52/* 0x26 PMSCAN_L */ , VK_L_W, VK_L_W, FALSE
53/* 0x27 PMSCAN_SEMICOLON */ , VK_SEMICOLON_W, VK_SEMICOLON_W, FALSE
54/* 0x28 PMSCAN_QUOTESINGLE */ , VK_QUOTESINGLE_W, VK_QUOTESINGLE_W, FALSE
55/* 0x29 PMSCAN_GRAVE */ , VK_GRAVE_W, VK_GRAVE_W, FALSE
56/* 0x2A PMSCAN_SHIFTLEFT */ , VK_SHIFT_W, VK_LSHIFT_W, FALSE
57/* 0x2B PMSCAN_BACKSLASH */ , VK_BACKSLASH_W, VK_BACKSLASH_W, FALSE
58/* 0x2C PMSCAN_Z */ , VK_Z_W, VK_Z_W, FALSE
59/* 0x2D PMSCAN_X */ , VK_X_W, VK_X_W, FALSE
60/* 0x2E PMSCAN_C */ , VK_C_W, VK_C_W, FALSE
61/* 0x2F PMSCAN_V */ , VK_V_W, VK_V_W, FALSE
62/* 0x30 PMSCAN_B */ , VK_B_W, VK_B_W, FALSE
63/* 0x31 PMSCAN_N */ , VK_N_W, VK_N_W, FALSE
64/* 0x32 PMSCAN_M */ , VK_M_W, VK_M_W, FALSE
65/* 0x33 PMSCAN_COMMA */ , VK_COMMA_W, VK_COMMA_W, FALSE
66/* 0x34 PMSCAN_PERIOD */ , VK_PERIOD_W, VK_PERIOD_W, FALSE
67/* 0x35 PMSCAN_SLASH */ , VK_SLASH_W, VK_SLASH_W, FALSE
68/* 0x36 PMSCAN_SHIFTRIGHT */ , VK_SHIFT_W, VK_RSHIFT_W, FALSE
69/* 0x37 PMSCAN_PADASTERISK */ , VK_MULTIPLY_W, VK_MULTIPLY_W, FALSE
70/* 0x38 PMSCAN_ALTLEFT */ , VK_MENU_W, VK_LMENU_W, FALSE
71/* 0x39 PMSCAN_SPACE */ , VK_SPACE_W, VK_SPACE_W, FALSE
72/* 0x3A PMSCAN_CAPSLOCK */ , VK_CAPITAL_W, VK_CAPITAL_W, FALSE
73/* 0x3B PMSCAN_F1 */ , VK_F1_W, VK_F1_W, FALSE
74/* 0x3C PMSCAN_F2 */ , VK_F2_W, VK_F2_W, FALSE
75/* 0x3D PMSCAN_F3 */ , VK_F3_W, VK_F3_W, FALSE
76/* 0x3E PMSCAN_F4 */ , VK_F4_W, VK_F4_W, FALSE
77/* 0x3F PMSCAN_F5 */ , VK_F5_W, VK_F5_W, FALSE
78/* 0x40 PMSCAN_F6 */ , VK_F6_W, VK_F6_W, FALSE
79/* 0x41 PMSCAN_F7 */ , VK_F7_W, VK_F7_W, FALSE
80/* 0x42 PMSCAN_F8 */ , VK_F8_W, VK_F8_W, FALSE
81/* 0x43 PMSCAN_F9 */ , VK_F9_W, VK_F9_W, FALSE
82/* 0x44 PMSCAN_F10 */ , VK_F10_W, VK_F10_W, FALSE
83/* 0x45 PMSCAN_NUMLOCK */ , VK_NUMLOCK_W, VK_NUMLOCK_W, TRUE
84/* 0x46 PMSCAN_SCROLLLOCK */ , VK_SCROLL_W, VK_SCROLL_W, FALSE
85/* 0x47 PMSCAN_PAD7 */ , VK_NUMPAD7_W, VK_NUMPAD7_W, FALSE
86/* 0x48 PMSCAN_PAD8 */ , VK_NUMPAD8_W, VK_NUMPAD8_W, FALSE
87/* 0x49 PMSCAN_PAD9 */ , VK_NUMPAD9_W, VK_NUMPAD9_W, FALSE
88/* 0x4A PMSCAN_PADMINUS */ , VK_SUBTRACT_W, VK_SUBTRACT_W, FALSE
89/* 0x4B PMSCAN_PAD4 */ , VK_NUMPAD4_W, VK_NUMPAD4_W, FALSE
90/* 0x4C PMSCAN_PAD5 */ , VK_NUMPAD5_W, VK_NUMPAD5_W, FALSE
91/* 0x4D PMSCAN_PAD6 */ , VK_NUMPAD6_W, VK_NUMPAD6_W, FALSE
92/* 0x4E PMSCAN_PADPLUS */ , VK_ADD_W, VK_ADD_W, FALSE
93/* 0x4F PMSCAN_PAD1 */ , VK_NUMPAD1_W, VK_NUMPAD1_W, FALSE
94/* 0x50 PMSCAN_PAD2 */ , VK_NUMPAD2_W, VK_NUMPAD2_W, FALSE
95/* 0x51 PMSCAN_PAD3 */ , VK_NUMPAD3_W, VK_NUMPAD3_W, FALSE
96/* 0x52 PMSCAN_PAD0 */ , VK_NUMPAD0_W, VK_NUMPAD0_W, FALSE
97/* 0x53 PMSCAN_PADPERIOD */ , VK_DECIMAL_W, VK_DECIMAL_W, FALSE
98/* 0x54 PMSCAN_SYSREQ */ , 0x00, 0x00, FALSE
99/* 0x55 PMSCAN_RESET */ , 0x00, 0x00, FALSE
100/* 0x56 PMSCAN_EXTRA */ , VK_EXTRA_W, VK_EXTRA_W, FALSE
101/* 0x57 PMSCAN_F11 */ , VK_F11_W, VK_F11_W, FALSE
102/* 0x58 PMSCAN_F12 */ , VK_F12_W, VK_F12_W, FALSE
103/* 0x59 PMSCAN_BACKTAB */ , 0x00, 0x00, FALSE
104/* 0x5A PMSCAN_PADENTER */ , VK_RETURN_W, VK_RETURN_W, TRUE
105/* 0x5B PMSCAN_CTRLRIGHT */ , VK_CONTROL_W, VK_RCONTROL_W, TRUE
106/* 0x5C PMSCAN_PADSLASH */ , VK_DIVIDE_W, VK_DIVIDE_W, TRUE
107/* 0x5D PMSCAN_PRINT */ , VK_PRINT_W, VK_PRINT_W, FALSE
108/* 0x5E PMSCAN_ALTRIGHT */ , VK_MENU_W, VK_RMENU_W, TRUE
109/* 0x5F PMSCAN_PAUSE */ , VK_PAUSE_W, VK_PAUSE_W, FALSE
110/* 0x60 PMSCAN_HOME */ , VK_HOME_W, VK_HOME_W, TRUE
111/* 0x61 PMSCAN_UP */ , VK_UP_W, VK_UP_W, TRUE
112/* 0x62 PMSCAN_PAGEUP */ , VK_PRIOR_W, VK_PRIOR_W, TRUE
113/* 0x63 PMSCAN_LEFT */ , VK_LEFT_W, VK_LEFT_W, TRUE
114/* 0x64 PMSCAN_RIGHT */ , VK_RIGHT_W, VK_RIGHT_W, TRUE
115/* 0x65 PMSCAN_END */ , VK_END_W, VK_END_W, TRUE
116/* 0x66 PMSCAN_DOWN */ , VK_DOWN_W, VK_DOWN_W, TRUE
117/* 0x67 PMSCAN_PAGEDOWN */ , VK_NEXT_W, VK_NEXT_W, TRUE
118/* 0x68 PMSCAN_INSERT */ , VK_INSERT_W, VK_INSERT_W, TRUE
119/* 0x69 PMSCAN_DELETE */ , VK_DELETE_W, VK_DELETE_W, TRUE
120/* 0x6A PMSCAN_F23 */ , VK_F23_W, VK_F23_W, FALSE
121/* 0x6B PMSCAN_F24 */ , VK_F24_W, VK_F24_W, FALSE
122/* 0x6C PMSCAN_SYSMEM */ , 0x00, 0x00, FALSE
123/* 0x6D PMSCAN_ERASEEOF */ , VK_EREOF_W, VK_EREOF_W, FALSE
124/* 0x6E PMSCAN_BREAK */ , VK_CANCEL_W, VK_CANCEL_W, TRUE
125/* 0x6F PMSCAN_MOVEWIN */ , 0x00, 0x00, FALSE
126/* 0x70 PMSCAN_NLS3 */ , 0x00, 0x00, FALSE
127/* 0x71 PMSCAN_HELP */ , VK_HELP_W, VK_HELP_W, FALSE
128/* 0x72 PMSCAN_TASKMAN */ , 0x00, 0x00, FALSE
129/* 0x73 PMSCAN_JEXTRA */ , VK_FFC1_W, VK_FFC1_W, FALSE
130/* 0x73 PMSCAN_B11 , 0x00, 0x00, FALSE */
131/* 0x74 PMSCAN_JUMP */ , 0x00, 0x00, FALSE
132/* 0x75 PMSCAN_MINWIN */ , 0x00, 0x00, FALSE
133/* 0x76 PMSCAN_CLEAR */ , 0x00, 0x00, FALSE
134/* 0x77 PMSCAN_77 */ , 0x00, 0x00, FALSE
135/* 0x78 PMSCAN_78 */ , 0x00, 0x00, FALSE
136/* 0x79 PMSCAN_NLS2 */ , 0x00, 0x00, FALSE
137/* 0x7a PMSCAN_SIZE */ , 0x00, 0x00, FALSE
138/* 0x7b PMSCAN_NLS1 */ , 0x00, 0x00, FALSE
139/* 0x7c PMSCAN_APPLICATION */ , VK_APPS_W, VK_APPS_W, FALSE
140/* 0x7d PMSCAN_YEN */ , VK_YEN_W, VK_YEN_W, FALSE
141/* 0x7d PMSCAN_E13 , 0x00, 0x00, FALSE */
142/* 0x7e PMSCAN_WINLEFT */ , VK_LWIN_W, VK_LWIN_W, FALSE
143/* 0x7f PMSCAN_WINRIGHT */ , VK_RWIN_W, VK_RWIN_W, FALSE
144/* 0x80 PMSCAN_PA1 */ , VK_PA1_W, VK_PA1_W, FALSE
145/* 0x81 PMSCAN_F13 */ , VK_F13_W, VK_F13_W, FALSE
146/* 0x82 PMSCAN_F14 */ , VK_F14_W, VK_F14_W, FALSE
147/* 0x83 PMSCAN_F15 */ , VK_F15_W, VK_F15_W, FALSE
148/* 0x84 PMSCAN_PA2 */ , 0x00, 0x00, FALSE
149/* 0x85 PMSCAN_PA3 */ , 0x00, 0x00, FALSE
150/* 0x86 PMSCAN_SPACEBREAK */ , 0x00, 0x00, FALSE
151/* 0x87 PMSCAN_TABRIGHT */ , 0x00, 0x00, FALSE
152/* 0x88 PMSCAN_NOOP */ , 0x00, 0x00, FALSE
153/* 0x89 PMSCAN_F16 */ , VK_F16_W, VK_F16_W, FALSE
154/* 0x8a PMSCAN_F17 */ , VK_F17_W, VK_F17_W, FALSE
155/* 0x8b PMSCAN_F18 */ , VK_F18_W, VK_F18_W, FALSE
156/* 0x8c PMSCAN_F19 */ , VK_F19_W, VK_F19_W, FALSE
157/* 0x8d PMSCAN_F20 */ , VK_F20_W, VK_F20_W, FALSE
158/* 0x8e PMSCAN_F21 */ , VK_F21_W, VK_F21_W, FALSE
159/* 0x8f PMSCAN_F22 */ , VK_F22_W, VK_F22_W, FALSE
160/* 0x92 */ , 0x00, 0x00, FALSE
161/* 0x93 */ , 0x00, 0x00, FALSE
162/* 0x94 */ , 0x00, 0x00, FALSE
163/* 0x95 */ , 0x00, 0x00, FALSE
164/* 0x96 */ , 0x00, 0x00, FALSE
165/* 0x97 */ , 0x00, 0x00, FALSE
166/* 0x98 */ , 0x00, 0x00, FALSE
167/* 0x99 */ , 0x00, 0x00, FALSE
168/* 0x9A */ , 0x00, 0x00, FALSE
169/* 0x9B */ , 0x00, 0x00, FALSE
170/* 0x9C */ , 0x00, 0x00, FALSE
171/* 0x9D */ , 0x00, 0x00, FALSE
172/* 0x9E */ , 0x00, 0x00, FALSE
173/* 0x9F */ , 0x00, 0x00, FALSE
174/* 0xA0 */ , 0x00, 0x00, FALSE
175/* 0xA1 */ , 0x00, 0x00, FALSE
176/* 0xA2 */ , 0x00, 0x00, FALSE
177/* 0xA3 */ , 0x00, 0x00, FALSE
178/* 0xA4 */ , 0x00, 0x00, FALSE
179/* 0xA5 */ , 0x00, 0x00, FALSE
180/* 0xA6 */ , 0x00, 0x00, FALSE
181/* 0xA7 */ , 0x00, 0x00, FALSE
182/* 0xA8 */ , 0x00, 0x00, FALSE
183/* 0xA9 */ , 0x00, 0x00, FALSE
184/* 0xAA */ , 0x00, 0x00, FALSE
185/* 0xAB */ , 0x00, 0x00, FALSE
186/* 0xAC */ , 0x00, 0x00, FALSE
187/* 0xAD */ , 0x00, 0x00, FALSE
188/* 0xAE */ , 0x00, 0x00, FALSE
189/* 0xAF */ , 0x00, 0x00, FALSE
190/* 0xB0 */ , 0x00, 0x00, FALSE
191/* 0xB1 */ , 0x00, 0x00, FALSE
192/* 0xB2 */ , 0x00, 0x00, FALSE
193/* 0xB3 */ , 0x00, 0x00, FALSE
194/* 0xB4 */ , 0x00, 0x00, FALSE
195/* 0xB5 */ , 0x00, 0x00, FALSE
196/* 0xB6 */ , 0x00, 0x00, FALSE
197/* 0xB7 */ , 0x00, 0x00, FALSE
198/* 0xB8 */ , 0x00, 0x00, FALSE
199/* 0xB9 */ , 0x00, 0x00, FALSE
200/* 0xBA */ , 0x00, 0x00, FALSE
201/* 0xBB */ , 0x00, 0x00, FALSE
202/* 0xBC */ , 0x00, 0x00, FALSE
203/* 0xBD */ , 0x00, 0x00, FALSE
204/* 0xBE */ , 0x00, 0x00, FALSE
205/* 0xBF */ , 0x00, 0x00, FALSE
206/* 0xC0 */ , 0x00, 0x00, FALSE
207/* 0xC1 */ , 0x00, 0x00, FALSE
208/* 0xC2 */ , 0x00, 0x00, FALSE
209/* 0xC3 */ , 0x00, 0x00, FALSE
210/* 0xC4 */ , 0x00, 0x00, FALSE
211/* 0xC5 */ , 0x00, 0x00, FALSE
212/* 0xC6 */ , 0x00, 0x00, FALSE
213/* 0xC7 */ , 0x00, 0x00, FALSE
214/* 0xC8 */ , 0x00, 0x00, FALSE
215/* 0xC9 */ , 0x00, 0x00, FALSE
216/* 0xCA */ , 0x00, 0x00, FALSE
217/* 0xCB */ , 0x00, 0x00, FALSE
218/* 0xCC */ , 0x00, 0x00, FALSE
219/* 0xCD */ , 0x00, 0x00, FALSE
220/* 0xCE */ , 0x00, 0x00, FALSE
221/* 0xCF */ , 0x00, 0x00, FALSE
222/* 0xD0 */ , 0x00, 0x00, FALSE
223/* 0xD1 */ , 0x00, 0x00, FALSE
224/* 0xD2 */ , 0x00, 0x00, FALSE
225/* 0xD3 */ , 0x00, 0x00, FALSE
226/* 0xD4 */ , 0x00, 0x00, FALSE
227/* 0xD5 */ , 0x00, 0x00, FALSE
228/* 0xD6 */ , 0x00, 0x00, FALSE
229/* 0xD7 */ , 0x00, 0x00, FALSE
230/* 0xD8 */ , 0x00, 0x00, FALSE
231/* 0xD9 */ , 0x00, 0x00, FALSE
232/* 0xDA */ , 0x00, 0x00, FALSE
233/* 0xDB */ , 0x00, 0x00, FALSE
234/* 0xDC */ , 0x00, 0x00, FALSE
235/* 0xDD */ , 0x00, 0x00, FALSE
236/* 0xDE */ , 0x00, 0x00, FALSE
237/* 0xDF */ , 0x00, 0x00, FALSE
238/* 0xE0 */ , 0x00, 0x00, FALSE
239/* 0xE1 */ , 0x00, 0x00, FALSE
240/* 0xE2 */ , 0x00, 0x00, FALSE
241/* 0xE3 */ , 0x00, 0x00, FALSE
242/* 0xE4 */ , 0x00, 0x00, FALSE
243/* 0xE5 */ , 0x00, 0x00, FALSE
244/* 0xE6 */ , 0x00, 0x00, FALSE
245/* 0xE7 */ , 0x00, 0x00, FALSE
246/* 0xE8 */ , 0x00, 0x00, FALSE
247/* 0xE9 */ , 0x00, 0x00, FALSE
248/* 0xEA */ , 0x00, 0x00, FALSE
249/* 0xEB */ , 0x00, 0x00, FALSE
250/* 0xEC */ , 0x00, 0x00, FALSE
251/* 0xED */ , 0x00, 0x00, FALSE
252/* 0xEE */ , 0x00, 0x00, FALSE
253/* 0xEF */ , 0x00, 0x00, FALSE
254/* 0xF0 */ , 0x00, 0x00, FALSE
255/* 0xF1 */ , 0x00, 0x00, FALSE
256/* 0xF2 */ , 0x00, 0x00, FALSE
257/* 0xF3 */ , 0x00, 0x00, FALSE
258/* 0xF4 */ , 0x00, 0x00, FALSE
259/* 0xF5 */ , 0x00, 0x00, FALSE
260/* 0xF6 */ , 0x00, 0x00, FALSE
261/* 0xF7 */ , 0x00, 0x00, FALSE
262/* 0xF8 */ , 0x00, 0x00, FALSE
263/* 0xF9 */ , 0x00, 0x00, FALSE
264/* 0xFA */ , 0x00, 0x00, FALSE
265/* 0xFB */ , 0x00, 0x00, FALSE
266/* 0xFC */ , 0x00, 0x00, FALSE
267/* 0xFD */ , 0x00, 0x00, FALSE
268/* 0xFE */ , 0x00, 0x00, FALSE
269/* 0xFF */ , 0x00, 0x00, FALSE
270 };
271
272/***********************************************************/
273/* Table to translate from a Windows vkey to a PM scancode */
274/***********************************************************/
275BYTE abWinVKeyToPMScan[256] =
276/****************************************/
277/* Vkey * Scancode */
278/****************************************/
279/* 0x00 */ { 0x00
280/* 0x01 VK_LBUTTON_W */ , 0x00
281/* 0x02 VK_RBUTTON_W */ , 0x00
282/* 0x03 VK_CANCEL_W */ , PMSCAN_BREAK
283/* 0x04 VK_MBUTTON_W */ , 0x00
284/* 0x05 */ , 0x00
285/* 0x06 */ , 0x00
286/* 0x07 */ , 0x00
287/* 0x08 VK_BACK_W */ , PMSCAN_BACKSPACE
288/* 0x09 VK_TAB_W */ , PMSCAN_TAB
289/* 0x0A */ , 0x00
290/* 0x0B */ , 0x00
291/* 0x0C VK_CLEAR_W */ , PMSCAN_PAD5
292/* 0x0D VK_RETURN_W */ , PMSCAN_ENTER
293/* 0x0E */ , 0x00
294/* 0x0F */ , 0x00
295/* 0x10 VK_SHIFT_W */ , PMSCAN_SHIFTLEFT
296/* 0x11 VK_CONTROL_W */ , PMSCAN_CTRLLEFT
297/* 0x12 VK_MENU_W */ , PMSCAN_ALTLEFT
298/* 0x13 VK_PAUSE_W */ , PMSCAN_PAUSE
299/* 0x14 VK_CAPITAL_W */ , PMSCAN_CAPSLOCK
300/* 0x15 */ , 0x00
301/* 0x16 */ , 0x00
302/* 0x17 */ , 0x00
303/* 0x18 */ , 0x00
304/* 0x19 */ , 0x00
305/* 0x1A */ , 0x00
306/* 0x1B VK_ESCAPE_W */ , PMSCAN_ESC
307/* 0x1C */ , 0x00
308/* 0x1D */ , 0x00
309/* 0x1E */ , 0x00
310/* 0x1F */ , 0x00
311/* 0x20 VK_SPACE_W */ , PMSCAN_SPACE
312/* 0x21 VK_PRIOR_W */ , PMSCAN_PAGEUP
313/* 0x22 VK_NEXT_W */ , PMSCAN_PAGEDOWN
314/* 0x23 VK_END_W */ , PMSCAN_END
315/* 0x24 VK_HOME_W */ , PMSCAN_HOME
316/* 0x25 VK_LEFT_W */ , PMSCAN_LEFT
317/* 0x26 VK_UP_W */ , PMSCAN_UP
318/* 0x27 VK_RIGHT_W */ , PMSCAN_RIGHT
319/* 0x28 VK_DOWN_W */ , PMSCAN_DOWN
320/* 0x29 VK_SELECT_W */ , 0x00
321/* 0x2A VK_PRINT_W */ , PMSCAN_PRINT
322/* 0x2B VK_EXECUTE_W */ , 0x00
323/* 0x2C VK_SNAPSHOT_W */ , 0x00
324/* 0x2D VK_INSERT_W */ , PMSCAN_INSERT
325/* 0x2E VK_DELETE_W */ , PMSCAN_DELETE
326/* 0x2F VK_HELP_W */ , PMSCAN_HELP
327/* 0x30 VK_0_W */ , PMSCAN_ZERO
328/* 0x31 VK_1_W */ , PMSCAN_ONE
329/* 0x32 VK_2_W */ , PMSCAN_TWO
330/* 0x33 VK_3_W */ , PMSCAN_THREE
331/* 0x34 VK_4_W */ , PMSCAN_FOUR
332/* 0x35 VK_5_W */ , PMSCAN_FIVE
333/* 0x36 VK_6_W */ , PMSCAN_SIX
334/* 0x37 VK_7_W */ , PMSCAN_SEVEN
335/* 0x38 VK_8_W */ , PMSCAN_EIGHT
336/* 0x39 VK_9_W */ , PMSCAN_NINE
337/* 0x3A */ , 0x00
338/* 0x3B */ , 0x00
339/* 0x3C */ , 0x00
340/* 0x3D */ , 0x00
341/* 0x3E */ , 0x00
342/* 0x3F */ , 0x00
343/* 0x40 */ , 0x00
344/* 0x41 VK_A_W */ , PMSCAN_A
345/* 0x42 VK_B_W */ , PMSCAN_B
346/* 0x43 VK_C_W */ , PMSCAN_C
347/* 0x44 VK_D_W */ , PMSCAN_D
348/* 0x45 VK_E_W */ , PMSCAN_E
349/* 0x46 VK_F_W */ , PMSCAN_F
350/* 0x47 VK_G_W */ , PMSCAN_G
351/* 0x48 VK_H_W */ , PMSCAN_H
352/* 0x49 VK_I_W */ , PMSCAN_I
353/* 0x4A VK_J_W */ , PMSCAN_J
354/* 0x4B VK_K_W */ , PMSCAN_K
355/* 0x4C VK_L_W */ , PMSCAN_L
356/* 0x4D VK_M_W */ , PMSCAN_M
357/* 0x4E VK_N_W */ , PMSCAN_N
358/* 0x4F VK_O_W */ , PMSCAN_O
359/* 0x50 VK_P_W */ , PMSCAN_P
360/* 0x51 VK_Q_W */ , PMSCAN_Q
361/* 0x52 VK_R_W */ , PMSCAN_R
362/* 0x53 VK_S_W */ , PMSCAN_S
363/* 0x54 VK_T_W */ , PMSCAN_T
364/* 0x55 VK_U_W */ , PMSCAN_U
365/* 0x56 VK_V_W */ , PMSCAN_V
366/* 0x57 VK_W_W */ , PMSCAN_W
367/* 0x58 VK_X_W */ , PMSCAN_X
368/* 0x59 VK_Y_W */ , PMSCAN_Y
369/* 0x5A VK_Z_W */ , PMSCAN_Z
370/* 0x5B VK_LWIN_W */ , PMSCAN_WINLEFT
371/* 0x5C VK_RWIN_W */ , PMSCAN_WINRIGHT
372/* 0x5D VK_APPS_W */ , PMSCAN_APPLICATION
373/* 0x5E */ , 0x00
374/* 0x5F */ , 0x00
375/* 0x60 VK_NUMPAD0_W */ , PMSCAN_PAD0
376/* 0x61 VK_NUMPAD1_W */ , PMSCAN_PAD1
377/* 0x62 VK_NUMPAD2_W */ , PMSCAN_PAD2
378/* 0x63 VK_NUMPAD3_W */ , PMSCAN_PAD3
379/* 0x64 VK_NUMPAD4_W */ , PMSCAN_PAD4
380/* 0x65 VK_NUMPAD5_W */ , PMSCAN_PAD5
381/* 0x66 VK_NUMPAD6_W */ , PMSCAN_PAD6
382/* 0x67 VK_NUMPAD7_W */ , PMSCAN_PAD7
383/* 0x68 VK_NUMPAD8_W */ , PMSCAN_PAD8
384/* 0x69 VK_NUMPAD9_W */ , PMSCAN_PAD9
385/* 0x6A VK_MULTIPLY_W */ , PMSCAN_PADASTERISK
386/* 0x6B VK_ADD_W */ , PMSCAN_PADPLUS
387/* 0x6C VK_SEPARATOR_W */ , 0x00
388/* 0x6D VK_SUBTRACT_W */ , PMSCAN_PADMINUS
389/* 0x6E VK_DECIMAL_W */ , PMSCAN_PADPERIOD
390/* 0x6F VK_DIVIDE_W */ , PMSCAN_PADSLASH
391/* 0x70 VK_F1_W */ , PMSCAN_F1
392/* 0x71 VK_F2_W */ , PMSCAN_F2
393/* 0x72 VK_F3_W */ , PMSCAN_F3
394/* 0x73 VK_F4_W */ , PMSCAN_F4
395/* 0x74 VK_F5_W */ , PMSCAN_F5
396/* 0x75 VK_F6_W */ , PMSCAN_F6
397/* 0x76 VK_F7_W */ , PMSCAN_F7
398/* 0x77 VK_F8_W */ , PMSCAN_F8
399/* 0x78 VK_F9_W */ , PMSCAN_F9
400/* 0x79 VK_F10_W */ , PMSCAN_F10
401/* 0x7A VK_F11_W */ , PMSCAN_F11
402/* 0x7B VK_F12_W */ , PMSCAN_F12
403/* 0x7C VK_F13_W */ , PMSCAN_F13
404/* 0x7D VK_F14_W */ , PMSCAN_F14
405/* 0x7E VK_F15_W */ , PMSCAN_F15
406/* 0x7F VK_F16_W */ , PMSCAN_F16
407/* 0x80 VK_F17_W */ , PMSCAN_F17
408/* 0x81 VK_F18_W */ , PMSCAN_F18
409/* 0x82 VK_F19_W */ , PMSCAN_F19
410/* 0x83 VK_F20_W */ , PMSCAN_F20
411/* 0x84 VK_F21_W */ , PMSCAN_F21
412/* 0x85 VK_F22_W */ , PMSCAN_F22
413/* 0x86 VK_F23_W */ , PMSCAN_F23
414/* 0x87 VK_F24_W */ , PMSCAN_F24
415/* 0x88 */ , 0x00
416/* 0x89 */ , 0x00
417/* 0x8A */ , 0x00
418/* 0x8B */ , 0x00
419/* 0x8C */ , 0x00
420/* 0x8D */ , 0x00
421/* 0x8E */ , 0x00
422/* 0x8F */ , 0x00
423/* 0x90 VK_NUMLOCK_W */ , PMSCAN_NUMLOCK
424/* 0x91 VK_SCROLL_W */ , PMSCAN_SCROLLLOCK
425/* 0x92 */ , 0x00
426/* 0x93 */ , 0x00
427/* 0x94 */ , 0x00
428/* 0x95 */ , 0x00
429/* 0x96 */ , 0x00
430/* 0x97 */ , 0x00
431/* 0x98 */ , 0x00
432/* 0x99 */ , 0x00
433/* 0x9A */ , 0x00
434/* 0x9B */ , 0x00
435/* 0x9C */ , 0x00
436/* 0x9D */ , 0x00
437/* 0x9E */ , 0x00
438/* 0x9F */ , 0x00
439/* 0xA0 VK_LSHIFT_W */ , PMSCAN_SHIFTLEFT
440/* 0xA1 VK_RSHIFT_W */ , PMSCAN_SHIFTRIGHT
441/* 0xA2 VK_LCONTROL_W */ , PMSCAN_CTRLLEFT
442/* 0xA3 VK_RCONTROL_W */ , PMSCAN_CTRLRIGHT
443/* 0xA4 VK_LMENU_W */ , PMSCAN_ALTLEFT
444/* 0xA5 VK_RMENU_W */ , PMSCAN_ALTRIGHT
445/* 0xA6 */ , 0x00
446/* 0xA7 */ , 0x00
447/* 0xA8 */ , 0x00
448/* 0xA9 */ , 0x00
449/* 0xAA */ , 0x00
450/* 0xAB */ , 0x00
451/* 0xAC */ , 0x00
452/* 0xAD */ , 0x00
453/* 0xAE */ , 0x00
454/* 0xAF */ , 0x00
455/* 0xB0 */ , 0x00
456/* 0xB1 */ , 0x00
457/* 0xB2 */ , 0x00
458/* 0xB3 */ , 0x00
459/* 0xB4 */ , 0x00
460/* 0xB5 */ , 0x00
461/* 0xB6 */ , 0x00
462/* 0xB7 */ , 0x00
463/* 0xB8 */ , 0x00
464/* 0xB9 */ , 0x00
465/* 0xBA VK_SEMICOLON_W */ , PMSCAN_SEMICOLON
466/* 0xBB VK_EQUAL_W */ , PMSCAN_EQUAL
467/* 0xBC VK_COMMA_W */ , PMSCAN_COMMA
468/* 0xBD VK_HYPHEN_W */ , PMSCAN_HYPHEN
469/* 0xBE VK_PERIOD_W */ , PMSCAN_PERIOD
470/* 0xBF VK_SLASH_W */ , PMSCAN_SLASH
471/* 0xC0 VK_GRAVE_W */ , PMSCAN_GRAVE
472/* 0xC1 VK_FFC1_W */ , PMSCAN_JEXTRA
473/* 0xC2 VK_YEN_W */ , PMSCAN_YEN
474/* 0xC3 */ , 0x00
475/* 0xC4 */ , 0x00
476/* 0xC5 */ , 0x00
477/* 0xC6 */ , 0x00
478/* 0xC7 */ , 0x00
479/* 0xC8 */ , 0x00
480/* 0xC9 */ , 0x00
481/* 0xCA */ , 0x00
482/* 0xCB */ , 0x00
483/* 0xCC */ , 0x00
484/* 0xCD */ , 0x00
485/* 0xCE */ , 0x00
486/* 0xCF */ , 0x00
487/* 0xD0 */ , 0x00
488/* 0xD1 */ , 0x00
489/* 0xD2 */ , 0x00
490/* 0xD3 */ , 0x00
491/* 0xD4 */ , 0x00
492/* 0xD5 */ , 0x00
493/* 0xD6 */ , 0x00
494/* 0xD7 */ , 0x00
495/* 0xD8 */ , 0x00
496/* 0xD9 */ , 0x00
497/* 0xDA */ , 0x00
498/* 0xDB VK_BRACKETLEFT_W */ , PMSCAN_BRACKETLEFT
499/* 0xDC VK_BACKSLASH_W */ , PMSCAN_BACKSLASH
500/* 0xDD VK_BRACKETRIGHT_W */ , PMSCAN_BRACKETRIGHT
501/* 0xDE VK_QUOTESINGLE_W */ , PMSCAN_QUOTESINGLE
502/* 0xDF */ , 0x00
503/* 0xE0 */ , 0x00
504/* 0xE1 */ , 0x00
505/* 0xE2 VK_EXTRA_W */ , PMSCAN_EXTRA
506/* 0xE3 */ , 0x00
507/* 0xE4 */ , 0x00
508/* 0xE5 */ , 0x00
509/* 0xE6 */ , 0x00
510/* 0xE7 */ , 0x00
511/* 0xE8 */ , 0x00
512/* 0xE9 */ , 0x00
513/* 0xEA */ , 0x00
514/* 0xEB */ , 0x00
515/* 0xEC */ , 0x00
516/* 0xED */ , 0x00
517/* 0xEE */ , 0x00
518/* 0xEF */ , 0x00
519/* 0xF0 */ , 0x00
520/* 0xF1 */ , 0x00
521/* 0xF2 */ , 0x00
522/* 0xF3 */ , 0x00
523/* 0xF4 */ , 0x00
524/* 0xF5 */ , 0x00
525/* 0xF6 VK_ATTN_W */ , 0x00
526/* 0xF7 VK_CRSEL_W */ , 0x00
527/* 0xF8 VK_EXSEL_W */ , 0x00
528/* 0xF9 VK_EREOF_W */ , PMSCAN_ERASEEOF
529/* 0xFA VK_PLAY_W */ , 0x00
530/* 0xFB VK_ZOOM_W */ , 0x00
531/* 0xFC VK_NONAME_W */ , 0x00
532/* 0xFD VK_PA1_W */ , PMSCAN_PA1
533/* 0xFE VK_OEM_CLEAR_W */ , 0x00
534/* 0xFF */ , 0x00
535 };
536
537/* Virtual key codes */
538#define VK_LBUTTON 0x01
539#define VK_RBUTTON 0x02
540#define VK_CANCEL 0x03
541#define VK_MBUTTON 0x04
542/* 0x05-0x07 Undefined */
543#define VK_BACK 0x08
544#define VK_TAB 0x09
545/* 0x0A-0x0B Undefined */
546#define VK_CLEAR 0x0C
547#define VK_RETURN 0x0D
548/* 0x0E-0x0F Undefined */
549#define VK_SHIFT 0x10
550#define VK_CONTROL 0x11
551#define VK_MENU 0x12
552#define VK_PAUSE 0x13
553#define VK_CAPITAL 0x14
554/* 0x15-0x19 Reserved for Kanji systems */
555/* 0x1A Undefined */
556#define VK_ESCAPE 0x1B
557/* 0x1C-0x1F Reserved for Kanji systems */
558#define VK_SPACE 0x20
559#define VK_PRIOR 0x21
560#define VK_NEXT 0x22
561#define VK_END 0x23
562#define VK_HOME 0x24
563#define VK_LEFT 0x25
564#define VK_UP 0x26
565#define VK_RIGHT 0x27
566#define VK_DOWN 0x28
567#define VK_SELECT 0x29
568#define VK_PRINT 0x2A /* OEM specific in Windows 3.1 SDK */
569#define VK_EXECUTE 0x2B
570#define VK_SNAPSHOT 0x2C
571#define VK_INSERT 0x2D
572#define VK_DELETE 0x2E
573#define VK_HELP 0x2F
574#define VK_0 0x30
575#define VK_1 0x31
576#define VK_2 0x32
577#define VK_3 0x33
578#define VK_4 0x34
579#define VK_5 0x35
580#define VK_6 0x36
581#define VK_7 0x37
582#define VK_8 0x38
583#define VK_9 0x39
584/* 0x3A-0x40 Undefined */
585#define VK_A 0x41
586#define VK_B 0x42
587#define VK_C 0x43
588#define VK_D 0x44
589#define VK_E 0x45
590#define VK_F 0x46
591#define VK_G 0x47
592#define VK_H 0x48
593#define VK_I 0x49
594#define VK_J 0x4A
595#define VK_K 0x4B
596#define VK_L 0x4C
597#define VK_M 0x4D
598#define VK_N 0x4E
599#define VK_O 0x4F
600#define VK_P 0x50
601#define VK_Q 0x51
602#define VK_R 0x52
603#define VK_S 0x53
604#define VK_T 0x54
605#define VK_U 0x55
606#define VK_V 0x56
607#define VK_W 0x57
608#define VK_X 0x58
609#define VK_Y 0x59
610#define VK_Z 0x5A
611
612#define VK_LWIN 0x5B
613#define VK_RWIN 0x5C
614#define VK_APPS 0x5D
615/* 0x5E-0x5F Unassigned */
616#define VK_NUMPAD0 0x60
617#define VK_NUMPAD1 0x61
618#define VK_NUMPAD2 0x62
619#define VK_NUMPAD3 0x63
620#define VK_NUMPAD4 0x64
621#define VK_NUMPAD5 0x65
622#define VK_NUMPAD6 0x66
623#define VK_NUMPAD7 0x67
624#define VK_NUMPAD8 0x68
625#define VK_NUMPAD9 0x69
626#define VK_MULTIPLY 0x6A
627#define VK_ADD 0x6B
628#define VK_SEPARATOR 0x6C
629#define VK_SUBTRACT 0x6D
630#define VK_DECIMAL 0x6E
631#define VK_DIVIDE 0x6F
632#define VK_F1 0x70
633#define VK_F2 0x71
634#define VK_F3 0x72
635#define VK_F4 0x73
636#define VK_F5 0x74
637#define VK_F6 0x75
638#define VK_F7 0x76
639#define VK_F8 0x77
640#define VK_F9 0x78
641#define VK_F10 0x79
642#define VK_F11 0x7A
643#define VK_F12 0x7B
644#define VK_F13 0x7C
645#define VK_F14 0x7D
646#define VK_F15 0x7E
647#define VK_F16 0x7F
648#define VK_F17 0x80
649#define VK_F18 0x81
650#define VK_F19 0x82
651#define VK_F20 0x83
652#define VK_F21 0x84
653#define VK_F22 0x85
654#define VK_F23 0x86
655#define VK_F24 0x87
656/* 0x88-0x8F Unassigned */
657#define VK_NUMLOCK 0x90
658#define VK_SCROLL 0x91
659/* 0x92-0x9F Unassigned */
660/*
661 * differencing between right and left shift/control/alt key.
662 * Used only by GetAsyncKeyState() and GetKeyState().
663 */
664#define VK_LSHIFT 0xA0
665#define VK_RSHIFT 0xA1
666#define VK_LCONTROL 0xA2
667#define VK_RCONTROL 0xA3
668#define VK_LMENU 0xA4
669#define VK_RMENU 0xA5
670/* 0xA6-0xB9 Unassigned */
671#define VK_OEM_1 0xBA
672#define VK_OEM_PLUS 0xBB
673#define VK_OEM_COMMA 0xBC
674#define VK_OEM_MINUS 0xBD
675#define VK_OEM_PERIOD 0xBE
676#define VK_OEM_2 0xBF
677#define VK_OEM_3 0xC0
678/* 0xC1-0xDA Unassigned */
679#define VK_OEM_4 0xDB
680#define VK_OEM_5 0xDC
681#define VK_OEM_6 0xDD
682#define VK_OEM_7 0xDE
683/* 0xDF-0xE4 OEM specific */
684
685#define VK_PROCESSKEY 0xE5
686
687/* 0xE6 OEM specific */
688/* 0xE7-0xE8 Unassigned */
689/* 0xE9-0xF5 OEM specific */
690
691#define VK_ATTN 0xF6
692#define VK_CRSEL 0xF7
693#define VK_EXSEL 0xF8
694#define VK_EREOF 0xF9
695#define VK_PLAY 0xFA
696#define VK_ZOOM 0xFB
697#define VK_NONAME 0xFC
698#define VK_PA1 0xFD
699#define VK_OEM_CLEAR 0xFE
Note: See TracBrowser for help on using the repository browser.