1 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\r
5 #include "vkeytable.h"
\r
9 // Vkey table (terminated by NULL)
\r
10 const VKeyTable g_vkeyTable[] = {
\r
11 #define VK(name) { VK_##name, _T(#name) }
\r
17 VK(LBUTTON), // 0x01
\r
18 VK(RBUTTON), // 0x02
\r
20 VK(MBUTTON), // 0x04 /* NOT contiguous with L & RBUTTON */
\r
22 VK(XBUTTON1), // 0x05 /* NOT contiguous with L & RBUTTON */
\r
23 VK(XBUTTON2), // 0x06 /* NOT contiguous with L & RBUTTON */
\r
33 * 0x0A - 0x0B : reserved
\r
40 VK(CONTROL), // 0x11
\r
43 VK(CAPITAL), // 0x14
\r
46 VK(HANGEUL), // 0x15 /* old name - should be here for compatibility */
\r
55 VK(CONVERT), // 0x1C
\r
56 VK(NONCONVERT), // 0x1D
\r
58 VK(MODECHANGE), // 0x1F
\r
71 VK(EXECUTE), // 0x2B
\r
72 VK(SNAPSHOT), // 0x2C
\r
78 * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
\r
80 * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
\r
83 { _T('0'), _T("_0") }, // 30 0
\r
84 { _T('1'), _T("_1") }, // 31 1
\r
85 { _T('2'), _T("_2") }, // 32 2
\r
86 { _T('3'), _T("_3") }, // 33 3
\r
87 { _T('4'), _T("_4") }, // 34 4
\r
88 { _T('5'), _T("_5") }, // 35 5
\r
89 { _T('6'), _T("_6") }, // 36 6
\r
90 { _T('7'), _T("_7") }, // 37 7
\r
91 { _T('8'), _T("_8") }, // 38 8
\r
92 { _T('9'), _T("_9") }, // 39 9
\r
94 { _T('A'), _T("A") }, // 41 A
\r
95 { _T('B'), _T("B") }, // 42 B
\r
96 { _T('C'), _T("C") }, // 43 C
\r
97 { _T('D'), _T("D") }, // 44 D
\r
98 { _T('E'), _T("E") }, // 45 E
\r
99 { _T('F'), _T("F") }, // 46 F
\r
100 { _T('G'), _T("G") }, // 47 G
\r
101 { _T('H'), _T("H") }, // 48 H
\r
102 { _T('I'), _T("I") }, // 49 I
\r
103 { _T('J'), _T("J") }, // 4A J
\r
104 { _T('K'), _T("K") }, // 4B K
\r
105 { _T('L'), _T("L") }, // 4C L
\r
106 { _T('M'), _T("M") }, // 4D M
\r
107 { _T('N'), _T("N") }, // 4E N
\r
108 { _T('O'), _T("O") }, // 4F O
\r
109 { _T('P'), _T("P") }, // 50 P
\r
110 { _T('Q'), _T("Q") }, // 51 Q
\r
111 { _T('R'), _T("R") }, // 52 R
\r
112 { _T('S'), _T("S") }, // 53 S
\r
113 { _T('T'), _T("T") }, // 54 T
\r
114 { _T('U'), _T("U") }, // 55 U
\r
115 { _T('V'), _T("V") }, // 56 V
\r
116 { _T('W'), _T("W") }, // 57 W
\r
117 { _T('X'), _T("X") }, // 58 X
\r
118 { _T('Y'), _T("Y") }, // 59 Y
\r
119 { _T('Z'), _T("Z") }, // 5A Z
\r
131 VK(NUMPAD0), // 0x60
\r
132 VK(NUMPAD1), // 0x61
\r
133 VK(NUMPAD2), // 0x62
\r
134 VK(NUMPAD3), // 0x63
\r
135 VK(NUMPAD4), // 0x64
\r
136 VK(NUMPAD5), // 0x65
\r
137 VK(NUMPAD6), // 0x66
\r
138 VK(NUMPAD7), // 0x67
\r
139 VK(NUMPAD8), // 0x68
\r
140 VK(NUMPAD9), // 0x69
\r
141 VK(MULTIPLY), // 0x6A
\r
143 VK(SEPARATOR), // 0x6C
\r
144 VK(SUBTRACT), // 0x6D
\r
145 VK(DECIMAL), // 0x6E
\r
146 VK(DIVIDE), // 0x6F
\r
173 * 0x88 - 0x8F : unassigned
\r
176 VK(NUMLOCK), // 0x90
\r
177 VK(SCROLL), // 0x91
\r
180 * NEC PC-9800 kbd definitions
\r
182 VK(OEM_NEC_EQUAL), // 0x92 // '=' key on numpad
\r
185 * Fujitsu/OASYS kbd definitions
\r
187 VK(OEM_FJ_JISHO), // 0x92 // 'Dictionary' key
\r
188 VK(OEM_FJ_MASSHOU), // 0x93 // 'Unregister word' key
\r
189 VK(OEM_FJ_TOUROKU), // 0x94 // 'Register word' key
\r
190 VK(OEM_FJ_LOYA), // 0x95 // 'Left OYAYUBI' key
\r
191 VK(OEM_FJ_ROYA), // 0x96 // 'Right OYAYUBI' key
\r
194 * 0x97 - 0x9F : unassigned
\r
198 * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
\r
199 * Used only as parameters to GetAsyncKeyState() and GetKeyState().
\r
200 * No other API or message will distinguish left and right keys in this way.
\r
202 VK(LSHIFT), // 0xA0
\r
203 VK(RSHIFT), // 0xA1
\r
204 VK(LCONTROL), // 0xA2
\r
205 VK(RCONTROL), // 0xA3
\r
209 VK(BROWSER_BACK), // 0xA6
\r
210 VK(BROWSER_FORWARD), // 0xA7
\r
211 VK(BROWSER_REFRESH), // 0xA8
\r
212 VK(BROWSER_STOP), // 0xA9
\r
213 VK(BROWSER_SEARCH), // 0xAA
\r
214 VK(BROWSER_FAVORITES),// 0xAB
\r
215 VK(BROWSER_HOME), // 0xAC
\r
217 VK(VOLUME_MUTE), // 0xAD
\r
218 VK(VOLUME_DOWN), // 0xAE
\r
219 VK(VOLUME_UP), // 0xAF
\r
220 VK(MEDIA_NEXT_TRACK), // 0xB0
\r
221 VK(MEDIA_PREV_TRACK), // 0xB1
\r
222 VK(MEDIA_STOP), // 0xB2
\r
223 VK(MEDIA_PLAY_PAUSE), // 0xB3
\r
224 VK(LAUNCH_MAIL), // 0xB4
\r
225 VK(LAUNCH_MEDIA_SELECT), // 0xB5
\r
226 VK(LAUNCH_APP1), // 0xB6
\r
227 VK(LAUNCH_APP2), // 0xB7
\r
230 * 0xB8 - 0xB9 : reserved
\r
233 VK(OEM_1), // 0xBA // ';:' for US
\r
234 VK(OEM_PLUS), // 0xBB // '+' any country
\r
235 VK(OEM_COMMA), // 0xBC // ',' any country
\r
236 VK(OEM_MINUS), // 0xBD // '-' any country
\r
237 VK(OEM_PERIOD), // 0xBE // '.' any country
\r
238 VK(OEM_2), // 0xBF // '/?' for US
\r
239 VK(OEM_3), // 0xC0 // '`~' for US
\r
242 * 0xC1 - 0xD7 : reserved
\r
246 * 0xD8 - 0xDA : unassigned
\r
249 VK(OEM_4), // 0xDB // '[{' for US
\r
250 VK(OEM_5), // 0xDC // '\|' for US
\r
251 VK(OEM_6), // 0xDD // ']}' for US
\r
252 VK(OEM_7), // 0xDE // ''"' for US
\r
260 * Various extended or enhanced keyboards
\r
262 VK(OEM_AX), // 0xE1 // 'AX' key on Japanese AX kbd
\r
263 VK(OEM_102), // 0xE2 // "<>" or "\|" on RT 102-key kbd.
\r
264 VK(ICO_HELP), // 0xE3 // Help key on ICO
\r
265 VK(ICO_00), // 0xE4 // 00 key on ICO
\r
267 VK(PROCESSKEY), // 0xE5
\r
269 VK(ICO_CLEAR), // 0xE6
\r
271 VK(PACKET), // 0xE7
\r
274 * 0xE8 : unassigned
\r
278 * Nokia/Ericsson definitions
\r
280 VK(OEM_RESET), // 0xE9
\r
281 VK(OEM_JUMP), // 0xEA
\r
282 VK(OEM_PA1), // 0xEB
\r
283 VK(OEM_PA2), // 0xEC
\r
284 VK(OEM_PA3), // 0xED
\r
285 VK(OEM_WSCTRL), // 0xEE
\r
286 VK(OEM_CUSEL), // 0xEF
\r
287 VK(OEM_ATTN), // 0xF0
\r
288 VK(OEM_FINISH), // 0xF1
\r
289 VK(OEM_COPY), // 0xF2
\r
290 VK(OEM_AUTO), // 0xF3
\r
291 VK(OEM_ENLW), // 0xF4
\r
292 VK(OEM_BACKTAB), // 0xF5
\r
300 VK(NONAME), // 0xFC
\r
302 VK(OEM_CLEAR), // 0xFE
\r
308 #if !defined(VK_DBE_ALPHANUMERIC)
\r
309 VK(DBE_ALPHANUMERIC), // 0x0f0
\r
310 VK(DBE_KATAKANA), // 0x0f1
\r
311 VK(DBE_HIRAGANA), // 0x0f2
\r
312 VK(DBE_SBCSCHAR), // 0x0f3
\r
313 VK(DBE_DBCSCHAR), // 0x0f4
\r
314 VK(DBE_ROMAN), // 0x0f5
\r
315 VK(DBE_NOROMAN), // 0x0f6
\r
316 VK(DBE_ENTERWORDREGISTERMODE), // 0x0f7
\r
317 VK(DBE_ENTERIMECONFIGMODE), // 0x0f8
\r
318 VK(DBE_FLUSHSTRING), // 0x0f9
\r
319 VK(DBE_CODEINPUT), // 0x0fa
\r
320 VK(DBE_NOCODEINPUT), // 0x0fb
\r
321 VK(DBE_DETERMINESTRING), // 0x0fc
\r
322 VK(DBE_ENTERDLGCONVERSIONMODE), // 0x0fd
\r