OSDN Git Service

fix typo in readme.txt
[yamy/yamy.git] / vkeytable.cpp
1 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 // vkeytable.cpp
3
4
5 #include "vkeytable.h"
6 #include <ime.h>
7
8
9 // Vkey table (terminated by NULL)
10 const VKeyTable g_vkeyTable[] =
11 {
12 #define VK(name) { VK_##name, _T(#name) }
13
14 /*
15  * from WinUser.h
16  */
17
18   VK(LBUTTON),          // 0x01
19   VK(RBUTTON),          // 0x02
20   VK(CANCEL),           // 0x03
21   VK(MBUTTON),          // 0x04    /* NOT contiguous with L & RBUTTON */
22
23   VK(XBUTTON1),         // 0x05    /* NOT contiguous with L & RBUTTON */
24   VK(XBUTTON2),         // 0x06    /* NOT contiguous with L & RBUTTON */
25
26 /*
27  * 0x07 : unassigned
28  */
29
30   VK(BACK),             // 0x08
31   VK(TAB),              // 0x09
32
33 /*
34  * 0x0A - 0x0B : reserved
35  */
36
37   VK(CLEAR),            // 0x0C
38   VK(RETURN),           // 0x0D
39
40   VK(SHIFT),            // 0x10
41   VK(CONTROL),          // 0x11
42   VK(MENU),             // 0x12
43   VK(PAUSE),            // 0x13
44   VK(CAPITAL),          // 0x14
45
46   VK(KANA),             // 0x15
47   VK(HANGEUL),          // 0x15  /* old name - should be here for compatibility */
48   VK(HANGUL),           // 0x15
49   VK(JUNJA),            // 0x17
50   VK(FINAL),            // 0x18
51   VK(HANJA),            // 0x19
52   VK(KANJI),            // 0x19
53
54   VK(ESCAPE),           // 0x1B
55
56   VK(CONVERT),          // 0x1C
57   VK(NONCONVERT),       // 0x1D
58   VK(ACCEPT),           // 0x1E
59   VK(MODECHANGE),       // 0x1F
60
61   VK(SPACE),            // 0x20
62   VK(PRIOR),            // 0x21
63   VK(NEXT),             // 0x22
64   VK(END),              // 0x23
65   VK(HOME),             // 0x24
66   VK(LEFT),             // 0x25
67   VK(UP),               // 0x26
68   VK(RIGHT),            // 0x27
69   VK(DOWN),             // 0x28
70   VK(SELECT),           // 0x29
71   VK(PRINT),            // 0x2A
72   VK(EXECUTE),          // 0x2B
73   VK(SNAPSHOT),         // 0x2C
74   VK(INSERT),           // 0x2D
75   VK(DELETE),           // 0x2E
76   VK(HELP),             // 0x2F
77
78 /*
79  * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
80  * 0x40 : unassigned
81  * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
82  */
83
84   { _T('0'), _T("_0") },                // 30 0
85   { _T('1'), _T("_1") },                // 31 1
86   { _T('2'), _T("_2") },                // 32 2
87   { _T('3'), _T("_3") },                // 33 3
88   { _T('4'), _T("_4") },                // 34 4
89   { _T('5'), _T("_5") },                // 35 5
90   { _T('6'), _T("_6") },                // 36 6
91   { _T('7'), _T("_7") },                // 37 7
92   { _T('8'), _T("_8") },                // 38 8
93   { _T('9'), _T("_9") },                // 39 9
94
95   { _T('A'), _T("A") },                 // 41 A
96   { _T('B'), _T("B") },                 // 42 B
97   { _T('C'), _T("C") },                 // 43 C
98   { _T('D'), _T("D") },                 // 44 D
99   { _T('E'), _T("E") },                 // 45 E
100   { _T('F'), _T("F") },                 // 46 F
101   { _T('G'), _T("G") },                 // 47 G
102   { _T('H'), _T("H") },                 // 48 H
103   { _T('I'), _T("I") },                 // 49 I
104   { _T('J'), _T("J") },                 // 4A J
105   { _T('K'), _T("K") },                 // 4B K
106   { _T('L'), _T("L") },                 // 4C L
107   { _T('M'), _T("M") },                 // 4D M
108   { _T('N'), _T("N") },                 // 4E N
109   { _T('O'), _T("O") },                 // 4F O
110   { _T('P'), _T("P") },                 // 50 P
111   { _T('Q'), _T("Q") },                 // 51 Q
112   { _T('R'), _T("R") },                 // 52 R
113   { _T('S'), _T("S") },                 // 53 S
114   { _T('T'), _T("T") },                 // 54 T
115   { _T('U'), _T("U") },                 // 55 U
116   { _T('V'), _T("V") },                 // 56 V
117   { _T('W'), _T("W") },                 // 57 W
118   { _T('X'), _T("X") },                 // 58 X
119   { _T('Y'), _T("Y") },                 // 59 Y
120   { _T('Z'), _T("Z") },                 // 5A Z
121
122   VK(LWIN),             // 0x5B
123   VK(RWIN),             // 0x5C
124   VK(APPS),             // 0x5D
125
126 /*
127  * 0x5E : reserved
128  */
129
130   VK(SLEEP),            // 0x5F
131
132   VK(NUMPAD0),          // 0x60
133   VK(NUMPAD1),          // 0x61
134   VK(NUMPAD2),          // 0x62
135   VK(NUMPAD3),          // 0x63
136   VK(NUMPAD4),          // 0x64
137   VK(NUMPAD5),          // 0x65
138   VK(NUMPAD6),          // 0x66
139   VK(NUMPAD7),          // 0x67
140   VK(NUMPAD8),          // 0x68
141   VK(NUMPAD9),          // 0x69
142   VK(MULTIPLY),         // 0x6A
143   VK(ADD),              // 0x6B
144   VK(SEPARATOR),        // 0x6C
145   VK(SUBTRACT),         // 0x6D
146   VK(DECIMAL),          // 0x6E
147   VK(DIVIDE),           // 0x6F
148   VK(F1),               // 0x70
149   VK(F2),               // 0x71
150   VK(F3),               // 0x72
151   VK(F4),               // 0x73
152   VK(F5),               // 0x74
153   VK(F6),               // 0x75
154   VK(F7),               // 0x76
155   VK(F8),               // 0x77
156   VK(F9),               // 0x78
157   VK(F10),              // 0x79
158   VK(F11),              // 0x7A
159   VK(F12),              // 0x7B
160   VK(F13),              // 0x7C
161   VK(F14),              // 0x7D
162   VK(F15),              // 0x7E
163   VK(F16),              // 0x7F
164   VK(F17),              // 0x80
165   VK(F18),              // 0x81
166   VK(F19),              // 0x82
167   VK(F20),              // 0x83
168   VK(F21),              // 0x84
169   VK(F22),              // 0x85
170   VK(F23),              // 0x86
171   VK(F24),              // 0x87
172
173 /*
174  * 0x88 - 0x8F : unassigned
175  */
176
177   VK(NUMLOCK),          // 0x90
178   VK(SCROLL),           // 0x91
179
180 /*
181  * NEC PC-9800 kbd definitions
182  */
183   VK(OEM_NEC_EQUAL),    // 0x92 // '=' key on numpad
184
185 /*
186  * Fujitsu/OASYS kbd definitions
187  */
188   VK(OEM_FJ_JISHO),     // 0x92 // 'Dictionary' key
189   VK(OEM_FJ_MASSHOU),   // 0x93 // 'Unregister word' key
190   VK(OEM_FJ_TOUROKU),   // 0x94 // 'Register word' key
191   VK(OEM_FJ_LOYA),      // 0x95 // 'Left OYAYUBI' key
192   VK(OEM_FJ_ROYA),      // 0x96 // 'Right OYAYUBI' key
193
194 /*
195  * 0x97 - 0x9F : unassigned
196  */
197
198 /*
199  * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
200  * Used only as parameters to GetAsyncKeyState() and GetKeyState().
201  * No other API or message will distinguish left and right keys in this way.
202  */
203   VK(LSHIFT),           // 0xA0
204   VK(RSHIFT),           // 0xA1
205   VK(LCONTROL),         // 0xA2
206   VK(RCONTROL),         // 0xA3
207   VK(LMENU),            // 0xA4
208   VK(RMENU),            // 0xA5
209
210   VK(BROWSER_BACK),     // 0xA6
211   VK(BROWSER_FORWARD),  // 0xA7
212   VK(BROWSER_REFRESH),  // 0xA8
213   VK(BROWSER_STOP),     // 0xA9
214   VK(BROWSER_SEARCH),   // 0xAA
215   VK(BROWSER_FAVORITES),// 0xAB
216   VK(BROWSER_HOME),     // 0xAC
217
218   VK(VOLUME_MUTE),      // 0xAD
219   VK(VOLUME_DOWN),      // 0xAE
220   VK(VOLUME_UP),        // 0xAF
221   VK(MEDIA_NEXT_TRACK), // 0xB0
222   VK(MEDIA_PREV_TRACK), // 0xB1
223   VK(MEDIA_STOP),       // 0xB2
224   VK(MEDIA_PLAY_PAUSE), // 0xB3
225   VK(LAUNCH_MAIL),      // 0xB4
226   VK(LAUNCH_MEDIA_SELECT),      // 0xB5
227   VK(LAUNCH_APP1),       // 0xB6
228   VK(LAUNCH_APP2),       // 0xB7
229
230 /*
231  * 0xB8 - 0xB9 : reserved
232  */
233
234   VK(OEM_1),            // 0xBA // ';:' for US
235   VK(OEM_PLUS),         // 0xBB // '+' any country
236   VK(OEM_COMMA),        // 0xBC // ',' any country
237   VK(OEM_MINUS),        // 0xBD // '-' any country
238   VK(OEM_PERIOD),       // 0xBE // '.' any country
239   VK(OEM_2),            // 0xBF // '/?' for US
240   VK(OEM_3),            // 0xC0 // '`~' for US
241
242 /*
243  * 0xC1 - 0xD7 : reserved
244  */
245
246 /*
247  * 0xD8 - 0xDA : unassigned
248  */
249
250   VK(OEM_4),            // 0xDB //  '[{' for US
251   VK(OEM_5),            // 0xDC //  '\|' for US
252   VK(OEM_6),            // 0xDD //  ']}' for US
253   VK(OEM_7),            // 0xDE //  ''"' for US
254   VK(OEM_8),            // 0xDF
255
256 /*
257  * 0xE0 : reserved
258  */
259
260 /*
261  * Various extended or enhanced keyboards
262  */
263   VK(OEM_AX),           // 0xE1 //  'AX' key on Japanese AX kbd
264   VK(OEM_102),          // 0xE2 //  "<>" or "\|" on RT 102-key kbd.
265   VK(ICO_HELP),         // 0xE3 //  Help key on ICO
266   VK(ICO_00),           // 0xE4 //  00 key on ICO
267
268   VK(PROCESSKEY),       // 0xE5
269
270   VK(ICO_CLEAR),        // 0xE6
271
272   VK(PACKET),           // 0xE7
273
274 /*
275  * 0xE8 : unassigned
276  */
277
278 /*
279  * Nokia/Ericsson definitions
280  */
281   VK(OEM_RESET),        // 0xE9
282   VK(OEM_JUMP),         // 0xEA
283   VK(OEM_PA1),          // 0xEB
284   VK(OEM_PA2),          // 0xEC
285   VK(OEM_PA3),          // 0xED
286   VK(OEM_WSCTRL),       // 0xEE
287   VK(OEM_CUSEL),        // 0xEF
288   VK(OEM_ATTN),         // 0xF0
289   VK(OEM_FINISH),       // 0xF1
290   VK(OEM_COPY),         // 0xF2
291   VK(OEM_AUTO),         // 0xF3
292   VK(OEM_ENLW),         // 0xF4
293   VK(OEM_BACKTAB),      // 0xF5
294
295   VK(ATTN),             // 0xF6
296   VK(CRSEL),            // 0xF7
297   VK(EXSEL),            // 0xF8
298   VK(EREOF),            // 0xF9
299   VK(PLAY),             // 0xFA
300   VK(ZOOM),             // 0xFB
301   VK(NONAME),           // 0xFC
302   VK(PA1),              // 0xFD
303   VK(OEM_CLEAR),        // 0xFE
304
305 /*
306  * from Ime.h
307  */
308
309 #if !defined(VK_DBE_ALPHANUMERIC)
310   VK(DBE_ALPHANUMERIC),                 // 0x0f0
311   VK(DBE_KATAKANA),                     // 0x0f1
312   VK(DBE_HIRAGANA),                     // 0x0f2
313   VK(DBE_SBCSCHAR),                     // 0x0f3
314   VK(DBE_DBCSCHAR),                     // 0x0f4
315   VK(DBE_ROMAN),                        // 0x0f5
316   VK(DBE_NOROMAN),                      // 0x0f6
317   VK(DBE_ENTERWORDREGISTERMODE),        // 0x0f7
318   VK(DBE_ENTERIMECONFIGMODE),           // 0x0f8
319   VK(DBE_FLUSHSTRING),                  // 0x0f9
320   VK(DBE_CODEINPUT),                    // 0x0fa
321   VK(DBE_NOCODEINPUT),                  // 0x0fb
322   VK(DBE_DETERMINESTRING),              // 0x0fc
323   VK(DBE_ENTERDLGCONVERSIONMODE),       // 0x0fd
324 #endif
325
326   { 0, NULL },
327 #undef VK
328 };