Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
google
GitHub Repository: google/crosvm
Path: blob/main/gpu_display/src/keycode_converter/data.rs
5394 views
1
// Copyright 2022 The ChromiumOS Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#[derive(Debug, Clone, Copy)]
6
pub struct MapEntry {
7
pub linux_keycode: u16,
8
pub xkb: u32,
9
pub win: u32,
10
pub mac: u32,
11
}
12
13
// Based on Chromium's chromium/chromium/ui/events/keycodes/dom/keycode_converter_data.inc.
14
#[cfg_attr(windows, allow(dead_code))]
15
pub 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
];
641
642