OSDN Git Service

use boost_1_56_0 and build by VS2013
[yamy/yamy.git] / vkeytable.cpp
1 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
2 // vkeytable.cpp\r
3 \r
4 \r
5 #include "vkeytable.h"\r
6 #include <ime.h>\r
7 \r
8 \r
9 // Vkey table (terminated by NULL)\r
10 const VKeyTable g_vkeyTable[] = {\r
11 #define VK(name) { VK_##name, _T(#name) }\r
12 \r
13         /*\r
14          * from WinUser.h\r
15          */\r
16 \r
17         VK(LBUTTON),            // 0x01\r
18         VK(RBUTTON),            // 0x02\r
19         VK(CANCEL),             // 0x03\r
20         VK(MBUTTON),            // 0x04    /* NOT contiguous with L & RBUTTON */\r
21 \r
22         VK(XBUTTON1),           // 0x05    /* NOT contiguous with L & RBUTTON */\r
23         VK(XBUTTON2),           // 0x06    /* NOT contiguous with L & RBUTTON */\r
24 \r
25         /*\r
26          * 0x07 : unassigned\r
27          */\r
28 \r
29         VK(BACK),               // 0x08\r
30         VK(TAB),                // 0x09\r
31 \r
32         /*\r
33          * 0x0A - 0x0B : reserved\r
34          */\r
35 \r
36         VK(CLEAR),              // 0x0C\r
37         VK(RETURN),             // 0x0D\r
38 \r
39         VK(SHIFT),              // 0x10\r
40         VK(CONTROL),            // 0x11\r
41         VK(MENU),               // 0x12\r
42         VK(PAUSE),              // 0x13\r
43         VK(CAPITAL),            // 0x14\r
44 \r
45         VK(KANA),               // 0x15\r
46         VK(HANGEUL),            // 0x15  /* old name - should be here for compatibility */\r
47         VK(HANGUL),             // 0x15\r
48         VK(JUNJA),              // 0x17\r
49         VK(FINAL),              // 0x18\r
50         VK(HANJA),              // 0x19\r
51         VK(KANJI),              // 0x19\r
52 \r
53         VK(ESCAPE),             // 0x1B\r
54 \r
55         VK(CONVERT),            // 0x1C\r
56         VK(NONCONVERT), // 0x1D\r
57         VK(ACCEPT),             // 0x1E\r
58         VK(MODECHANGE), // 0x1F\r
59 \r
60         VK(SPACE),              // 0x20\r
61         VK(PRIOR),              // 0x21\r
62         VK(NEXT),               // 0x22\r
63         VK(END),                // 0x23\r
64         VK(HOME),               // 0x24\r
65         VK(LEFT),               // 0x25\r
66         VK(UP),         // 0x26\r
67         VK(RIGHT),              // 0x27\r
68         VK(DOWN),               // 0x28\r
69         VK(SELECT),             // 0x29\r
70         VK(PRINT),              // 0x2A\r
71         VK(EXECUTE),            // 0x2B\r
72         VK(SNAPSHOT),           // 0x2C\r
73         VK(INSERT),             // 0x2D\r
74         VK(DELETE),             // 0x2E\r
75         VK(HELP),               // 0x2F\r
76 \r
77         /*\r
78          * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)\r
79          * 0x40 : unassigned\r
80          * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)\r
81          */\r
82 \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
93 \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
120 \r
121         VK(LWIN),               // 0x5B\r
122         VK(RWIN),               // 0x5C\r
123         VK(APPS),               // 0x5D\r
124 \r
125         /*\r
126          * 0x5E : reserved\r
127          */\r
128 \r
129         VK(SLEEP),              // 0x5F\r
130 \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
142         VK(ADD),                // 0x6B\r
143         VK(SEPARATOR),  // 0x6C\r
144         VK(SUBTRACT),           // 0x6D\r
145         VK(DECIMAL),            // 0x6E\r
146         VK(DIVIDE),             // 0x6F\r
147         VK(F1),         // 0x70\r
148         VK(F2),         // 0x71\r
149         VK(F3),         // 0x72\r
150         VK(F4),         // 0x73\r
151         VK(F5),         // 0x74\r
152         VK(F6),         // 0x75\r
153         VK(F7),         // 0x76\r
154         VK(F8),         // 0x77\r
155         VK(F9),         // 0x78\r
156         VK(F10),                // 0x79\r
157         VK(F11),                // 0x7A\r
158         VK(F12),                // 0x7B\r
159         VK(F13),                // 0x7C\r
160         VK(F14),                // 0x7D\r
161         VK(F15),                // 0x7E\r
162         VK(F16),                // 0x7F\r
163         VK(F17),                // 0x80\r
164         VK(F18),                // 0x81\r
165         VK(F19),                // 0x82\r
166         VK(F20),                // 0x83\r
167         VK(F21),                // 0x84\r
168         VK(F22),                // 0x85\r
169         VK(F23),                // 0x86\r
170         VK(F24),                // 0x87\r
171 \r
172         /*\r
173          * 0x88 - 0x8F : unassigned\r
174          */\r
175 \r
176         VK(NUMLOCK),            // 0x90\r
177         VK(SCROLL),             // 0x91\r
178 \r
179         /*\r
180          * NEC PC-9800 kbd definitions\r
181          */\r
182         VK(OEM_NEC_EQUAL),      // 0x92 // '=' key on numpad\r
183 \r
184         /*\r
185          * Fujitsu/OASYS kbd definitions\r
186          */\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
192 \r
193         /*\r
194          * 0x97 - 0x9F : unassigned\r
195          */\r
196 \r
197         /*\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
201          */\r
202         VK(LSHIFT),             // 0xA0\r
203         VK(RSHIFT),             // 0xA1\r
204         VK(LCONTROL),           // 0xA2\r
205         VK(RCONTROL),           // 0xA3\r
206         VK(LMENU),              // 0xA4\r
207         VK(RMENU),              // 0xA5\r
208 \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
216 \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
228 \r
229         /*\r
230          * 0xB8 - 0xB9 : reserved\r
231          */\r
232 \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
240 \r
241         /*\r
242          * 0xC1 - 0xD7 : reserved\r
243          */\r
244 \r
245         /*\r
246          * 0xD8 - 0xDA : unassigned\r
247          */\r
248 \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
253         VK(OEM_8),              // 0xDF\r
254 \r
255         /*\r
256          * 0xE0 : reserved\r
257          */\r
258 \r
259         /*\r
260          * Various extended or enhanced keyboards\r
261          */\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
266 \r
267         VK(PROCESSKEY), // 0xE5\r
268 \r
269         VK(ICO_CLEAR),  // 0xE6\r
270 \r
271         VK(PACKET),             // 0xE7\r
272 \r
273         /*\r
274          * 0xE8 : unassigned\r
275          */\r
276 \r
277         /*\r
278          * Nokia/Ericsson definitions\r
279          */\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
293 \r
294         VK(ATTN),               // 0xF6\r
295         VK(CRSEL),              // 0xF7\r
296         VK(EXSEL),              // 0xF8\r
297         VK(EREOF),              // 0xF9\r
298         VK(PLAY),               // 0xFA\r
299         VK(ZOOM),               // 0xFB\r
300         VK(NONAME),             // 0xFC\r
301         VK(PA1),                // 0xFD\r
302         VK(OEM_CLEAR),  // 0xFE\r
303 \r
304         /*\r
305          * from Ime.h\r
306          */\r
307 \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
323 #endif\r
324 \r
325         { 0, NULL },\r
326 #undef VK\r
327 };\r