1 /*****************************************************************************
2 * Copyright (c) 2013 IBM Corporation
4 * This program and the accompanying materials
5 * are made available under the terms of the BSD License
6 * which accompanies this distribution, and is available at
7 * http://www.opensource.org/licenses/bsd-license.php
10 * IBM Corporation - initial implementation
11 *****************************************************************************/
15 /***********************************/
16 /* Keycodes for US Keyboard */
17 /* - no control keys pressed - */
18 /***********************************/
19 const uint8_t keycodes_std_US[] = {
20 0, /* 0 00 Reserved (no event indicated) */
21 0, /* 1 01 Keyboard ErrorRollOver */
22 0, /* 2 02 Keyboard POSTFail */
23 0, /* 3 03 Keyboard ErrorUndefined */
24 'a', /* 4 04 Keyboard a and A 31 */
25 'b', /* 5 05 Keyboard b and B 50 */
26 'c', /* 6 06 Keyboard c and C 48 */
27 'd', /* 7 07 Keyboard d and D 33 */
28 'e', /* 8 08 Keyboard e and E 19 */
29 'f', /* 9 09 Keyboard f and F 34 */
30 'g', /* 10 0A Keyboard g and G 35 */
31 'h', /* 11 0B Keyboard h and H 36 */
32 'i', /* 12 0C Keyboard i and I 24 */
33 'j', /* 13 0D Keyboard j and J 37 */
34 'k', /* 14 0E Keyboard k and K 38 */
35 'l', /* 15 0F Keyboard l and L 39 */
36 'm', /* 16 10 Keyboard m and M 52 */
37 'n', /* 17 11 Keyboard n and N 51 */
38 'o', /* 18 12 Keyboard o and O 25 */
39 'p', /* 19 13 Keyboard p and P 26 */
40 'q', /* 20 14 Keyboard q and Q 17 */
41 'r', /* 21 15 Keyboard r and R 20 */
42 's', /* 22 16 Keyboard s and S 32 */
43 't', /* 23 17 Keyboard t and T 21 */
44 'u', /* 24 18 Keyboard u and U 23 */
45 'v', /* 25 19 Keyboard v and V 49 */
46 'w', /* 26 1A Keyboard w and W 18 */
47 'x', /* 27 1B Keyboard x and X 47 */
48 'y', /* 28 1C Keyboard y and Y 22 */
49 'z', /* 29 1D Keyboard z and Z 46 */
50 '1', /* 30 1E Keyboard 1 and ! 2 */
51 '2', /* 31 1F Keyboard 2 and @ 3 */
52 '3', /* 32 20 Keyboard 3 and # 4 */
53 '4', /* 33 21 Keyboard 4 and $ 5 */
54 '5', /* 34 22 Keyboard 5 and % 6 */
55 '6', /* 35 23 Keyboard 6 and ^ 7 */
56 '7', /* 36 24 Keyboard 7 and & 8 */
57 '8', /* 37 25 Keyboard 8 and * 9 */
58 '9', /* 38 26 Keyboard 9 and ( 10 */
59 '0', /* 39 27 Keyboard 0 and ) 11 */
60 13, /* 40 28 Keyboard Return (ENTER) 43 */
61 27, /* 41 29 Keyboard ESCAPE 110 */
62 8, /* 42 2A Keyboard DELETE (BS) 15 */
63 9, /* 43 2B Keyboard Tab 16 */
64 ' ', /* 44 2C Keyboard Spacebar 61 */
65 '-', /* 45 2D Keyboard - and (underscore) 12 */
66 '=', /* 46 2E Keyboard = and + 13 */
67 '[', /* 47 2F Keyboard [ and { 27 */
68 ']', /* 48 30 Keyboard ] and } 28 */
69 '\\', /* 49 31 Keyboard \ and | 29 */
70 '\\', /* 50 32 Keyboard \ and | 42 */
71 ';', /* 51 33 Keyboard ; and : 40 */
72 39, /* 52 34 Keyboard ' and " 41 */
73 96, /* 53 35 Keyboard Grave Accent and Tilde 1 */
74 ',', /* 54 36 Keyboard , and < 53 */
75 '.', /* 55 37 Keyboard . and > 54 */
76 '/', /* 56 38 Keyboard / and ? 55 */
77 0, /* 57 39 Keyboard Caps Lock 30 */
78 0, /* 58 3A Keyboard F1 112 */
79 0, /* 59 3B Keyboard F2 113 */
80 0, /* 60 3C Keyboard F3 114 */
81 0, /* 61 3D Keyboard F4 115 */
82 0, /* 62 3E Keyboard F5 116 */
83 0, /* 63 3F Keyboard F6 117 */
84 0, /* 64 40 Keyboard F7 118 */
85 0, /* 65 41 Keyboard F8 119 */
86 0, /* 66 42 Keyboard F9 120 */
87 0, /* 67 43 Keyboard F10 121 */
88 0, /* 68 44 Keyboard F11 122 */
89 0, /* 69 45 Keyboard F12 123 */
90 0, /* 70 46 Keyboard PrintScreen 124 */
91 0, /* 71 47 Keyboard Scroll Lock 125 */
92 0, /* 72 48 Keyboard Pause 126 */
93 0, /* 73 49 Keyboard Insert 75 */
94 0, /* 74 4A Keyboard Home 80 */
95 0, /* 75 4B Keyboard PageUp 85 */
96 0, /* 76 4C Keyboard Delete Forward 76 */
97 0, /* 77 4D Keyboard End 81 */
98 0, /* 78 4E Keyboard PageDown 86 */
99 0, /* 79 4F Keyboard RightArrow 89 */
100 0, /* 80 50 Keyboard LeftArrow 79 */
101 0, /* 81 51 Keyboard DownArrow 84 */
102 0, /* 82 52 Keyboard UpArrow 83 */
103 0, /* 83 53 Keypad Num Lock and Clear 90 */
104 '/', /* 84 54 Keypad / 95 */
105 '*', /* 85 55 Keypad * 100 */
106 '-', /* 86 56 Keypad - 105 */
107 '+', /* 87 57 Keypad + 106 */
108 13, /* 88 58 Keypad ENTER 108 */
109 '1', /* 89 59 Keypad 1 and End 93 */
110 '2', /* 90 5A Keypad 2 and Down Arrow 98 */
111 '3', /* 91 5B Keypad 3 and PageDn 103 */
112 '4', /* 92 5C Keypad 4 and Left Arrow 92 */
113 '5', /* 93 5D Keypad 5 97 */
114 '6', /* 94 5E Keypad 6 and Right Arrow 102 */
115 '7', /* 95 5F Keypad 7 and Home 91 */
116 '8', /* 96 60 Keypad 8 and Up Arrow 96 */
117 '9', /* 97 61 Keypad 9 and PageUp 101 */
118 '0', /* 98 62 Keypad 0 and Insert 99 */
119 '.', /* 99 63 Keypad . and Delete 104 */
120 '\\' /* 100 64 Keyboard Non-US \ and | 45 */
123 /***********************************/
124 /* Keycodes for US Keyboard */
125 /* - SHIFT-KEY pressed - */
126 /***********************************/
127 const uint8_t keycodes_shift_US[] = {
128 0, /* 0 00 Reserved (no event indicated) */
129 0, /* 1 01 Keyboard ErrorRollOver */
130 0, /* 2 02 Keyboard POSTFail */
131 0, /* 3 03 Keyboard ErrorUndefined */
132 'A', /* 4 04 Keyboard a and A 31 */
133 'B', /* 5 05 Keyboard b and B 50 */
134 'C', /* 6 06 Keyboard c and C 48 */
135 'D', /* 7 07 Keyboard d and D 33 */
136 'E', /* 8 08 Keyboard e and E 19 */
137 'F', /* 9 09 Keyboard f and F 34 */
138 'G', /* 10 0A Keyboard g and G 35 */
139 'H', /* 11 0B Keyboard h and H 36 */
140 'I', /* 12 0C Keyboard i and I 24 */
141 'J', /* 13 0D Keyboard j and J 37 */
142 'K', /* 14 0E Keyboard k and K 38 */
143 'L', /* 15 0F Keyboard l and L 39 */
144 'M', /* 16 10 Keyboard m and M 52 */
145 'N', /* 17 11 Keyboard n and N 51 */
146 'O', /* 18 12 Keyboard o and O 25 */
147 'P', /* 19 13 Keyboard p and P 26 */
148 'Q', /* 20 14 Keyboard q and Q 17 */
149 'R', /* 21 15 Keyboard r and R 20 */
150 'S', /* 22 16 Keyboard s and S 32 */
151 'T', /* 23 17 Keyboard t and T 21 */
152 'U', /* 24 18 Keyboard u and U 23 */
153 'V', /* 25 19 Keyboard v and V 49 */
154 'W', /* 26 1A Keyboard w and W 18 */
155 'X', /* 27 1B Keyboard x and X 47 */
156 'Y', /* 28 1C Keyboard y and Y 22 */
157 'Z', /* 29 1D Keyboard z and Z 46 */
158 '!', /* 30 1E Keyboard 1 and ! 2 */
159 '@', /* 31 1F Keyboard 2 and @ 3 */
160 '#', /* 32 20 Keyboard 3 and # 4 */
161 '$', /* 33 21 Keyboard 4 and $ 5 */
162 '%', /* 34 22 Keyboard 5 and % 6 */
163 '^', /* 35 23 Keyboard 6 and ^ 7 */
164 '&', /* 36 24 Keyboard 7 and & 8 */
165 '*', /* 37 25 Keyboard 8 and * 9 */
166 '(', /* 38 26 Keyboard 9 and ( 10 */
167 ')', /* 39 27 Keyboard 0 and ) 11 */
168 13, /* 40 28 Keyboard Return (ENTER) 43 */
169 27, /* 41 29 Keyboard ESCAPE 110 */
170 8, /* 42 2A Keyboard DELETE (BS) 15 */
171 9, /* 43 2B Keyboard Tab 16 */
172 ' ', /* 44 2C Keyboard Spacebar 61 */
173 '_', /* 45 2D Keyboard - and (underscore) 12 */
174 '+', /* 46 2E Keyboard = and + 13 */
175 '{', /* 47 2F Keyboard [ and { 27 */
176 '}', /* 48 30 Keyboard ] and } 28 */
177 '|', /* 49 31 Keyboard \ and | 29 */
178 '|', /* 50 32 Keyboard \ and | 42 */
179 ':', /* 51 33 Keyboard ; and : 40 */
180 '"', /* 52 34 Keyboard ' and " 41 */
181 '~', /* 53 35 Keyboard Grave Accent and Tilde 1 */
182 '<', /* 54 36 Keyboard , and < 53 */
183 '>', /* 55 37 Keyboard . and > 54 */
184 '?', /* 56 38 Keyboard / and ? 55 */
185 0, /* 57 39 Keyboard Caps Lock 30 */
186 0, /* 58 3A Keyboard F1 112 */
187 0, /* 59 3B Keyboard F2 113 */
188 0, /* 60 3C Keyboard F3 114 */
189 0, /* 61 3D Keyboard F4 115 */
190 0, /* 62 3E Keyboard F5 116 */
191 0, /* 63 3F Keyboard F6 117 */
192 0, /* 64 40 Keyboard F7 118 */
193 0, /* 65 41 Keyboard F8 119 */
194 0, /* 66 42 Keyboard F9 120 */
195 0, /* 67 43 Keyboard F10 121 */
196 0, /* 68 44 Keyboard F11 122 */
197 0, /* 69 45 Keyboard F12 123 */
198 0, /* 70 46 Keyboard PrintScreen 124 */
199 0, /* 71 47 Keyboard Scroll Lock 125 */
200 0, /* 72 48 Keyboard Pause 126 */
201 48, /* 73 49 Keyboard Insert 75 */
202 55, /* 74 4A Keyboard Home 80 */
203 57, /* 75 4B Keyboard PageUp 85 */
204 46, /* 76 4C Keyboard Delete Forward 76 */
205 49, /* 77 4D Keyboard End 81 */
206 51, /* 78 4E Keyboard PageDown 86 */
207 54, /* 79 4F Keyboard RightArrow 89 */
208 52, /* 80 50 Keyboard LeftArrow 79 */
209 50, /* 81 51 Keyboard DownArrow 84 */
210 56, /* 82 52 Keyboard UpArrow 83 */
211 0, /* 83 53 Keypad Num Lock and Clear 90 */
212 '/', /* 84 54 Keypad / 95 */
213 '*', /* 85 55 Keypad * 100 */
214 '-', /* 86 56 Keypad - 105 */
215 '+', /* 87 57 Keypad + 106 */
216 13, /* 88 58 Keypad ENTER 108 */
217 '1', /* 89 59 Keypad 1 and End 93 */
218 '2', /* 90 5A Keypad 2 and Down Arrow 98 */
219 '3', /* 91 5B Keypad 3 and PageDn 103 */
220 '4', /* 92 5C Keypad 4 and Left Arrow 92 */
221 '5', /* 93 5D Keypad 5 97 */
222 '6', /* 94 5E Keypad 6 and Right Arrow 102 */
223 '7', /* 95 5F Keypad 7 and Home 91 */
224 '8', /* 96 60 Keypad 8 and Up Arrow 96 */
225 '9', /* 97 61 Keypad 9 and PageUp 101 */
226 '0', /* 98 62 Keypad 0 and Insert 99 */
227 '.', /* 99 63 Keypad . and Delete 104 */
228 '|' /* 100 64 Keyboard Non-US \ and | 45 */
231 /***********************************/
232 /* Keycodes for 1 byte translation */
233 /* - CONTROL-KEY pressed - */
234 /***********************************/
235 const uint8_t keycodes_alt_GR[] = {
236 0, /* 0 00 Reserved (no event indicated) */
237 0, /* 1 01 Keyboard ErrorRollOver */
238 0, /* 2 02 Keyboard POSTFail */
239 0, /* 3 03 Keyboard ErrorUndefined */
240 0, /* 4 04 Keyboard a and A 31 */
241 0, /* 5 05 Keyboard b and B 50 */
242 0, /* 6 06 Keyboard c and C 48 */
243 0, /* 7 07 Keyboard d and D 33 */
244 0, /* 8 08 Keyboard e and E 19 */
245 0, /* 9 09 Keyboard f and F 34 */
246 0, /* 10 0A Keyboard g and G 35 */
247 0, /* 11 0B Keyboard h and H 36 */
248 0, /* 12 0C Keyboard i and I 24 */
249 0, /* 13 0D Keyboard j and J 37 */
250 0, /* 14 0E Keyboard k and K 38 */
251 0, /* 15 0F Keyboard l and L 39 */
252 0, /* 16 10 Keyboard m and M 52 */
253 0, /* 17 11 Keyboard n and N 51 */
254 0, /* 18 12 Keyboard o and O 25 */
255 0, /* 19 13 Keyboard p and P 26 */
256 '@', /* 20 14 Keyboard q and Q 17 */
257 0, /* 21 15 Keyboard r and R 20 */
258 0, /* 22 16 Keyboard s and S 32 */
259 0, /* 23 17 Keyboard t and T 21 */
260 0, /* 24 18 Keyboard u and U 23 */
261 0, /* 25 19 Keyboard v and V 49 */
262 0, /* 26 1A Keyboard w and W 18 */
263 0, /* 27 1B Keyboard x and X 47 */
264 0, /* 28 1C Keyboard y and Y 22 */
265 0, /* 29 1D Keyboard z and Z 46 */
266 0, /* 30 1E Keyboard 1 and ! 2 */
267 0, /* 31 1F Keyboard 2 and @ 3 */
268 0, /* 32 20 Keyboard 3 and # 4 */
269 0, /* 33 21 Keyboard 4 and $ 5 */
270 0, /* 34 22 Keyboard 5 and % 6 */
271 0, /* 35 23 Keyboard 6 and ^ 7 */
272 '{', /* 36 24 Keyboard 7 and & 8 */
273 '[', /* 37 25 Keyboard 8 and * 9 */
274 ']', /* 38 26 Keyboard 9 and ( 10 */
275 '}', /* 39 27 Keyboard 0 and ) 11 */
276 0, /* 40 28 Keyboard Return (ENTER) 43 */
277 0, /* 41 29 Keyboard ESCAPE 110 */
278 0, /* 42 2A Keyboard DELETE (BS) 15 */
279 0, /* 43 2B Keyboard Tab 16 */
280 0, /* 44 2C Keyboard Spacebar 61 */
281 '\\', /* 45 2D Keyboard - and (underscore) 12 */
282 0, /* 46 2E Keyboard = and + 13 */
283 0, /* 47 2F Keyboard [ and { 27 */
284 '~', /* 48 30 Keyboard ] and } 28 */
285 0, /* 49 31 Keyboard \ and | 29 */
286 0, /* 50 32 Keyboard Non-US # and ~ 42 */
287 0, /* 51 33 Keyboard ; and : 40 */
288 0, /* 52 34 Keyboard ' and " 41 */
289 0, /* 53 35 Keyboard Grave Accent and Tilde 1 */
290 0, /* 54 36 Keyboard , and < 53 */
291 0, /* 55 37 Keyboard . and > 54 */
292 0, /* 56 38 Keyboard / and ? 55 */
293 0, /* 57 39 Keyboard Caps Lock 30 */
294 0, /* 58 3A Keyboard F1 112 */
295 0, /* 59 3B Keyboard F2 113 */
296 0, /* 60 3C Keyboard F3 114 */
297 0, /* 61 3D Keyboard F4 115 */
298 0, /* 62 3E Keyboard F5 116 */
299 0, /* 63 3F Keyboard F6 117 */
300 0, /* 64 40 Keyboard F7 118 */
301 0, /* 65 41 Keyboard F8 119 */
302 0, /* 66 42 Keyboard F9 120 */
303 0, /* 67 43 Keyboard F10 121 */
304 0, /* 68 44 Keyboard F11 122 */
305 0, /* 69 45 Keyboard F12 123 */
306 0, /* 70 46 Keyboard PrintScreen 124 */
307 0, /* 71 47 Keyboard Scroll Lock 125 */
308 0, /* 72 48 Keyboard Pause 126 */
309 0, /* 73 49 Keyboard Insert 75 */
310 0, /* 74 4A Keyboard Home 80 */
311 0, /* 75 4B Keyboard PageUp 85 */
312 0, /* 76 4C Keyboard Delete Forward 76 */
313 0, /* 77 4D Keyboard End 81 */
314 0, /* 78 4E Keyboard PageDown 86 */
315 0, /* 79 4F Keyboard RightArrow 89 */
316 0, /* 80 50 Keyboard LeftArrow 79 */
317 0, /* 81 51 Keyboard DownArrow 84 */
318 0, /* 82 52 Keyboard UpArrow 83 */
319 0, /* 83 53 Keypad Num Lock and Clear 90 */
320 0, /* 84 54 Keypad / 95 */
321 0, /* 85 55 Keypad * 100 */
322 0, /* 86 56 Keypad - 105 */
323 0, /* 87 57 Keypad + 106 */
324 0, /* 88 58 Keypad ENTER 108 */
325 0, /* 89 59 Keypad 1 and End 93 */
326 0, /* 90 5A Keypad 2 and Down Arrow 98 */
327 0, /* 91 5B Keypad 3 and PageDn 103 */
328 0, /* 92 5C Keypad 4 and Left Arrow 92 */
329 0, /* 93 5D Keypad 5 97 */
330 0, /* 94 5E Keypad 6 and Right Arrow 102 */
331 0, /* 95 5F Keypad 7 and Home 91 */
332 0, /* 96 60 Keypad 8 and Up Arrow 96 */
333 0, /* 97 61 Keypad 9 and PageUp 101 */
334 0, /* 98 62 Keypad 0 and Insert 99 */
335 0, /* 99 63 Keypad . and Delete 104 */
336 '|' /* 100 64 Keyboard Non-US \ and | 45 */
340 /***********************************/
341 /* Keycodes for 1 byte translation */
342 /* - CONTROL-KEY pressed - */
343 /***********************************/
344 const uint8_t keycodes_ctrl[] = {
345 0, /* 0 00 Reserved (no event indicated) */
346 0, /* 1 01 Keyboard ErrorRollOver */
347 0, /* 2 02 Keyboard POSTFail */
348 0, /* 3 03 Keyboard ErrorUndefined */
349 1, /* 4 04 Keyboard a and A 31 */
350 2, /* 5 05 Keyboard b and B 50 */
351 3, /* 6 06 Keyboard c and C 48 */
352 4, /* 7 07 Keyboard d and D 33 */
353 5, /* 8 08 Keyboard e and E 19 */
354 6, /* 9 09 Keyboard f and F 34 */
355 7, /* 10 0A Keyboard g and G 35 */
356 8, /* 11 0B Keyboard h and H 36 */
357 9, /* 12 0C Keyboard i and I 24 */
358 10, /* 13 0D Keyboard j and J 37 */
359 11, /* 14 0E Keyboard k and K 38 */
360 12, /* 15 0F Keyboard l and L 39 */
361 13, /* 16 10 Keyboard m and M 52 */
362 14, /* 17 11 Keyboard n and N 51 */
363 15, /* 18 12 Keyboard o and O 25 */
364 16, /* 19 13 Keyboard p and P 26 */
365 17, /* 20 14 Keyboard q and Q 17 */
366 18, /* 21 15 Keyboard r and R 20 */
367 19, /* 22 16 Keyboard s and S 32 */
368 20, /* 23 17 Keyboard t and T 21 */
369 21, /* 24 18 Keyboard u and U 23 */
370 22, /* 25 19 Keyboard v and V 49 */
371 23, /* 26 1A Keyboard w and W 18 */
372 24, /* 27 1B Keyboard x and X 47 */
373 25, /* 28 1C Keyboard y and Y 22 */
374 26, /* 29 1D Keyboard z and Z 46 */
375 0, /* 30 1E Keyboard 1 and ! 2 */
376 0, /* 31 1F Keyboard 2 and @ 3 */
377 0, /* 32 20 Keyboard 3 and # 4 */
378 0, /* 33 21 Keyboard 4 and $ 5 */
379 0, /* 34 22 Keyboard 5 and % 6 */
380 0, /* 35 23 Keyboard 6 and ^ 7 */
381 0, /* 36 24 Keyboard 7 and & 8 */
382 0, /* 37 25 Keyboard 8 and * 9 */
383 0, /* 38 26 Keyboard 9 and ( 10 */
384 0, /* 39 27 Keyboard 0 and ) 11 */
385 0, /* 40 28 Keyboard Return (ENTER) 43 */
386 0, /* 41 29 Keyboard ESCAPE 110 */
387 0, /* 42 2A Keyboard DELETE (BS) 15 */
388 0, /* 43 2B Keyboard Tab 16 */
389 0, /* 44 2C Keyboard Spacebar 61 */
390 0, /* 45 2D Keyboard - and (underscore) 12 */
391 0, /* 46 2E Keyboard = and + 13 */
392 0, /* 47 2F Keyboard [ and { 27 */
393 0, /* 48 30 Keyboard ] and } 28 */
394 0, /* 49 31 Keyboard \ and | 29 */
395 0, /* 50 32 Keyboard Non-US # and ~ 42 */
396 0, /* 51 33 Keyboard ; and : 40 */
397 0, /* 52 34 Keyboard ' and " 41 */
398 0, /* 53 35 Keyboard Grave Accent and Tilde 1 */
399 0, /* 54 36 Keyboard , and < 53 */
400 0, /* 55 37 Keyboard . and > 54 */
401 0, /* 56 38 Keyboard / and ? 55 */
402 0, /* 57 39 Keyboard Caps Lock 30 */
403 0, /* 58 3A Keyboard F1 112 */
404 0, /* 59 3B Keyboard F2 113 */
405 0, /* 60 3C Keyboard F3 114 */
406 0, /* 61 3D Keyboard F4 115 */
407 0, /* 62 3E Keyboard F5 116 */
408 0, /* 63 3F Keyboard F6 117 */
409 0, /* 64 40 Keyboard F7 118 */
410 0, /* 65 41 Keyboard F8 119 */
411 0, /* 66 42 Keyboard F9 120 */
412 0, /* 67 43 Keyboard F10 121 */
413 0, /* 68 44 Keyboard F11 122 */
414 0, /* 69 45 Keyboard F12 123 */
415 0, /* 70 46 Keyboard PrintScreen 124 */
416 0, /* 71 47 Keyboard Scroll Lock 125 */
417 0, /* 72 48 Keyboard Pause 126 */
418 0, /* 73 49 Keyboard Insert 75 */
419 0, /* 74 4A Keyboard Home 80 */
420 0, /* 75 4B Keyboard PageUp 85 */
421 0, /* 76 4C Keyboard Delete Forward 76 */
422 0, /* 77 4D Keyboard End 81 */
423 0, /* 78 4E Keyboard PageDown 86 */
424 0, /* 79 4F Keyboard RightArrow 89 */
425 0, /* 80 50 Keyboard LeftArrow 79 */
426 0, /* 81 51 Keyboard DownArrow 84 */
427 0, /* 82 52 Keyboard UpArrow 83 */
428 0, /* 83 53 Keypad Num Lock and Clear 90 */
429 0, /* 84 54 Keypad / 95 */
430 0, /* 85 55 Keypad * 100 */
431 0, /* 86 56 Keypad - 105 */
432 0, /* 87 57 Keypad + 106 */
433 0, /* 88 58 Keypad ENTER 108 */
434 0, /* 89 59 Keypad 1 and End 93 */
435 0, /* 90 5A Keypad 2 and Down Arrow 98 */
436 0, /* 91 5B Keypad 3 and PageDn 103 */
437 0, /* 92 5C Keypad 4 and Left Arrow 92 */
438 0, /* 93 5D Keypad 5 97 */
439 0, /* 94 5E Keypad 6 and Right Arrow 102 */
440 0, /* 95 5F Keypad 7 and Home 91 */
441 0, /* 96 60 Keypad 8 and Up Arrow 96 */
442 0, /* 97 61 Keypad 9 and PageUp 101 */
443 0, /* 98 62 Keypad 0 and Insert 99 */
444 0, /* 99 63 Keypad . and Delete 104 */
445 0 /* 100 64 Keyboard Non-US \ and | 45 */