1#[derive(Debug, Clone, Copy)]
6pub struct MapEntry {
7 pub linux_keycode: u16,
8 pub xkb: u32,
9 pub win: u32,
10 pub mac: u32,
11}
12
13#[cfg_attr(windows, allow(dead_code))]
15pub const KEYCODE_MAP: [MapEntry; 104] = [
16 MapEntry {
17 linux_keycode: 30,
18 xkb: 0x0026,
19 win: 0x001e,
20 mac: 0x0000,
21 },
22 MapEntry {
23 linux_keycode: 48,
24 xkb: 0x0038,
25 win: 0x0030,
26 mac: 0x000b,
27 },
28 MapEntry {
29 linux_keycode: 46,
30 xkb: 0x0036,
31 win: 0x002e,
32 mac: 0x0008,
33 },
34 MapEntry {
35 linux_keycode: 32,
36 xkb: 0x0028,
37 win: 0x0020,
38 mac: 0x0002,
39 },
40 MapEntry {
41 linux_keycode: 18,
42 xkb: 0x001a,
43 win: 0x0012,
44 mac: 0x000e,
45 },
46 MapEntry {
47 linux_keycode: 33,
48 xkb: 0x0029,
49 win: 0x0021,
50 mac: 0x0003,
51 },
52 MapEntry {
53 linux_keycode: 34,
54 xkb: 0x002a,
55 win: 0x0022,
56 mac: 0x0005,
57 },
58 MapEntry {
59 linux_keycode: 35,
60 xkb: 0x002b,
61 win: 0x0023,
62 mac: 0x0004,
63 },
64 MapEntry {
65 linux_keycode: 23,
66 xkb: 0x001f,
67 win: 0x0017,
68 mac: 0x0022,
69 },
70 MapEntry {
71 linux_keycode: 36,
72 xkb: 0x002c,
73 win: 0x0024,
74 mac: 0x0026,
75 },
76 MapEntry {
77 linux_keycode: 37,
78 xkb: 0x002d,
79 win: 0x0025,
80 mac: 0x0028,
81 },
82 MapEntry {
83 linux_keycode: 38,
84 xkb: 0x002e,
85 win: 0x0026,
86 mac: 0x0025,
87 },
88 MapEntry {
89 linux_keycode: 50,
90 xkb: 0x003a,
91 win: 0x0032,
92 mac: 0x002e,
93 },
94 MapEntry {
95 linux_keycode: 49,
96 xkb: 0x0039,
97 win: 0x0031,
98 mac: 0x002d,
99 },
100 MapEntry {
101 linux_keycode: 24,
102 xkb: 0x0020,
103 win: 0x0018,
104 mac: 0x001f,
105 },
106 MapEntry {
107 linux_keycode: 25,
108 xkb: 0x0021,
109 win: 0x0019,
110 mac: 0x0023,
111 },
112 MapEntry {
113 linux_keycode: 16,
114 xkb: 0x0018,
115 win: 0x0010,
116 mac: 0x000c,
117 },
118 MapEntry {
119 linux_keycode: 19,
120 xkb: 0x001b,
121 win: 0x0013,
122 mac: 0x000f,
123 },
124 MapEntry {
125 linux_keycode: 31,
126 xkb: 0x0027,
127 win: 0x001f,
128 mac: 0x0001,
129 },
130 MapEntry {
131 linux_keycode: 20,
132 xkb: 0x001c,
133 win: 0x0014,
134 mac: 0x0011,
135 },
136 MapEntry {
137 linux_keycode: 22,
138 xkb: 0x001e,
139 win: 0x0016,
140 mac: 0x0020,
141 },
142 MapEntry {
143 linux_keycode: 47,
144 xkb: 0x0037,
145 win: 0x002f,
146 mac: 0x0009,
147 },
148 MapEntry {
149 linux_keycode: 17,
150 xkb: 0x0019,
151 win: 0x0011,
152 mac: 0x000d,
153 },
154 MapEntry {
155 linux_keycode: 45,
156 xkb: 0x0035,
157 win: 0x002d,
158 mac: 0x0007,
159 },
160 MapEntry {
161 linux_keycode: 21,
162 xkb: 0x001d,
163 win: 0x0015,
164 mac: 0x0010,
165 },
166 MapEntry {
167 linux_keycode: 44,
168 xkb: 0x0034,
169 win: 0x002c,
170 mac: 0x0006,
171 },
172 MapEntry {
173 linux_keycode: 2,
174 xkb: 0x000a,
175 win: 0x0002,
176 mac: 0x0012,
177 },
178 MapEntry {
179 linux_keycode: 3,
180 xkb: 0x000b,
181 win: 0x0003,
182 mac: 0x0013,
183 },
184 MapEntry {
185 linux_keycode: 4,
186 xkb: 0x000c,
187 win: 0x0004,
188 mac: 0x0014,
189 },
190 MapEntry {
191 linux_keycode: 5,
192 xkb: 0x000d,
193 win: 0x0005,
194 mac: 0x0015,
195 },
196 MapEntry {
197 linux_keycode: 6,
198 xkb: 0x000e,
199 win: 0x0006,
200 mac: 0x0017,
201 },
202 MapEntry {
203 linux_keycode: 7,
204 xkb: 0x000f,
205 win: 0x0007,
206 mac: 0x0016,
207 },
208 MapEntry {
209 linux_keycode: 8,
210 xkb: 0x0010,
211 win: 0x0008,
212 mac: 0x001a,
213 },
214 MapEntry {
215 linux_keycode: 9,
216 xkb: 0x0011,
217 win: 0x0009,
218 mac: 0x001c,
219 },
220 MapEntry {
221 linux_keycode: 10,
222 xkb: 0x0012,
223 win: 0x000a,
224 mac: 0x0019,
225 },
226 MapEntry {
227 linux_keycode: 11,
228 xkb: 0x0013,
229 win: 0x000b,
230 mac: 0x001d,
231 },
232 MapEntry {
233 linux_keycode: 28,
234 xkb: 0x0024,
235 win: 0x001c,
236 mac: 0x0024,
237 },
238 MapEntry {
239 linux_keycode: 1,
240 xkb: 0x0009,
241 win: 0x0001,
242 mac: 0x0035,
243 },
244 MapEntry {
245 linux_keycode: 14,
246 xkb: 0x0016,
247 win: 0x000e,
248 mac: 0x0033,
249 },
250 MapEntry {
251 linux_keycode: 15,
252 xkb: 0x0017,
253 win: 0x000f,
254 mac: 0x0030,
255 },
256 MapEntry {
257 linux_keycode: 57,
258 xkb: 0x0041,
259 win: 0x0039,
260 mac: 0x0031,
261 },
262 MapEntry {
263 linux_keycode: 12,
264 xkb: 0x0014,
265 win: 0x000c,
266 mac: 0x001b,
267 },
268 MapEntry {
269 linux_keycode: 13,
270 xkb: 0x0015,
271 win: 0x000d,
272 mac: 0x0018,
273 },
274 MapEntry {
275 linux_keycode: 26,
276 xkb: 0x0022,
277 win: 0x001a,
278 mac: 0x0021,
279 },
280 MapEntry {
281 linux_keycode: 27,
282 xkb: 0x0023,
283 win: 0x001b,
284 mac: 0x001e,
285 },
286 MapEntry {
287 linux_keycode: 43,
288 xkb: 0x0033,
289 win: 0x002b,
290 mac: 0x002a,
291 },
292 MapEntry {
293 linux_keycode: 39,
294 xkb: 0x002f,
295 win: 0x0027,
296 mac: 0x0029,
297 },
298 MapEntry {
299 linux_keycode: 40,
300 xkb: 0x0030,
301 win: 0x0028,
302 mac: 0x0027,
303 },
304 MapEntry {
305 linux_keycode: 41,
306 xkb: 0x0031,
307 win: 0x0029,
308 mac: 0x0032,
309 },
310 MapEntry {
311 linux_keycode: 51,
312 xkb: 0x003b,
313 win: 0x0033,
314 mac: 0x002b,
315 },
316 MapEntry {
317 linux_keycode: 52,
318 xkb: 0x003c,
319 win: 0x0034,
320 mac: 0x002f,
321 },
322 MapEntry {
323 linux_keycode: 53,
324 xkb: 0x003d,
325 win: 0x0035,
326 mac: 0x002c,
327 },
328 MapEntry {
329 linux_keycode: 58,
330 xkb: 0x0042,
331 win: 0x003a,
332 mac: 0x0039,
333 },
334 MapEntry {
335 linux_keycode: 119,
336 xkb: 0x007f,
337 win: 0x0045,
338 mac: 0xffff,
339 },
340 MapEntry {
341 linux_keycode: 110,
342 xkb: 0x0076,
343 win: 0xe052,
344 mac: 0x0072,
345 },
346 MapEntry {
347 linux_keycode: 102,
348 xkb: 0x006e,
349 win: 0xe047,
350 mac: 0x0073,
351 },
352 MapEntry {
353 linux_keycode: 104,
354 xkb: 0x0070,
355 win: 0xe049,
356 mac: 0x0074,
357 },
358 MapEntry {
359 linux_keycode: 111,
360 xkb: 0x0077,
361 win: 0xe053,
362 mac: 0x0075,
363 },
364 MapEntry {
365 linux_keycode: 107,
366 xkb: 0x0073,
367 win: 0xe04f,
368 mac: 0x0077,
369 },
370 MapEntry {
371 linux_keycode: 109,
372 xkb: 0x0075,
373 win: 0xe051,
374 mac: 0x0079,
375 },
376 MapEntry {
377 linux_keycode: 106,
378 xkb: 0x0072,
379 win: 0xe04d,
380 mac: 0x007c,
381 },
382 MapEntry {
383 linux_keycode: 105,
384 xkb: 0x0071,
385 win: 0xe04b,
386 mac: 0x007b,
387 },
388 MapEntry {
389 linux_keycode: 108,
390 xkb: 0x0074,
391 win: 0xe050,
392 mac: 0x007d,
393 },
394 MapEntry {
395 linux_keycode: 103,
396 xkb: 0x006f,
397 win: 0xe048,
398 mac: 0x007e,
399 },
400 MapEntry {
401 linux_keycode: 69,
402 xkb: 0x004d,
403 win: 0xe045,
404 mac: 0x0047,
405 },
406 MapEntry {
407 linux_keycode: 98,
408 xkb: 0x006a,
409 win: 0xe035,
410 mac: 0x004b,
411 },
412 MapEntry {
413 linux_keycode: 78,
414 xkb: 0x0056,
415 win: 0x004e,
416 mac: 0x0045,
417 },
418 MapEntry {
419 linux_keycode: 28,
420 xkb: 0x0068,
421 win: 0xe01c,
422 mac: 0x004c,
423 },
424 MapEntry {
425 linux_keycode: 79,
426 xkb: 0x0057,
427 win: 0x004f,
428 mac: 0x0053,
429 },
430 MapEntry {
431 linux_keycode: 80,
432 xkb: 0x0058,
433 win: 0x0050,
434 mac: 0x0054,
435 },
436 MapEntry {
437 linux_keycode: 81,
438 xkb: 0x0059,
439 win: 0x0051,
440 mac: 0x0055,
441 },
442 MapEntry {
443 linux_keycode: 75,
444 xkb: 0x0053,
445 win: 0x004b,
446 mac: 0x0056,
447 },
448 MapEntry {
449 linux_keycode: 76,
450 xkb: 0x0054,
451 win: 0x004c,
452 mac: 0x0057,
453 },
454 MapEntry {
455 linux_keycode: 77,
456 xkb: 0x0055,
457 win: 0x004d,
458 mac: 0x0058,
459 },
460 MapEntry {
461 linux_keycode: 71,
462 xkb: 0x004f,
463 win: 0x0047,
464 mac: 0x0059,
465 },
466 MapEntry {
467 linux_keycode: 72,
468 xkb: 0x0050,
469 win: 0x0048,
470 mac: 0x005b,
471 },
472 MapEntry {
473 linux_keycode: 73,
474 xkb: 0x0051,
475 win: 0x0049,
476 mac: 0x005c,
477 },
478 MapEntry {
479 linux_keycode: 82,
480 xkb: 0x005a,
481 win: 0x0052,
482 mac: 0x0052,
483 },
484 MapEntry {
485 linux_keycode: 116,
486 xkb: 0x007c,
487 win: 0xe05e,
488 mac: 0xffff,
489 },
490 MapEntry {
491 linux_keycode: 121,
492 xkb: 0x0081,
493 win: 0x007e,
494 mac: 0x005f,
495 },
496 MapEntry {
497 linux_keycode: 29,
498 xkb: 0x0025,
499 win: 0x001d,
500 mac: 0x003b,
501 },
502 MapEntry {
503 linux_keycode: 42,
504 xkb: 0x0032,
505 win: 0x002a,
506 mac: 0x0038,
507 },
508 MapEntry {
509 linux_keycode: 56,
510 xkb: 0x0040,
511 win: 0x0038,
512 mac: 0x003a,
513 },
514 MapEntry {
515 linux_keycode: 125,
516 xkb: 0x0085,
517 win: 0xe05b,
518 mac: 0x0037,
519 },
520 MapEntry {
521 linux_keycode: 97,
522 xkb: 0x0069,
523 win: 0xe01d,
524 mac: 0x003e,
525 },
526 MapEntry {
527 linux_keycode: 54,
528 xkb: 0x003e,
529 win: 0x0036,
530 mac: 0x003c,
531 },
532 MapEntry {
533 linux_keycode: 100,
534 xkb: 0x006c,
535 win: 0xe038,
536 mac: 0x003d,
537 },
538 MapEntry {
539 linux_keycode: 126,
540 xkb: 0x0086,
541 win: 0xe05c,
542 mac: 0x0036,
543 },
544 MapEntry {
545 linux_keycode: 55,
546 xkb: 0x003f,
547 win: 0x0037,
548 mac: 0x0043,
549 },
550 MapEntry {
551 linux_keycode: 83,
552 xkb: 0x005b,
553 win: 0x0053,
554 mac: 0x0041,
555 },
556 MapEntry {
557 linux_keycode: 74,
558 xkb: 0x0052,
559 win: 0x004a,
560 mac: 0x004e,
561 },
562 MapEntry {
563 linux_keycode: 59,
564 xkb: 0x0043,
565 win: 0x003b,
566 mac: 0x007a,
567 },
568 MapEntry {
569 linux_keycode: 60,
570 xkb: 0x0044,
571 win: 0x003c,
572 mac: 0x0078,
573 },
574 MapEntry {
575 linux_keycode: 61,
576 xkb: 0x0045,
577 win: 0x003d,
578 mac: 0x0063,
579 },
580 MapEntry {
581 linux_keycode: 62,
582 xkb: 0x0046,
583 win: 0x003e,
584 mac: 0x0076,
585 },
586 MapEntry {
587 linux_keycode: 63,
588 xkb: 0x0047,
589 win: 0x003f,
590 mac: 0x0060,
591 },
592 MapEntry {
593 linux_keycode: 64,
594 xkb: 0x0048,
595 win: 0x0040,
596 mac: 0x0061,
597 },
598 MapEntry {
599 linux_keycode: 65,
600 xkb: 0x0049,
601 win: 0x0041,
602 mac: 0x0062,
603 },
604 MapEntry {
605 linux_keycode: 66,
606 xkb: 0x004a,
607 win: 0x0042,
608 mac: 0x0064,
609 },
610 MapEntry {
611 linux_keycode: 67,
612 xkb: 0x004b,
613 win: 0x0043,
614 mac: 0x0065,
615 },
616 MapEntry {
617 linux_keycode: 68,
618 xkb: 0x004c,
619 win: 0x0044,
620 mac: 0x006d,
621 },
622 MapEntry {
623 linux_keycode: 87,
624 xkb: 0x005f,
625 win: 0x0057,
626 mac: 0x0067,
627 },
628 MapEntry {
629 linux_keycode: 88,
630 xkb: 0x0060,
631 win: 0x0058,
632 mac: 0x006f,
633 },
634 MapEntry {
635 linux_keycode: 117,
636 xkb: 0x007d,
637 win: 0x0059,
638 mac: 0x0051,
639 },
640];