blob: d5b3cb50f2533fafd8cfc1c779046dd54c2c8bb7 [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// DO NOT EDIT -- DO NOT EDIT -- DO NOT EDIT
// This file is generated by dev/tools/gen_keycodes/bin/gen_keycodes.dart and
// should not be edited directly.
//
// Edit the template dev/tools/gen_keycodes/data/keyboard_maps.tmpl instead.
// See dev/tools/gen_keycodes/README.md for more information.
import 'keyboard_key.dart';
/// Maps Android-specific key codes to the matching [LogicalKeyboardKey].
const Map<int, LogicalKeyboardKey> kAndroidToLogicalKey = <int, LogicalKeyboardKey>{
0: LogicalKeyboardKey.none,
119: LogicalKeyboardKey.fn,
223: LogicalKeyboardKey.sleep,
224: LogicalKeyboardKey.wakeUp,
29: LogicalKeyboardKey.keyA,
30: LogicalKeyboardKey.keyB,
31: LogicalKeyboardKey.keyC,
32: LogicalKeyboardKey.keyD,
33: LogicalKeyboardKey.keyE,
34: LogicalKeyboardKey.keyF,
35: LogicalKeyboardKey.keyG,
36: LogicalKeyboardKey.keyH,
37: LogicalKeyboardKey.keyI,
38: LogicalKeyboardKey.keyJ,
39: LogicalKeyboardKey.keyK,
40: LogicalKeyboardKey.keyL,
41: LogicalKeyboardKey.keyM,
42: LogicalKeyboardKey.keyN,
43: LogicalKeyboardKey.keyO,
44: LogicalKeyboardKey.keyP,
45: LogicalKeyboardKey.keyQ,
46: LogicalKeyboardKey.keyR,
47: LogicalKeyboardKey.keyS,
48: LogicalKeyboardKey.keyT,
49: LogicalKeyboardKey.keyU,
50: LogicalKeyboardKey.keyV,
51: LogicalKeyboardKey.keyW,
52: LogicalKeyboardKey.keyX,
53: LogicalKeyboardKey.keyY,
54: LogicalKeyboardKey.keyZ,
8: LogicalKeyboardKey.digit1,
9: LogicalKeyboardKey.digit2,
10: LogicalKeyboardKey.digit3,
11: LogicalKeyboardKey.digit4,
12: LogicalKeyboardKey.digit5,
13: LogicalKeyboardKey.digit6,
14: LogicalKeyboardKey.digit7,
15: LogicalKeyboardKey.digit8,
16: LogicalKeyboardKey.digit9,
7: LogicalKeyboardKey.digit0,
66: LogicalKeyboardKey.enter,
111: LogicalKeyboardKey.escape,
67: LogicalKeyboardKey.backspace,
61: LogicalKeyboardKey.tab,
62: LogicalKeyboardKey.space,
69: LogicalKeyboardKey.minus,
70: LogicalKeyboardKey.equal,
71: LogicalKeyboardKey.bracketLeft,
72: LogicalKeyboardKey.bracketRight,
73: LogicalKeyboardKey.backslash,
74: LogicalKeyboardKey.semicolon,
75: LogicalKeyboardKey.quote,
68: LogicalKeyboardKey.backquote,
55: LogicalKeyboardKey.comma,
56: LogicalKeyboardKey.period,
76: LogicalKeyboardKey.slash,
115: LogicalKeyboardKey.capsLock,
131: LogicalKeyboardKey.f1,
132: LogicalKeyboardKey.f2,
133: LogicalKeyboardKey.f3,
134: LogicalKeyboardKey.f4,
135: LogicalKeyboardKey.f5,
136: LogicalKeyboardKey.f6,
137: LogicalKeyboardKey.f7,
138: LogicalKeyboardKey.f8,
139: LogicalKeyboardKey.f9,
140: LogicalKeyboardKey.f10,
141: LogicalKeyboardKey.f11,
142: LogicalKeyboardKey.f12,
120: LogicalKeyboardKey.printScreen,
116: LogicalKeyboardKey.scrollLock,
121: LogicalKeyboardKey.pause,
124: LogicalKeyboardKey.insert,
122: LogicalKeyboardKey.home,
92: LogicalKeyboardKey.pageUp,
112: LogicalKeyboardKey.delete,
123: LogicalKeyboardKey.end,
93: LogicalKeyboardKey.pageDown,
22: LogicalKeyboardKey.arrowRight,
21: LogicalKeyboardKey.arrowLeft,
20: LogicalKeyboardKey.arrowDown,
19: LogicalKeyboardKey.arrowUp,
143: LogicalKeyboardKey.numLock,
154: LogicalKeyboardKey.numpadDivide,
155: LogicalKeyboardKey.numpadMultiply,
156: LogicalKeyboardKey.numpadSubtract,
157: LogicalKeyboardKey.numpadAdd,
160: LogicalKeyboardKey.numpadEnter,
145: LogicalKeyboardKey.numpad1,
146: LogicalKeyboardKey.numpad2,
147: LogicalKeyboardKey.numpad3,
148: LogicalKeyboardKey.numpad4,
149: LogicalKeyboardKey.numpad5,
150: LogicalKeyboardKey.numpad6,
151: LogicalKeyboardKey.numpad7,
152: LogicalKeyboardKey.numpad8,
153: LogicalKeyboardKey.numpad9,
144: LogicalKeyboardKey.numpad0,
158: LogicalKeyboardKey.numpadDecimal,
82: LogicalKeyboardKey.contextMenu,
26: LogicalKeyboardKey.power,
161: LogicalKeyboardKey.numpadEqual,
259: LogicalKeyboardKey.help,
23: LogicalKeyboardKey.select,
277: LogicalKeyboardKey.cut,
278: LogicalKeyboardKey.copy,
279: LogicalKeyboardKey.paste,
164: LogicalKeyboardKey.audioVolumeMute,
24: LogicalKeyboardKey.audioVolumeUp,
25: LogicalKeyboardKey.audioVolumeDown,
159: LogicalKeyboardKey.numpadComma,
214: LogicalKeyboardKey.convert,
213: LogicalKeyboardKey.nonConvert,
162: LogicalKeyboardKey.numpadParenLeft,
163: LogicalKeyboardKey.numpadParenRight,
113: LogicalKeyboardKey.controlLeft,
59: LogicalKeyboardKey.shiftLeft,
57: LogicalKeyboardKey.altLeft,
117: LogicalKeyboardKey.metaLeft,
114: LogicalKeyboardKey.controlRight,
60: LogicalKeyboardKey.shiftRight,
58: LogicalKeyboardKey.altRight,
118: LogicalKeyboardKey.metaRight,
165: LogicalKeyboardKey.info,
175: LogicalKeyboardKey.closedCaptionToggle,
221: LogicalKeyboardKey.brightnessUp,
220: LogicalKeyboardKey.brightnessDown,
229: LogicalKeyboardKey.mediaLast,
166: LogicalKeyboardKey.channelUp,
167: LogicalKeyboardKey.channelDown,
126: LogicalKeyboardKey.mediaPlay,
130: LogicalKeyboardKey.mediaRecord,
90: LogicalKeyboardKey.mediaFastForward,
89: LogicalKeyboardKey.mediaRewind,
87: LogicalKeyboardKey.mediaTrackNext,
88: LogicalKeyboardKey.mediaTrackPrevious,
86: LogicalKeyboardKey.mediaStop,
129: LogicalKeyboardKey.eject,
85: LogicalKeyboardKey.mediaPlayPause,
65: LogicalKeyboardKey.launchMail,
207: LogicalKeyboardKey.launchContacts,
208: LogicalKeyboardKey.launchCalendar,
219: LogicalKeyboardKey.launchAssistant,
128: LogicalKeyboardKey.close,
84: LogicalKeyboardKey.browserSearch,
125: LogicalKeyboardKey.browserForward,
174: LogicalKeyboardKey.browserFavorites,
168: LogicalKeyboardKey.zoomIn,
169: LogicalKeyboardKey.zoomOut,
255: LogicalKeyboardKey.zoomToggle,
188: LogicalKeyboardKey.gameButton1,
189: LogicalKeyboardKey.gameButton2,
190: LogicalKeyboardKey.gameButton3,
191: LogicalKeyboardKey.gameButton4,
192: LogicalKeyboardKey.gameButton5,
193: LogicalKeyboardKey.gameButton6,
194: LogicalKeyboardKey.gameButton7,
195: LogicalKeyboardKey.gameButton8,
196: LogicalKeyboardKey.gameButton9,
197: LogicalKeyboardKey.gameButton10,
198: LogicalKeyboardKey.gameButton11,
199: LogicalKeyboardKey.gameButton12,
200: LogicalKeyboardKey.gameButton13,
201: LogicalKeyboardKey.gameButton14,
202: LogicalKeyboardKey.gameButton15,
203: LogicalKeyboardKey.gameButton16,
96: LogicalKeyboardKey.gameButtonA,
97: LogicalKeyboardKey.gameButtonB,
98: LogicalKeyboardKey.gameButtonC,
102: LogicalKeyboardKey.gameButtonLeft1,
104: LogicalKeyboardKey.gameButtonLeft2,
110: LogicalKeyboardKey.gameButtonMode,
103: LogicalKeyboardKey.gameButtonRight1,
105: LogicalKeyboardKey.gameButtonRight2,
109: LogicalKeyboardKey.gameButtonSelect,
108: LogicalKeyboardKey.gameButtonStart,
106: LogicalKeyboardKey.gameButtonThumbLeft,
107: LogicalKeyboardKey.gameButtonThumbRight,
99: LogicalKeyboardKey.gameButtonX,
100: LogicalKeyboardKey.gameButtonY,
101: LogicalKeyboardKey.gameButtonZ,
};
/// Maps Android-specific scan codes to the matching [PhysicalKeyboardKey].
const Map<int, PhysicalKeyboardKey> kAndroidToPhysicalKey = <int, PhysicalKeyboardKey>{
464: PhysicalKeyboardKey.fn,
205: PhysicalKeyboardKey.suspend,
142: PhysicalKeyboardKey.sleep,
143: PhysicalKeyboardKey.wakeUp,
30: PhysicalKeyboardKey.keyA,
48: PhysicalKeyboardKey.keyB,
46: PhysicalKeyboardKey.keyC,
32: PhysicalKeyboardKey.keyD,
18: PhysicalKeyboardKey.keyE,
33: PhysicalKeyboardKey.keyF,
34: PhysicalKeyboardKey.keyG,
35: PhysicalKeyboardKey.keyH,
23: PhysicalKeyboardKey.keyI,
36: PhysicalKeyboardKey.keyJ,
37: PhysicalKeyboardKey.keyK,
38: PhysicalKeyboardKey.keyL,
50: PhysicalKeyboardKey.keyM,
49: PhysicalKeyboardKey.keyN,
24: PhysicalKeyboardKey.keyO,
25: PhysicalKeyboardKey.keyP,
16: PhysicalKeyboardKey.keyQ,
19: PhysicalKeyboardKey.keyR,
31: PhysicalKeyboardKey.keyS,
20: PhysicalKeyboardKey.keyT,
22: PhysicalKeyboardKey.keyU,
47: PhysicalKeyboardKey.keyV,
17: PhysicalKeyboardKey.keyW,
45: PhysicalKeyboardKey.keyX,
21: PhysicalKeyboardKey.keyY,
44: PhysicalKeyboardKey.keyZ,
2: PhysicalKeyboardKey.digit1,
3: PhysicalKeyboardKey.digit2,
4: PhysicalKeyboardKey.digit3,
5: PhysicalKeyboardKey.digit4,
6: PhysicalKeyboardKey.digit5,
7: PhysicalKeyboardKey.digit6,
8: PhysicalKeyboardKey.digit7,
9: PhysicalKeyboardKey.digit8,
10: PhysicalKeyboardKey.digit9,
11: PhysicalKeyboardKey.digit0,
28: PhysicalKeyboardKey.enter,
1: PhysicalKeyboardKey.escape,
14: PhysicalKeyboardKey.backspace,
15: PhysicalKeyboardKey.tab,
57: PhysicalKeyboardKey.space,
12: PhysicalKeyboardKey.minus,
13: PhysicalKeyboardKey.equal,
26: PhysicalKeyboardKey.bracketLeft,
27: PhysicalKeyboardKey.bracketRight,
43: PhysicalKeyboardKey.backslash,
86: PhysicalKeyboardKey.backslash,
39: PhysicalKeyboardKey.semicolon,
40: PhysicalKeyboardKey.quote,
41: PhysicalKeyboardKey.backquote,
51: PhysicalKeyboardKey.comma,
52: PhysicalKeyboardKey.period,
53: PhysicalKeyboardKey.slash,
58: PhysicalKeyboardKey.capsLock,
59: PhysicalKeyboardKey.f1,
60: PhysicalKeyboardKey.f2,
61: PhysicalKeyboardKey.f3,
62: PhysicalKeyboardKey.f4,
63: PhysicalKeyboardKey.f5,
64: PhysicalKeyboardKey.f6,
65: PhysicalKeyboardKey.f7,
66: PhysicalKeyboardKey.f8,
67: PhysicalKeyboardKey.f9,
68: PhysicalKeyboardKey.f10,
87: PhysicalKeyboardKey.f11,
88: PhysicalKeyboardKey.f12,
99: PhysicalKeyboardKey.printScreen,
70: PhysicalKeyboardKey.scrollLock,
119: PhysicalKeyboardKey.pause,
411: PhysicalKeyboardKey.pause,
110: PhysicalKeyboardKey.insert,
102: PhysicalKeyboardKey.home,
104: PhysicalKeyboardKey.pageUp,
177: PhysicalKeyboardKey.pageUp,
111: PhysicalKeyboardKey.delete,
107: PhysicalKeyboardKey.end,
109: PhysicalKeyboardKey.pageDown,
178: PhysicalKeyboardKey.pageDown,
106: PhysicalKeyboardKey.arrowRight,
105: PhysicalKeyboardKey.arrowLeft,
108: PhysicalKeyboardKey.arrowDown,
103: PhysicalKeyboardKey.arrowUp,
69: PhysicalKeyboardKey.numLock,
98: PhysicalKeyboardKey.numpadDivide,
55: PhysicalKeyboardKey.numpadMultiply,
74: PhysicalKeyboardKey.numpadSubtract,
78: PhysicalKeyboardKey.numpadAdd,
96: PhysicalKeyboardKey.numpadEnter,
79: PhysicalKeyboardKey.numpad1,
80: PhysicalKeyboardKey.numpad2,
81: PhysicalKeyboardKey.numpad3,
75: PhysicalKeyboardKey.numpad4,
76: PhysicalKeyboardKey.numpad5,
77: PhysicalKeyboardKey.numpad6,
71: PhysicalKeyboardKey.numpad7,
72: PhysicalKeyboardKey.numpad8,
73: PhysicalKeyboardKey.numpad9,
82: PhysicalKeyboardKey.numpad0,
83: PhysicalKeyboardKey.numpadDecimal,
127: PhysicalKeyboardKey.contextMenu,
139: PhysicalKeyboardKey.contextMenu,
116: PhysicalKeyboardKey.power,
152: PhysicalKeyboardKey.power,
117: PhysicalKeyboardKey.numpadEqual,
183: PhysicalKeyboardKey.f13,
184: PhysicalKeyboardKey.f14,
185: PhysicalKeyboardKey.f15,
186: PhysicalKeyboardKey.f16,
187: PhysicalKeyboardKey.f17,
188: PhysicalKeyboardKey.f18,
189: PhysicalKeyboardKey.f19,
190: PhysicalKeyboardKey.f20,
191: PhysicalKeyboardKey.f21,
192: PhysicalKeyboardKey.f22,
193: PhysicalKeyboardKey.f23,
194: PhysicalKeyboardKey.f24,
134: PhysicalKeyboardKey.open,
138: PhysicalKeyboardKey.help,
353: PhysicalKeyboardKey.select,
129: PhysicalKeyboardKey.again,
131: PhysicalKeyboardKey.undo,
137: PhysicalKeyboardKey.cut,
133: PhysicalKeyboardKey.copy,
135: PhysicalKeyboardKey.paste,
136: PhysicalKeyboardKey.find,
113: PhysicalKeyboardKey.audioVolumeMute,
115: PhysicalKeyboardKey.audioVolumeUp,
114: PhysicalKeyboardKey.audioVolumeDown,
95: PhysicalKeyboardKey.numpadComma,
121: PhysicalKeyboardKey.numpadComma,
92: PhysicalKeyboardKey.convert,
94: PhysicalKeyboardKey.nonConvert,
90: PhysicalKeyboardKey.lang3,
91: PhysicalKeyboardKey.lang4,
130: PhysicalKeyboardKey.props,
179: PhysicalKeyboardKey.numpadParenLeft,
180: PhysicalKeyboardKey.numpadParenRight,
29: PhysicalKeyboardKey.controlLeft,
42: PhysicalKeyboardKey.shiftLeft,
56: PhysicalKeyboardKey.altLeft,
125: PhysicalKeyboardKey.metaLeft,
97: PhysicalKeyboardKey.controlRight,
54: PhysicalKeyboardKey.shiftRight,
100: PhysicalKeyboardKey.altRight,
126: PhysicalKeyboardKey.metaRight,
358: PhysicalKeyboardKey.info,
225: PhysicalKeyboardKey.brightnessUp,
224: PhysicalKeyboardKey.brightnessDown,
174: PhysicalKeyboardKey.exit,
402: PhysicalKeyboardKey.channelUp,
403: PhysicalKeyboardKey.channelDown,
200: PhysicalKeyboardKey.mediaPlay,
207: PhysicalKeyboardKey.mediaPlay,
167: PhysicalKeyboardKey.mediaRecord,
208: PhysicalKeyboardKey.mediaFastForward,
168: PhysicalKeyboardKey.mediaRewind,
163: PhysicalKeyboardKey.mediaTrackNext,
165: PhysicalKeyboardKey.mediaTrackPrevious,
128: PhysicalKeyboardKey.mediaStop,
166: PhysicalKeyboardKey.mediaStop,
161: PhysicalKeyboardKey.eject,
162: PhysicalKeyboardKey.eject,
164: PhysicalKeyboardKey.mediaPlayPause,
209: PhysicalKeyboardKey.bassBoost,
155: PhysicalKeyboardKey.launchMail,
215: PhysicalKeyboardKey.launchMail,
429: PhysicalKeyboardKey.launchContacts,
397: PhysicalKeyboardKey.launchCalendar,
181: PhysicalKeyboardKey.newKey,
160: PhysicalKeyboardKey.close,
206: PhysicalKeyboardKey.close,
210: PhysicalKeyboardKey.print,
217: PhysicalKeyboardKey.browserSearch,
159: PhysicalKeyboardKey.browserForward,
156: PhysicalKeyboardKey.browserFavorites,
182: PhysicalKeyboardKey.redo,
256: PhysicalKeyboardKey.gameButton1,
288: PhysicalKeyboardKey.gameButton1,
257: PhysicalKeyboardKey.gameButton2,
289: PhysicalKeyboardKey.gameButton2,
258: PhysicalKeyboardKey.gameButton3,
290: PhysicalKeyboardKey.gameButton3,
259: PhysicalKeyboardKey.gameButton4,
291: PhysicalKeyboardKey.gameButton4,
260: PhysicalKeyboardKey.gameButton5,
292: PhysicalKeyboardKey.gameButton5,
261: PhysicalKeyboardKey.gameButton6,
293: PhysicalKeyboardKey.gameButton6,
262: PhysicalKeyboardKey.gameButton7,
294: PhysicalKeyboardKey.gameButton7,
263: PhysicalKeyboardKey.gameButton8,
295: PhysicalKeyboardKey.gameButton8,
264: PhysicalKeyboardKey.gameButton9,
296: PhysicalKeyboardKey.gameButton9,
265: PhysicalKeyboardKey.gameButton10,
297: PhysicalKeyboardKey.gameButton10,
266: PhysicalKeyboardKey.gameButton11,
298: PhysicalKeyboardKey.gameButton11,
267: PhysicalKeyboardKey.gameButton12,
299: PhysicalKeyboardKey.gameButton12,
268: PhysicalKeyboardKey.gameButton13,
300: PhysicalKeyboardKey.gameButton13,
269: PhysicalKeyboardKey.gameButton14,
301: PhysicalKeyboardKey.gameButton14,
270: PhysicalKeyboardKey.gameButton15,
302: PhysicalKeyboardKey.gameButton15,
271: PhysicalKeyboardKey.gameButton16,
303: PhysicalKeyboardKey.gameButton16,
304: PhysicalKeyboardKey.gameButtonA,
305: PhysicalKeyboardKey.gameButtonB,
306: PhysicalKeyboardKey.gameButtonC,
310: PhysicalKeyboardKey.gameButtonLeft1,
312: PhysicalKeyboardKey.gameButtonLeft2,
316: PhysicalKeyboardKey.gameButtonMode,
311: PhysicalKeyboardKey.gameButtonRight1,
313: PhysicalKeyboardKey.gameButtonRight2,
314: PhysicalKeyboardKey.gameButtonSelect,
315: PhysicalKeyboardKey.gameButtonStart,
317: PhysicalKeyboardKey.gameButtonThumbLeft,
318: PhysicalKeyboardKey.gameButtonThumbRight,
307: PhysicalKeyboardKey.gameButtonX,
308: PhysicalKeyboardKey.gameButtonY,
309: PhysicalKeyboardKey.gameButtonZ,
};
/// A map of Android key codes which have printable representations, but appear
/// on the number pad. Used to provide different key objects for keys like
/// KEY_EQUALS and NUMPAD_EQUALS.
const Map<int, LogicalKeyboardKey> kAndroidNumPadMap = <int, LogicalKeyboardKey>{
154: LogicalKeyboardKey.numpadDivide,
155: LogicalKeyboardKey.numpadMultiply,
156: LogicalKeyboardKey.numpadSubtract,
157: LogicalKeyboardKey.numpadAdd,
145: LogicalKeyboardKey.numpad1,
146: LogicalKeyboardKey.numpad2,
147: LogicalKeyboardKey.numpad3,
148: LogicalKeyboardKey.numpad4,
149: LogicalKeyboardKey.numpad5,
150: LogicalKeyboardKey.numpad6,
151: LogicalKeyboardKey.numpad7,
152: LogicalKeyboardKey.numpad8,
153: LogicalKeyboardKey.numpad9,
144: LogicalKeyboardKey.numpad0,
158: LogicalKeyboardKey.numpadDecimal,
161: LogicalKeyboardKey.numpadEqual,
159: LogicalKeyboardKey.numpadComma,
162: LogicalKeyboardKey.numpadParenLeft,
163: LogicalKeyboardKey.numpadParenRight,
};
/// Maps Fuchsia-specific IDs to the matching [LogicalKeyboardKey].
const Map<int, LogicalKeyboardKey> kFuchsiaToLogicalKey = <int, LogicalKeyboardKey>{
0x100000000: LogicalKeyboardKey.none,
0x100000010: LogicalKeyboardKey.hyper,
0x100000011: LogicalKeyboardKey.superKey,
0x100000012: LogicalKeyboardKey.fn,
0x100000013: LogicalKeyboardKey.fnLock,
0x100000014: LogicalKeyboardKey.suspend,
0x100000015: LogicalKeyboardKey.resume,
0x100000016: LogicalKeyboardKey.turbo,
0x100010082: LogicalKeyboardKey.sleep,
0x100010083: LogicalKeyboardKey.wakeUp,
0x1000100b5: LogicalKeyboardKey.displayToggleIntExt,
0x100070000: LogicalKeyboardKey.usbReserved,
0x100070001: LogicalKeyboardKey.usbErrorRollOver,
0x100070002: LogicalKeyboardKey.usbPostFail,
0x100070003: LogicalKeyboardKey.usbErrorUndefined,
0x00000061: LogicalKeyboardKey.keyA,
0x00000062: LogicalKeyboardKey.keyB,
0x00000063: LogicalKeyboardKey.keyC,
0x00000064: LogicalKeyboardKey.keyD,
0x00000065: LogicalKeyboardKey.keyE,
0x00000066: LogicalKeyboardKey.keyF,
0x00000067: LogicalKeyboardKey.keyG,
0x00000068: LogicalKeyboardKey.keyH,
0x00000069: LogicalKeyboardKey.keyI,
0x0000006a: LogicalKeyboardKey.keyJ,
0x0000006b: LogicalKeyboardKey.keyK,
0x0000006c: LogicalKeyboardKey.keyL,
0x0000006d: LogicalKeyboardKey.keyM,
0x0000006e: LogicalKeyboardKey.keyN,
0x0000006f: LogicalKeyboardKey.keyO,
0x00000070: LogicalKeyboardKey.keyP,
0x00000071: LogicalKeyboardKey.keyQ,
0x00000072: LogicalKeyboardKey.keyR,
0x00000073: LogicalKeyboardKey.keyS,
0x00000074: LogicalKeyboardKey.keyT,
0x00000075: LogicalKeyboardKey.keyU,
0x00000076: LogicalKeyboardKey.keyV,
0x00000077: LogicalKeyboardKey.keyW,
0x00000078: LogicalKeyboardKey.keyX,
0x00000079: LogicalKeyboardKey.keyY,
0x0000007a: LogicalKeyboardKey.keyZ,
0x00000031: LogicalKeyboardKey.digit1,
0x00000032: LogicalKeyboardKey.digit2,
0x00000033: LogicalKeyboardKey.digit3,
0x00000034: LogicalKeyboardKey.digit4,
0x00000035: LogicalKeyboardKey.digit5,
0x00000036: LogicalKeyboardKey.digit6,
0x00000037: LogicalKeyboardKey.digit7,
0x00000038: LogicalKeyboardKey.digit8,
0x00000039: LogicalKeyboardKey.digit9,
0x00000030: LogicalKeyboardKey.digit0,
0x100070028: LogicalKeyboardKey.enter,
0x100070029: LogicalKeyboardKey.escape,
0x10007002a: LogicalKeyboardKey.backspace,
0x10007002b: LogicalKeyboardKey.tab,
0x00000020: LogicalKeyboardKey.space,
0x0000002d: LogicalKeyboardKey.minus,
0x0000003d: LogicalKeyboardKey.equal,
0x0000005b: LogicalKeyboardKey.bracketLeft,
0x0000005d: LogicalKeyboardKey.bracketRight,
0x0000005c: LogicalKeyboardKey.backslash,
0x0000003b: LogicalKeyboardKey.semicolon,
0x00000027: LogicalKeyboardKey.quote,
0x00000060: LogicalKeyboardKey.backquote,
0x0000002c: LogicalKeyboardKey.comma,
0x0000002e: LogicalKeyboardKey.period,
0x0000002f: LogicalKeyboardKey.slash,
0x100070039: LogicalKeyboardKey.capsLock,
0x10007003a: LogicalKeyboardKey.f1,
0x10007003b: LogicalKeyboardKey.f2,
0x10007003c: LogicalKeyboardKey.f3,
0x10007003d: LogicalKeyboardKey.f4,
0x10007003e: LogicalKeyboardKey.f5,
0x10007003f: LogicalKeyboardKey.f6,
0x100070040: LogicalKeyboardKey.f7,
0x100070041: LogicalKeyboardKey.f8,
0x100070042: LogicalKeyboardKey.f9,
0x100070043: LogicalKeyboardKey.f10,
0x100070044: LogicalKeyboardKey.f11,
0x100070045: LogicalKeyboardKey.f12,
0x100070046: LogicalKeyboardKey.printScreen,
0x100070047: LogicalKeyboardKey.scrollLock,
0x100070048: LogicalKeyboardKey.pause,
0x100070049: LogicalKeyboardKey.insert,
0x10007004a: LogicalKeyboardKey.home,
0x10007004b: LogicalKeyboardKey.pageUp,
0x10007004c: LogicalKeyboardKey.delete,
0x10007004d: LogicalKeyboardKey.end,
0x10007004e: LogicalKeyboardKey.pageDown,
0x10007004f: LogicalKeyboardKey.arrowRight,
0x100070050: LogicalKeyboardKey.arrowLeft,
0x100070051: LogicalKeyboardKey.arrowDown,
0x100070052: LogicalKeyboardKey.arrowUp,
0x100070053: LogicalKeyboardKey.numLock,
0x100070054: LogicalKeyboardKey.numpadDivide,
0x100070055: LogicalKeyboardKey.numpadMultiply,
0x100070056: LogicalKeyboardKey.numpadSubtract,
0x100070057: LogicalKeyboardKey.numpadAdd,
0x100070058: LogicalKeyboardKey.numpadEnter,
0x100070059: LogicalKeyboardKey.numpad1,
0x10007005a: LogicalKeyboardKey.numpad2,
0x10007005b: LogicalKeyboardKey.numpad3,
0x10007005c: LogicalKeyboardKey.numpad4,
0x10007005d: LogicalKeyboardKey.numpad5,
0x10007005e: LogicalKeyboardKey.numpad6,
0x10007005f: LogicalKeyboardKey.numpad7,
0x100070060: LogicalKeyboardKey.numpad8,
0x100070061: LogicalKeyboardKey.numpad9,
0x100070062: LogicalKeyboardKey.numpad0,
0x100070063: LogicalKeyboardKey.numpadDecimal,
0x100070064: LogicalKeyboardKey.intlBackslash,
0x100070065: LogicalKeyboardKey.contextMenu,
0x100070066: LogicalKeyboardKey.power,
0x100070067: LogicalKeyboardKey.numpadEqual,
0x100070068: LogicalKeyboardKey.f13,
0x100070069: LogicalKeyboardKey.f14,
0x10007006a: LogicalKeyboardKey.f15,
0x10007006b: LogicalKeyboardKey.f16,
0x10007006c: LogicalKeyboardKey.f17,
0x10007006d: LogicalKeyboardKey.f18,
0x10007006e: LogicalKeyboardKey.f19,
0x10007006f: LogicalKeyboardKey.f20,
0x100070070: LogicalKeyboardKey.f21,
0x100070071: LogicalKeyboardKey.f22,
0x100070072: LogicalKeyboardKey.f23,
0x100070073: LogicalKeyboardKey.f24,
0x100070074: LogicalKeyboardKey.open,
0x100070075: LogicalKeyboardKey.help,
0x100070077: LogicalKeyboardKey.select,
0x100070079: LogicalKeyboardKey.again,
0x10007007a: LogicalKeyboardKey.undo,
0x10007007b: LogicalKeyboardKey.cut,
0x10007007c: LogicalKeyboardKey.copy,
0x10007007d: LogicalKeyboardKey.paste,
0x10007007e: LogicalKeyboardKey.find,
0x10007007f: LogicalKeyboardKey.audioVolumeMute,
0x100070080: LogicalKeyboardKey.audioVolumeUp,
0x100070081: LogicalKeyboardKey.audioVolumeDown,
0x100070085: LogicalKeyboardKey.numpadComma,
0x100070087: LogicalKeyboardKey.intlRo,
0x100070088: LogicalKeyboardKey.kanaMode,
0x100070089: LogicalKeyboardKey.intlYen,
0x10007008a: LogicalKeyboardKey.convert,
0x10007008b: LogicalKeyboardKey.nonConvert,
0x100070090: LogicalKeyboardKey.lang1,
0x100070091: LogicalKeyboardKey.lang2,
0x100070092: LogicalKeyboardKey.lang3,
0x100070093: LogicalKeyboardKey.lang4,
0x100070094: LogicalKeyboardKey.lang5,
0x10007009b: LogicalKeyboardKey.abort,
0x1000700a3: LogicalKeyboardKey.props,
0x1000700b6: LogicalKeyboardKey.numpadParenLeft,
0x1000700b7: LogicalKeyboardKey.numpadParenRight,
0x1000700bb: LogicalKeyboardKey.numpadBackspace,
0x1000700d0: LogicalKeyboardKey.numpadMemoryStore,
0x1000700d1: LogicalKeyboardKey.numpadMemoryRecall,
0x1000700d2: LogicalKeyboardKey.numpadMemoryClear,
0x1000700d3: LogicalKeyboardKey.numpadMemoryAdd,
0x1000700d4: LogicalKeyboardKey.numpadMemorySubtract,
0x1000700d7: LogicalKeyboardKey.numpadSignChange,
0x1000700d8: LogicalKeyboardKey.numpadClear,
0x1000700d9: LogicalKeyboardKey.numpadClearEntry,
0x1000700e0: LogicalKeyboardKey.controlLeft,
0x1000700e1: LogicalKeyboardKey.shiftLeft,
0x1000700e2: LogicalKeyboardKey.altLeft,
0x1000700e3: LogicalKeyboardKey.metaLeft,
0x1000700e4: LogicalKeyboardKey.controlRight,
0x1000700e5: LogicalKeyboardKey.shiftRight,
0x1000700e6: LogicalKeyboardKey.altRight,
0x1000700e7: LogicalKeyboardKey.metaRight,
0x1000c0060: LogicalKeyboardKey.info,
0x1000c0061: LogicalKeyboardKey.closedCaptionToggle,
0x1000c006f: LogicalKeyboardKey.brightnessUp,
0x1000c0070: LogicalKeyboardKey.brightnessDown,
0x1000c0072: LogicalKeyboardKey.brightnessToggle,
0x1000c0073: LogicalKeyboardKey.brightnessMinimum,
0x1000c0074: LogicalKeyboardKey.brightnessMaximum,
0x1000c0075: LogicalKeyboardKey.brightnessAuto,
0x1000c0083: LogicalKeyboardKey.mediaLast,
0x1000c008c: LogicalKeyboardKey.launchPhone,
0x1000c008d: LogicalKeyboardKey.programGuide,
0x1000c0094: LogicalKeyboardKey.exit,
0x1000c009c: LogicalKeyboardKey.channelUp,
0x1000c009d: LogicalKeyboardKey.channelDown,
0x1000c00b0: LogicalKeyboardKey.mediaPlay,
0x1000c00b2: LogicalKeyboardKey.mediaRecord,
0x1000c00b3: LogicalKeyboardKey.mediaFastForward,
0x1000c00b4: LogicalKeyboardKey.mediaRewind,
0x1000c00b5: LogicalKeyboardKey.mediaTrackNext,
0x1000c00b6: LogicalKeyboardKey.mediaTrackPrevious,
0x1000c00b7: LogicalKeyboardKey.mediaStop,
0x1000c00b8: LogicalKeyboardKey.eject,
0x1000c00cd: LogicalKeyboardKey.mediaPlayPause,
0x1000c00cf: LogicalKeyboardKey.speechInputToggle,
0x1000c00e5: LogicalKeyboardKey.bassBoost,
0x1000c0183: LogicalKeyboardKey.mediaSelect,
0x1000c0184: LogicalKeyboardKey.launchWordProcessor,
0x1000c0186: LogicalKeyboardKey.launchSpreadsheet,
0x1000c018a: LogicalKeyboardKey.launchMail,
0x1000c018d: LogicalKeyboardKey.launchContacts,
0x1000c018e: LogicalKeyboardKey.launchCalendar,
0x1000c0192: LogicalKeyboardKey.launchApp2,
0x1000c0194: LogicalKeyboardKey.launchApp1,
0x1000c0196: LogicalKeyboardKey.launchInternetBrowser,
0x1000c019c: LogicalKeyboardKey.logOff,
0x1000c019e: LogicalKeyboardKey.lockScreen,
0x1000c019f: LogicalKeyboardKey.launchControlPanel,
0x1000c01a2: LogicalKeyboardKey.selectTask,
0x1000c01a7: LogicalKeyboardKey.launchDocuments,
0x1000c01ab: LogicalKeyboardKey.spellCheck,
0x1000c01ae: LogicalKeyboardKey.launchKeyboardLayout,
0x1000c01b1: LogicalKeyboardKey.launchScreenSaver,
0x1000c01cb: LogicalKeyboardKey.launchAssistant,
0x1000c01b7: LogicalKeyboardKey.launchAudioBrowser,
0x1000c0201: LogicalKeyboardKey.newKey,
0x1000c0203: LogicalKeyboardKey.close,
0x1000c0207: LogicalKeyboardKey.save,
0x1000c0208: LogicalKeyboardKey.print,
0x1000c0221: LogicalKeyboardKey.browserSearch,
0x1000c0223: LogicalKeyboardKey.browserHome,
0x1000c0224: LogicalKeyboardKey.browserBack,
0x1000c0225: LogicalKeyboardKey.browserForward,
0x1000c0226: LogicalKeyboardKey.browserStop,
0x1000c0227: LogicalKeyboardKey.browserRefresh,
0x1000c022a: LogicalKeyboardKey.browserFavorites,
0x1000c022d: LogicalKeyboardKey.zoomIn,
0x1000c022e: LogicalKeyboardKey.zoomOut,
0x1000c0232: LogicalKeyboardKey.zoomToggle,
0x1000c0279: LogicalKeyboardKey.redo,
0x1000c0289: LogicalKeyboardKey.mailReply,
0x1000c028b: LogicalKeyboardKey.mailForward,
0x1000c028c: LogicalKeyboardKey.mailSend,
0x1000c029d: LogicalKeyboardKey.keyboardLayoutSelect,
0x1000c029f: LogicalKeyboardKey.showAllWindows,
0x100053701: LogicalKeyboardKey.gameButton1,
0x100053702: LogicalKeyboardKey.gameButton2,
0x100053703: LogicalKeyboardKey.gameButton3,
0x100053704: LogicalKeyboardKey.gameButton4,
0x100053705: LogicalKeyboardKey.gameButton5,
0x100053706: LogicalKeyboardKey.gameButton6,
0x100053707: LogicalKeyboardKey.gameButton7,
0x100053708: LogicalKeyboardKey.gameButton8,
0x100053709: LogicalKeyboardKey.gameButton9,
0x10005370a: LogicalKeyboardKey.gameButton10,
0x10005370b: LogicalKeyboardKey.gameButton11,
0x10005370c: LogicalKeyboardKey.gameButton12,
0x10005370d: LogicalKeyboardKey.gameButton13,
0x10005370e: LogicalKeyboardKey.gameButton14,
0x10005370f: LogicalKeyboardKey.gameButton15,
0x100053710: LogicalKeyboardKey.gameButton16,
0x100053711: LogicalKeyboardKey.gameButtonA,
0x100053712: LogicalKeyboardKey.gameButtonB,
0x100053713: LogicalKeyboardKey.gameButtonC,
0x100053714: LogicalKeyboardKey.gameButtonLeft1,
0x100053715: LogicalKeyboardKey.gameButtonLeft2,
0x100053716: LogicalKeyboardKey.gameButtonMode,
0x100053717: LogicalKeyboardKey.gameButtonRight1,
0x100053718: LogicalKeyboardKey.gameButtonRight2,
0x100053719: LogicalKeyboardKey.gameButtonSelect,
0x10005371a: LogicalKeyboardKey.gameButtonStart,
0x10005371b: LogicalKeyboardKey.gameButtonThumbLeft,
0x10005371c: LogicalKeyboardKey.gameButtonThumbRight,
0x10005371d: LogicalKeyboardKey.gameButtonX,
0x10005371e: LogicalKeyboardKey.gameButtonY,
0x10005371f: LogicalKeyboardKey.gameButtonZ,
};
/// Maps Fuchsia-specific USB HID Usage IDs to the matching
/// [PhysicalKeyboardKey].
const Map<int, PhysicalKeyboardKey> kFuchsiaToPhysicalKey = <int, PhysicalKeyboardKey>{
0x00000000: PhysicalKeyboardKey.none,
0x00000010: PhysicalKeyboardKey.hyper,
0x00000011: PhysicalKeyboardKey.superKey,
0x00000012: PhysicalKeyboardKey.fn,
0x00000013: PhysicalKeyboardKey.fnLock,
0x00000014: PhysicalKeyboardKey.suspend,
0x00000015: PhysicalKeyboardKey.resume,
0x00000016: PhysicalKeyboardKey.turbo,
0x00010082: PhysicalKeyboardKey.sleep,
0x00010083: PhysicalKeyboardKey.wakeUp,
0x000100b5: PhysicalKeyboardKey.displayToggleIntExt,
0x00070000: PhysicalKeyboardKey.usbReserved,
0x00070001: PhysicalKeyboardKey.usbErrorRollOver,
0x00070002: PhysicalKeyboardKey.usbPostFail,
0x00070003: PhysicalKeyboardKey.usbErrorUndefined,
0x00070004: PhysicalKeyboardKey.keyA,
0x00070005: PhysicalKeyboardKey.keyB,
0x00070006: PhysicalKeyboardKey.keyC,
0x00070007: PhysicalKeyboardKey.keyD,
0x00070008: PhysicalKeyboardKey.keyE,
0x00070009: PhysicalKeyboardKey.keyF,
0x0007000a: PhysicalKeyboardKey.keyG,
0x0007000b: PhysicalKeyboardKey.keyH,
0x0007000c: PhysicalKeyboardKey.keyI,
0x0007000d: PhysicalKeyboardKey.keyJ,
0x0007000e: PhysicalKeyboardKey.keyK,
0x0007000f: PhysicalKeyboardKey.keyL,
0x00070010: PhysicalKeyboardKey.keyM,
0x00070011: PhysicalKeyboardKey.keyN,
0x00070012: PhysicalKeyboardKey.keyO,
0x00070013: PhysicalKeyboardKey.keyP,
0x00070014: PhysicalKeyboardKey.keyQ,
0x00070015: PhysicalKeyboardKey.keyR,
0x00070016: PhysicalKeyboardKey.keyS,
0x00070017: PhysicalKeyboardKey.keyT,
0x00070018: PhysicalKeyboardKey.keyU,
0x00070019: PhysicalKeyboardKey.keyV,
0x0007001a: PhysicalKeyboardKey.keyW,
0x0007001b: PhysicalKeyboardKey.keyX,
0x0007001c: PhysicalKeyboardKey.keyY,
0x0007001d: PhysicalKeyboardKey.keyZ,
0x0007001e: PhysicalKeyboardKey.digit1,
0x0007001f: PhysicalKeyboardKey.digit2,
0x00070020: PhysicalKeyboardKey.digit3,
0x00070021: PhysicalKeyboardKey.digit4,
0x00070022: PhysicalKeyboardKey.digit5,
0x00070023: PhysicalKeyboardKey.digit6,
0x00070024: PhysicalKeyboardKey.digit7,
0x00070025: PhysicalKeyboardKey.digit8,
0x00070026: PhysicalKeyboardKey.digit9,
0x00070027: PhysicalKeyboardKey.digit0,
0x00070028: PhysicalKeyboardKey.enter,
0x00070029: PhysicalKeyboardKey.escape,
0x0007002a: PhysicalKeyboardKey.backspace,
0x0007002b: PhysicalKeyboardKey.tab,
0x0007002c: PhysicalKeyboardKey.space,
0x0007002d: PhysicalKeyboardKey.minus,
0x0007002e: PhysicalKeyboardKey.equal,
0x0007002f: PhysicalKeyboardKey.bracketLeft,
0x00070030: PhysicalKeyboardKey.bracketRight,
0x00070031: PhysicalKeyboardKey.backslash,
0x00070033: PhysicalKeyboardKey.semicolon,
0x00070034: PhysicalKeyboardKey.quote,
0x00070035: PhysicalKeyboardKey.backquote,
0x00070036: PhysicalKeyboardKey.comma,
0x00070037: PhysicalKeyboardKey.period,
0x00070038: PhysicalKeyboardKey.slash,
0x00070039: PhysicalKeyboardKey.capsLock,
0x0007003a: PhysicalKeyboardKey.f1,
0x0007003b: PhysicalKeyboardKey.f2,
0x0007003c: PhysicalKeyboardKey.f3,
0x0007003d: PhysicalKeyboardKey.f4,
0x0007003e: PhysicalKeyboardKey.f5,
0x0007003f: PhysicalKeyboardKey.f6,
0x00070040: PhysicalKeyboardKey.f7,
0x00070041: PhysicalKeyboardKey.f8,
0x00070042: PhysicalKeyboardKey.f9,
0x00070043: PhysicalKeyboardKey.f10,
0x00070044: PhysicalKeyboardKey.f11,
0x00070045: PhysicalKeyboardKey.f12,
0x00070046: PhysicalKeyboardKey.printScreen,
0x00070047: PhysicalKeyboardKey.scrollLock,
0x00070048: PhysicalKeyboardKey.pause,
0x00070049: PhysicalKeyboardKey.insert,
0x0007004a: PhysicalKeyboardKey.home,
0x0007004b: PhysicalKeyboardKey.pageUp,
0x0007004c: PhysicalKeyboardKey.delete,
0x0007004d: PhysicalKeyboardKey.end,
0x0007004e: PhysicalKeyboardKey.pageDown,
0x0007004f: PhysicalKeyboardKey.arrowRight,
0x00070050: PhysicalKeyboardKey.arrowLeft,
0x00070051: PhysicalKeyboardKey.arrowDown,
0x00070052: PhysicalKeyboardKey.arrowUp,
0x00070053: PhysicalKeyboardKey.numLock,
0x00070054: PhysicalKeyboardKey.numpadDivide,
0x00070055: PhysicalKeyboardKey.numpadMultiply,
0x00070056: PhysicalKeyboardKey.numpadSubtract,
0x00070057: PhysicalKeyboardKey.numpadAdd,
0x00070058: PhysicalKeyboardKey.numpadEnter,
0x00070059: PhysicalKeyboardKey.numpad1,
0x0007005a: PhysicalKeyboardKey.numpad2,
0x0007005b: PhysicalKeyboardKey.numpad3,
0x0007005c: PhysicalKeyboardKey.numpad4,
0x0007005d: PhysicalKeyboardKey.numpad5,
0x0007005e: PhysicalKeyboardKey.numpad6,
0x0007005f: PhysicalKeyboardKey.numpad7,
0x00070060: PhysicalKeyboardKey.numpad8,
0x00070061: PhysicalKeyboardKey.numpad9,
0x00070062: PhysicalKeyboardKey.numpad0,
0x00070063: PhysicalKeyboardKey.numpadDecimal,
0x00070064: PhysicalKeyboardKey.intlBackslash,
0x00070065: PhysicalKeyboardKey.contextMenu,
0x00070066: PhysicalKeyboardKey.power,
0x00070067: PhysicalKeyboardKey.numpadEqual,
0x00070068: PhysicalKeyboardKey.f13,
0x00070069: PhysicalKeyboardKey.f14,
0x0007006a: PhysicalKeyboardKey.f15,
0x0007006b: PhysicalKeyboardKey.f16,
0x0007006c: PhysicalKeyboardKey.f17,
0x0007006d: PhysicalKeyboardKey.f18,
0x0007006e: PhysicalKeyboardKey.f19,
0x0007006f: PhysicalKeyboardKey.f20,
0x00070070: PhysicalKeyboardKey.f21,
0x00070071: PhysicalKeyboardKey.f22,
0x00070072: PhysicalKeyboardKey.f23,
0x00070073: PhysicalKeyboardKey.f24,
0x00070074: PhysicalKeyboardKey.open,
0x00070075: PhysicalKeyboardKey.help,
0x00070077: PhysicalKeyboardKey.select,
0x00070079: PhysicalKeyboardKey.again,
0x0007007a: PhysicalKeyboardKey.undo,
0x0007007b: PhysicalKeyboardKey.cut,
0x0007007c: PhysicalKeyboardKey.copy,
0x0007007d: PhysicalKeyboardKey.paste,
0x0007007e: PhysicalKeyboardKey.find,
0x0007007f: PhysicalKeyboardKey.audioVolumeMute,
0x00070080: PhysicalKeyboardKey.audioVolumeUp,
0x00070081: PhysicalKeyboardKey.audioVolumeDown,
0x00070085: PhysicalKeyboardKey.numpadComma,
0x00070087: PhysicalKeyboardKey.intlRo,
0x00070088: PhysicalKeyboardKey.kanaMode,
0x00070089: PhysicalKeyboardKey.intlYen,
0x0007008a: PhysicalKeyboardKey.convert,
0x0007008b: PhysicalKeyboardKey.nonConvert,
0x00070090: PhysicalKeyboardKey.lang1,
0x00070091: PhysicalKeyboardKey.lang2,
0x00070092: PhysicalKeyboardKey.lang3,
0x00070093: PhysicalKeyboardKey.lang4,
0x00070094: PhysicalKeyboardKey.lang5,
0x0007009b: PhysicalKeyboardKey.abort,
0x000700a3: PhysicalKeyboardKey.props,
0x000700b6: PhysicalKeyboardKey.numpadParenLeft,
0x000700b7: PhysicalKeyboardKey.numpadParenRight,
0x000700bb: PhysicalKeyboardKey.numpadBackspace,
0x000700d0: PhysicalKeyboardKey.numpadMemoryStore,
0x000700d1: PhysicalKeyboardKey.numpadMemoryRecall,
0x000700d2: PhysicalKeyboardKey.numpadMemoryClear,
0x000700d3: PhysicalKeyboardKey.numpadMemoryAdd,
0x000700d4: PhysicalKeyboardKey.numpadMemorySubtract,
0x000700d7: PhysicalKeyboardKey.numpadSignChange,
0x000700d8: PhysicalKeyboardKey.numpadClear,
0x000700d9: PhysicalKeyboardKey.numpadClearEntry,
0x000700e0: PhysicalKeyboardKey.controlLeft,
0x000700e1: PhysicalKeyboardKey.shiftLeft,
0x000700e2: PhysicalKeyboardKey.altLeft,
0x000700e3: PhysicalKeyboardKey.metaLeft,
0x000700e4: PhysicalKeyboardKey.controlRight,
0x000700e5: PhysicalKeyboardKey.shiftRight,
0x000700e6: PhysicalKeyboardKey.altRight,
0x000700e7: PhysicalKeyboardKey.metaRight,
0x000c0060: PhysicalKeyboardKey.info,
0x000c0061: PhysicalKeyboardKey.closedCaptionToggle,
0x000c006f: PhysicalKeyboardKey.brightnessUp,
0x000c0070: PhysicalKeyboardKey.brightnessDown,
0x000c0072: PhysicalKeyboardKey.brightnessToggle,
0x000c0073: PhysicalKeyboardKey.brightnessMinimum,
0x000c0074: PhysicalKeyboardKey.brightnessMaximum,
0x000c0075: PhysicalKeyboardKey.brightnessAuto,
0x000c0083: PhysicalKeyboardKey.mediaLast,
0x000c008c: PhysicalKeyboardKey.launchPhone,
0x000c008d: PhysicalKeyboardKey.programGuide,
0x000c0094: PhysicalKeyboardKey.exit,
0x000c009c: PhysicalKeyboardKey.channelUp,
0x000c009d: PhysicalKeyboardKey.channelDown,
0x000c00b0: PhysicalKeyboardKey.mediaPlay,
0x000c00b2: PhysicalKeyboardKey.mediaRecord,
0x000c00b3: PhysicalKeyboardKey.mediaFastForward,
0x000c00b4: PhysicalKeyboardKey.mediaRewind,
0x000c00b5: PhysicalKeyboardKey.mediaTrackNext,
0x000c00b6: PhysicalKeyboardKey.mediaTrackPrevious,
0x000c00b7: PhysicalKeyboardKey.mediaStop,
0x000c00b8: PhysicalKeyboardKey.eject,
0x000c00cd: PhysicalKeyboardKey.mediaPlayPause,
0x000c00cf: PhysicalKeyboardKey.speechInputToggle,
0x000c00e5: PhysicalKeyboardKey.bassBoost,
0x000c0183: PhysicalKeyboardKey.mediaSelect,
0x000c0184: PhysicalKeyboardKey.launchWordProcessor,
0x000c0186: PhysicalKeyboardKey.launchSpreadsheet,
0x000c018a: PhysicalKeyboardKey.launchMail,
0x000c018d: PhysicalKeyboardKey.launchContacts,
0x000c018e: PhysicalKeyboardKey.launchCalendar,
0x000c0192: PhysicalKeyboardKey.launchApp2,
0x000c0194: PhysicalKeyboardKey.launchApp1,
0x000c0196: PhysicalKeyboardKey.launchInternetBrowser,
0x000c019c: PhysicalKeyboardKey.logOff,
0x000c019e: PhysicalKeyboardKey.lockScreen,
0x000c019f: PhysicalKeyboardKey.launchControlPanel,
0x000c01a2: PhysicalKeyboardKey.selectTask,
0x000c01a7: PhysicalKeyboardKey.launchDocuments,
0x000c01ab: PhysicalKeyboardKey.spellCheck,
0x000c01ae: PhysicalKeyboardKey.launchKeyboardLayout,
0x000c01b1: PhysicalKeyboardKey.launchScreenSaver,
0x000c01cb: PhysicalKeyboardKey.launchAssistant,
0x000c01b7: PhysicalKeyboardKey.launchAudioBrowser,
0x000c0201: PhysicalKeyboardKey.newKey,
0x000c0203: PhysicalKeyboardKey.close,
0x000c0207: PhysicalKeyboardKey.save,
0x000c0208: PhysicalKeyboardKey.print,
0x000c0221: PhysicalKeyboardKey.browserSearch,
0x000c0223: PhysicalKeyboardKey.browserHome,
0x000c0224: PhysicalKeyboardKey.browserBack,
0x000c0225: PhysicalKeyboardKey.browserForward,
0x000c0226: PhysicalKeyboardKey.browserStop,
0x000c0227: PhysicalKeyboardKey.browserRefresh,
0x000c022a: PhysicalKeyboardKey.browserFavorites,
0x000c022d: PhysicalKeyboardKey.zoomIn,
0x000c022e: PhysicalKeyboardKey.zoomOut,
0x000c0232: PhysicalKeyboardKey.zoomToggle,
0x000c0279: PhysicalKeyboardKey.redo,
0x000c0289: PhysicalKeyboardKey.mailReply,
0x000c028b: PhysicalKeyboardKey.mailForward,
0x000c028c: PhysicalKeyboardKey.mailSend,
0x000c029d: PhysicalKeyboardKey.keyboardLayoutSelect,
0x000c029f: PhysicalKeyboardKey.showAllWindows,
0x00053701: PhysicalKeyboardKey.gameButton1,
0x00053702: PhysicalKeyboardKey.gameButton2,
0x00053703: PhysicalKeyboardKey.gameButton3,
0x00053704: PhysicalKeyboardKey.gameButton4,
0x00053705: PhysicalKeyboardKey.gameButton5,
0x00053706: PhysicalKeyboardKey.gameButton6,
0x00053707: PhysicalKeyboardKey.gameButton7,
0x00053708: PhysicalKeyboardKey.gameButton8,
0x00053709: PhysicalKeyboardKey.gameButton9,
0x0005370a: PhysicalKeyboardKey.gameButton10,
0x0005370b: PhysicalKeyboardKey.gameButton11,
0x0005370c: PhysicalKeyboardKey.gameButton12,
0x0005370d: PhysicalKeyboardKey.gameButton13,
0x0005370e: PhysicalKeyboardKey.gameButton14,
0x0005370f: PhysicalKeyboardKey.gameButton15,
0x00053710: PhysicalKeyboardKey.gameButton16,
0x00053711: PhysicalKeyboardKey.gameButtonA,
0x00053712: PhysicalKeyboardKey.gameButtonB,
0x00053713: PhysicalKeyboardKey.gameButtonC,
0x00053714: PhysicalKeyboardKey.gameButtonLeft1,
0x00053715: PhysicalKeyboardKey.gameButtonLeft2,
0x00053716: PhysicalKeyboardKey.gameButtonMode,
0x00053717: PhysicalKeyboardKey.gameButtonRight1,
0x00053718: PhysicalKeyboardKey.gameButtonRight2,
0x00053719: PhysicalKeyboardKey.gameButtonSelect,
0x0005371a: PhysicalKeyboardKey.gameButtonStart,
0x0005371b: PhysicalKeyboardKey.gameButtonThumbLeft,
0x0005371c: PhysicalKeyboardKey.gameButtonThumbRight,
0x0005371d: PhysicalKeyboardKey.gameButtonX,
0x0005371e: PhysicalKeyboardKey.gameButtonY,
0x0005371f: PhysicalKeyboardKey.gameButtonZ,
};
/// Maps macOS-specific key code values representing [PhysicalKeyboardKey].
///
/// MacOS doesn't provide a scan code, but a virtual keycode to represent a physical key.
const Map<int, PhysicalKeyboardKey> kMacOsToPhysicalKey = <int, PhysicalKeyboardKey>{
0x00000000: PhysicalKeyboardKey.keyA,
0x0000000b: PhysicalKeyboardKey.keyB,
0x00000008: PhysicalKeyboardKey.keyC,
0x00000002: PhysicalKeyboardKey.keyD,
0x0000000e: PhysicalKeyboardKey.keyE,
0x00000003: PhysicalKeyboardKey.keyF,
0x00000005: PhysicalKeyboardKey.keyG,
0x00000004: PhysicalKeyboardKey.keyH,
0x00000022: PhysicalKeyboardKey.keyI,
0x00000026: PhysicalKeyboardKey.keyJ,
0x00000028: PhysicalKeyboardKey.keyK,
0x00000025: PhysicalKeyboardKey.keyL,
0x0000002e: PhysicalKeyboardKey.keyM,
0x0000002d: PhysicalKeyboardKey.keyN,
0x0000001f: PhysicalKeyboardKey.keyO,
0x00000023: PhysicalKeyboardKey.keyP,
0x0000000c: PhysicalKeyboardKey.keyQ,
0x0000000f: PhysicalKeyboardKey.keyR,
0x00000001: PhysicalKeyboardKey.keyS,
0x00000011: PhysicalKeyboardKey.keyT,
0x00000020: PhysicalKeyboardKey.keyU,
0x00000009: PhysicalKeyboardKey.keyV,
0x0000000d: PhysicalKeyboardKey.keyW,
0x00000007: PhysicalKeyboardKey.keyX,
0x00000010: PhysicalKeyboardKey.keyY,
0x00000006: PhysicalKeyboardKey.keyZ,
0x00000012: PhysicalKeyboardKey.digit1,
0x00000013: PhysicalKeyboardKey.digit2,
0x00000014: PhysicalKeyboardKey.digit3,
0x00000015: PhysicalKeyboardKey.digit4,
0x00000017: PhysicalKeyboardKey.digit5,
0x00000016: PhysicalKeyboardKey.digit6,
0x0000001a: PhysicalKeyboardKey.digit7,
0x0000001c: PhysicalKeyboardKey.digit8,
0x00000019: PhysicalKeyboardKey.digit9,
0x0000001d: PhysicalKeyboardKey.digit0,
0x00000024: PhysicalKeyboardKey.enter,
0x00000035: PhysicalKeyboardKey.escape,
0x00000033: PhysicalKeyboardKey.backspace,
0x00000030: PhysicalKeyboardKey.tab,
0x00000031: PhysicalKeyboardKey.space,
0x0000001b: PhysicalKeyboardKey.minus,
0x00000018: PhysicalKeyboardKey.equal,
0x00000021: PhysicalKeyboardKey.bracketLeft,
0x0000001e: PhysicalKeyboardKey.bracketRight,
0x0000002a: PhysicalKeyboardKey.backslash,
0x00000029: PhysicalKeyboardKey.semicolon,
0x00000027: PhysicalKeyboardKey.quote,
0x00000032: PhysicalKeyboardKey.backquote,
0x0000002b: PhysicalKeyboardKey.comma,
0x0000002f: PhysicalKeyboardKey.period,
0x0000002c: PhysicalKeyboardKey.slash,
0x00000039: PhysicalKeyboardKey.capsLock,
0x0000007a: PhysicalKeyboardKey.f1,
0x00000078: PhysicalKeyboardKey.f2,
0x00000063: PhysicalKeyboardKey.f3,
0x00000076: PhysicalKeyboardKey.f4,
0x00000060: PhysicalKeyboardKey.f5,
0x00000061: PhysicalKeyboardKey.f6,
0x00000062: PhysicalKeyboardKey.f7,
0x00000064: PhysicalKeyboardKey.f8,
0x00000065: PhysicalKeyboardKey.f9,
0x0000006d: PhysicalKeyboardKey.f10,
0x00000067: PhysicalKeyboardKey.f11,
0x0000006f: PhysicalKeyboardKey.f12,
0x00000072: PhysicalKeyboardKey.insert,
0x00000073: PhysicalKeyboardKey.home,
0x00000074: PhysicalKeyboardKey.pageUp,
0x00000075: PhysicalKeyboardKey.delete,
0x00000077: PhysicalKeyboardKey.end,
0x00000079: PhysicalKeyboardKey.pageDown,
0x0000007c: PhysicalKeyboardKey.arrowRight,
0x0000007b: PhysicalKeyboardKey.arrowLeft,
0x0000007d: PhysicalKeyboardKey.arrowDown,
0x0000007e: PhysicalKeyboardKey.arrowUp,
0x00000047: PhysicalKeyboardKey.numLock,
0x0000004b: PhysicalKeyboardKey.numpadDivide,
0x00000043: PhysicalKeyboardKey.numpadMultiply,
0x0000004e: PhysicalKeyboardKey.numpadSubtract,
0x00000045: PhysicalKeyboardKey.numpadAdd,
0x0000004c: PhysicalKeyboardKey.numpadEnter,
0x00000053: PhysicalKeyboardKey.numpad1,
0x00000054: PhysicalKeyboardKey.numpad2,
0x00000055: PhysicalKeyboardKey.numpad3,
0x00000056: PhysicalKeyboardKey.numpad4,
0x00000057: PhysicalKeyboardKey.numpad5,
0x00000058: PhysicalKeyboardKey.numpad6,
0x00000059: PhysicalKeyboardKey.numpad7,
0x0000005b: PhysicalKeyboardKey.numpad8,
0x0000005c: PhysicalKeyboardKey.numpad9,
0x00000052: PhysicalKeyboardKey.numpad0,
0x00000041: PhysicalKeyboardKey.numpadDecimal,
0x0000000a: PhysicalKeyboardKey.intlBackslash,
0x0000006e: PhysicalKeyboardKey.contextMenu,
0x00000051: PhysicalKeyboardKey.numpadEqual,
0x00000069: PhysicalKeyboardKey.f13,
0x0000006b: PhysicalKeyboardKey.f14,
0x00000071: PhysicalKeyboardKey.f15,
0x0000006a: PhysicalKeyboardKey.f16,
0x00000040: PhysicalKeyboardKey.f17,
0x0000004f: PhysicalKeyboardKey.f18,
0x00000050: PhysicalKeyboardKey.f19,
0x0000005a: PhysicalKeyboardKey.f20,
0x0000004a: PhysicalKeyboardKey.audioVolumeMute,
0x00000048: PhysicalKeyboardKey.audioVolumeUp,
0x00000049: PhysicalKeyboardKey.audioVolumeDown,
0x0000005f: PhysicalKeyboardKey.numpadComma,
0x0000005e: PhysicalKeyboardKey.intlRo,
0x00000068: PhysicalKeyboardKey.kanaMode,
0x0000005d: PhysicalKeyboardKey.intlYen,
0x0000003b: PhysicalKeyboardKey.controlLeft,
0x00000038: PhysicalKeyboardKey.shiftLeft,
0x0000003a: PhysicalKeyboardKey.altLeft,
0x00000037: PhysicalKeyboardKey.metaLeft,
0x0000003e: PhysicalKeyboardKey.controlRight,
0x0000003c: PhysicalKeyboardKey.shiftRight,
0x0000003d: PhysicalKeyboardKey.altRight,
0x00000036: PhysicalKeyboardKey.metaRight,
};
/// A map of macOS key codes which have printable representations, but appear
/// on the number pad. Used to provide different key objects for keys like
/// KEY_EQUALS and NUMPAD_EQUALS.
const Map<int, LogicalKeyboardKey> kMacOsNumPadMap = <int, LogicalKeyboardKey>{
0x0000004b: LogicalKeyboardKey.numpadDivide,
0x00000043: LogicalKeyboardKey.numpadMultiply,
0x0000004e: LogicalKeyboardKey.numpadSubtract,
0x00000045: LogicalKeyboardKey.numpadAdd,
0x00000053: LogicalKeyboardKey.numpad1,
0x00000054: LogicalKeyboardKey.numpad2,
0x00000055: LogicalKeyboardKey.numpad3,
0x00000056: LogicalKeyboardKey.numpad4,
0x00000057: LogicalKeyboardKey.numpad5,
0x00000058: LogicalKeyboardKey.numpad6,
0x00000059: LogicalKeyboardKey.numpad7,
0x0000005b: LogicalKeyboardKey.numpad8,
0x0000005c: LogicalKeyboardKey.numpad9,
0x00000052: LogicalKeyboardKey.numpad0,
0x00000041: LogicalKeyboardKey.numpadDecimal,
0x00000051: LogicalKeyboardKey.numpadEqual,
0x0000005f: LogicalKeyboardKey.numpadComma,
};
/// Maps GLFW-specific key codes to the matching [LogicalKeyboardKey].
const Map<int, LogicalKeyboardKey> kGlfwToLogicalKey = <int, LogicalKeyboardKey>{
65: LogicalKeyboardKey.keyA,
66: LogicalKeyboardKey.keyB,
67: LogicalKeyboardKey.keyC,
68: LogicalKeyboardKey.keyD,
69: LogicalKeyboardKey.keyE,
70: LogicalKeyboardKey.keyF,
71: LogicalKeyboardKey.keyG,
72: LogicalKeyboardKey.keyH,
73: LogicalKeyboardKey.keyI,
74: LogicalKeyboardKey.keyJ,
75: LogicalKeyboardKey.keyK,
76: LogicalKeyboardKey.keyL,
77: LogicalKeyboardKey.keyM,
78: LogicalKeyboardKey.keyN,
79: LogicalKeyboardKey.keyO,
80: LogicalKeyboardKey.keyP,
81: LogicalKeyboardKey.keyQ,
82: LogicalKeyboardKey.keyR,
83: LogicalKeyboardKey.keyS,
84: LogicalKeyboardKey.keyT,
85: LogicalKeyboardKey.keyU,
86: LogicalKeyboardKey.keyV,
87: LogicalKeyboardKey.keyW,
88: LogicalKeyboardKey.keyX,
89: LogicalKeyboardKey.keyY,
90: LogicalKeyboardKey.keyZ,
49: LogicalKeyboardKey.digit1,
50: LogicalKeyboardKey.digit2,
51: LogicalKeyboardKey.digit3,
52: LogicalKeyboardKey.digit4,
53: LogicalKeyboardKey.digit5,
54: LogicalKeyboardKey.digit6,
55: LogicalKeyboardKey.digit7,
56: LogicalKeyboardKey.digit8,
57: LogicalKeyboardKey.digit9,
48: LogicalKeyboardKey.digit0,
257: LogicalKeyboardKey.enter,
256: LogicalKeyboardKey.escape,
259: LogicalKeyboardKey.backspace,
258: LogicalKeyboardKey.tab,
32: LogicalKeyboardKey.space,
45: LogicalKeyboardKey.minus,
61: LogicalKeyboardKey.equal,
91: LogicalKeyboardKey.bracketLeft,
93: LogicalKeyboardKey.bracketRight,
92: LogicalKeyboardKey.backslash,
59: LogicalKeyboardKey.semicolon,
39: LogicalKeyboardKey.quote,
96: LogicalKeyboardKey.backquote,
44: LogicalKeyboardKey.comma,
46: LogicalKeyboardKey.period,
47: LogicalKeyboardKey.slash,
280: LogicalKeyboardKey.capsLock,
290: LogicalKeyboardKey.f1,
291: LogicalKeyboardKey.f2,
292: LogicalKeyboardKey.f3,
293: LogicalKeyboardKey.f4,
294: LogicalKeyboardKey.f5,
295: LogicalKeyboardKey.f6,
296: LogicalKeyboardKey.f7,
297: LogicalKeyboardKey.f8,
298: LogicalKeyboardKey.f9,
299: LogicalKeyboardKey.f10,
300: LogicalKeyboardKey.f11,
301: LogicalKeyboardKey.f12,
283: LogicalKeyboardKey.printScreen,
284: LogicalKeyboardKey.pause,
260: LogicalKeyboardKey.insert,
268: LogicalKeyboardKey.home,
266: LogicalKeyboardKey.pageUp,
261: LogicalKeyboardKey.delete,
269: LogicalKeyboardKey.end,
267: LogicalKeyboardKey.pageDown,
262: LogicalKeyboardKey.arrowRight,
263: LogicalKeyboardKey.arrowLeft,
264: LogicalKeyboardKey.arrowDown,
265: LogicalKeyboardKey.arrowUp,
282: LogicalKeyboardKey.numLock,
331: LogicalKeyboardKey.numpadDivide,
332: LogicalKeyboardKey.numpadMultiply,
334: LogicalKeyboardKey.numpadAdd,
335: LogicalKeyboardKey.numpadEnter,
321: LogicalKeyboardKey.numpad1,
322: LogicalKeyboardKey.numpad2,
323: LogicalKeyboardKey.numpad3,
324: LogicalKeyboardKey.numpad4,
325: LogicalKeyboardKey.numpad5,
326: LogicalKeyboardKey.numpad6,
327: LogicalKeyboardKey.numpad7,
328: LogicalKeyboardKey.numpad8,
329: LogicalKeyboardKey.numpad9,
320: LogicalKeyboardKey.numpad0,
330: LogicalKeyboardKey.numpadDecimal,
348: LogicalKeyboardKey.contextMenu,
336: LogicalKeyboardKey.numpadEqual,
302: LogicalKeyboardKey.f13,
303: LogicalKeyboardKey.f14,
304: LogicalKeyboardKey.f15,
305: LogicalKeyboardKey.f16,
306: LogicalKeyboardKey.f17,
307: LogicalKeyboardKey.f18,
308: LogicalKeyboardKey.f19,
309: LogicalKeyboardKey.f20,
310: LogicalKeyboardKey.f21,
311: LogicalKeyboardKey.f22,
312: LogicalKeyboardKey.f23,
341: LogicalKeyboardKey.controlLeft,
340: LogicalKeyboardKey.shiftLeft,
342: LogicalKeyboardKey.altLeft,
345: LogicalKeyboardKey.controlRight,
344: LogicalKeyboardKey.shiftRight,
346: LogicalKeyboardKey.altRight,
};
/// A map of GLFW key codes which have printable representations, but appear
/// on the number pad. Used to provide different key objects for keys like
/// KEY_EQUALS and NUMPAD_EQUALS.
const Map<int, LogicalKeyboardKey> kGlfwNumpadMap = <int, LogicalKeyboardKey>{
331: LogicalKeyboardKey.numpadDivide,
332: LogicalKeyboardKey.numpadMultiply,
334: LogicalKeyboardKey.numpadAdd,
321: LogicalKeyboardKey.numpad1,
322: LogicalKeyboardKey.numpad2,
323: LogicalKeyboardKey.numpad3,
324: LogicalKeyboardKey.numpad4,
325: LogicalKeyboardKey.numpad5,
326: LogicalKeyboardKey.numpad6,
327: LogicalKeyboardKey.numpad7,
328: LogicalKeyboardKey.numpad8,
329: LogicalKeyboardKey.numpad9,
320: LogicalKeyboardKey.numpad0,
330: LogicalKeyboardKey.numpadDecimal,
336: LogicalKeyboardKey.numpadEqual,
};
/// Maps XKB specific key code values representing [PhysicalKeyboardKey].
const Map<int, PhysicalKeyboardKey> kLinuxToPhysicalKey = <int, PhysicalKeyboardKey>{
0x00000096: PhysicalKeyboardKey.sleep,
0x00000097: PhysicalKeyboardKey.wakeUp,
0x000000eb: PhysicalKeyboardKey.displayToggleIntExt,
0x00000026: PhysicalKeyboardKey.keyA,
0x00000038: PhysicalKeyboardKey.keyB,
0x00000036: PhysicalKeyboardKey.keyC,
0x00000028: PhysicalKeyboardKey.keyD,
0x0000001a: PhysicalKeyboardKey.keyE,
0x00000029: PhysicalKeyboardKey.keyF,
0x0000002a: PhysicalKeyboardKey.keyG,
0x0000002b: PhysicalKeyboardKey.keyH,
0x0000001f: PhysicalKeyboardKey.keyI,
0x0000002c: PhysicalKeyboardKey.keyJ,
0x0000002d: PhysicalKeyboardKey.keyK,
0x0000002e: PhysicalKeyboardKey.keyL,
0x0000003a: PhysicalKeyboardKey.keyM,
0x00000039: PhysicalKeyboardKey.keyN,
0x00000020: PhysicalKeyboardKey.keyO,
0x00000021: PhysicalKeyboardKey.keyP,
0x00000018: PhysicalKeyboardKey.keyQ,
0x0000001b: PhysicalKeyboardKey.keyR,
0x00000027: PhysicalKeyboardKey.keyS,
0x0000001c: PhysicalKeyboardKey.keyT,
0x0000001e: PhysicalKeyboardKey.keyU,
0x00000037: PhysicalKeyboardKey.keyV,
0x00000019: PhysicalKeyboardKey.keyW,
0x00000035: PhysicalKeyboardKey.keyX,
0x0000001d: PhysicalKeyboardKey.keyY,
0x00000034: PhysicalKeyboardKey.keyZ,
0x0000000a: PhysicalKeyboardKey.digit1,
0x0000000b: PhysicalKeyboardKey.digit2,
0x0000000c: PhysicalKeyboardKey.digit3,
0x0000000d: PhysicalKeyboardKey.digit4,
0x0000000e: PhysicalKeyboardKey.digit5,
0x0000000f: PhysicalKeyboardKey.digit6,
0x00000010: PhysicalKeyboardKey.digit7,
0x00000011: PhysicalKeyboardKey.digit8,
0x00000012: PhysicalKeyboardKey.digit9,
0x00000013: PhysicalKeyboardKey.digit0,
0x00000024: PhysicalKeyboardKey.enter,
0x00000009: PhysicalKeyboardKey.escape,
0x00000016: PhysicalKeyboardKey.backspace,
0x00000017: PhysicalKeyboardKey.tab,
0x00000041: PhysicalKeyboardKey.space,
0x00000014: PhysicalKeyboardKey.minus,
0x00000015: PhysicalKeyboardKey.equal,
0x00000022: PhysicalKeyboardKey.bracketLeft,
0x00000023: PhysicalKeyboardKey.bracketRight,
0x00000033: PhysicalKeyboardKey.backslash,
0x0000002f: PhysicalKeyboardKey.semicolon,
0x00000030: PhysicalKeyboardKey.quote,
0x00000031: PhysicalKeyboardKey.backquote,
0x0000003b: PhysicalKeyboardKey.comma,
0x0000003c: PhysicalKeyboardKey.period,
0x0000003d: PhysicalKeyboardKey.slash,
0x00000042: PhysicalKeyboardKey.capsLock,
0x00000043: PhysicalKeyboardKey.f1,
0x00000044: PhysicalKeyboardKey.f2,
0x00000045: PhysicalKeyboardKey.f3,
0x00000046: PhysicalKeyboardKey.f4,
0x00000047: PhysicalKeyboardKey.f5,
0x00000048: PhysicalKeyboardKey.f6,
0x00000049: PhysicalKeyboardKey.f7,
0x0000004a: PhysicalKeyboardKey.f8,
0x0000004b: PhysicalKeyboardKey.f9,
0x0000004c: PhysicalKeyboardKey.f10,
0x0000005f: PhysicalKeyboardKey.f11,
0x00000060: PhysicalKeyboardKey.f12,
0x0000006b: PhysicalKeyboardKey.printScreen,
0x0000004e: PhysicalKeyboardKey.scrollLock,
0x0000007f: PhysicalKeyboardKey.pause,
0x00000076: PhysicalKeyboardKey.insert,
0x0000006e: PhysicalKeyboardKey.home,
0x00000070: PhysicalKeyboardKey.pageUp,
0x00000077: PhysicalKeyboardKey.delete,
0x00000073: PhysicalKeyboardKey.end,
0x00000075: PhysicalKeyboardKey.pageDown,
0x00000072: PhysicalKeyboardKey.arrowRight,
0x00000071: PhysicalKeyboardKey.arrowLeft,
0x00000074: PhysicalKeyboardKey.arrowDown,
0x0000006f: PhysicalKeyboardKey.arrowUp,
0x0000004d: PhysicalKeyboardKey.numLock,
0x0000006a: PhysicalKeyboardKey.numpadDivide,
0x0000003f: PhysicalKeyboardKey.numpadMultiply,
0x00000052: PhysicalKeyboardKey.numpadSubtract,
0x00000056: PhysicalKeyboardKey.numpadAdd,
0x00000068: PhysicalKeyboardKey.numpadEnter,
0x00000057: PhysicalKeyboardKey.numpad1,
0x00000058: PhysicalKeyboardKey.numpad2,
0x00000059: PhysicalKeyboardKey.numpad3,
0x00000053: PhysicalKeyboardKey.numpad4,
0x00000054: PhysicalKeyboardKey.numpad5,
0x00000055: PhysicalKeyboardKey.numpad6,
0x0000004f: PhysicalKeyboardKey.numpad7,
0x00000050: PhysicalKeyboardKey.numpad8,
0x00000051: PhysicalKeyboardKey.numpad9,
0x0000005a: PhysicalKeyboardKey.numpad0,
0x0000005b: PhysicalKeyboardKey.numpadDecimal,
0x0000005e: PhysicalKeyboardKey.intlBackslash,
0x00000087: PhysicalKeyboardKey.contextMenu,
0x0000007c: PhysicalKeyboardKey.power,
0x0000007d: PhysicalKeyboardKey.numpadEqual,
0x000000bf: PhysicalKeyboardKey.f13,
0x000000c0: PhysicalKeyboardKey.f14,
0x000000c1: PhysicalKeyboardKey.f15,
0x000000c2: PhysicalKeyboardKey.f16,
0x000000c3: PhysicalKeyboardKey.f17,
0x000000c4: PhysicalKeyboardKey.f18,
0x000000c5: PhysicalKeyboardKey.f19,
0x000000c6: PhysicalKeyboardKey.f20,
0x000000c7: PhysicalKeyboardKey.f21,
0x000000c8: PhysicalKeyboardKey.f22,
0x000000c9: PhysicalKeyboardKey.f23,
0x000000ca: PhysicalKeyboardKey.f24,
0x0000008e: PhysicalKeyboardKey.open,
0x00000092: PhysicalKeyboardKey.help,
0x0000008c: PhysicalKeyboardKey.select,
0x00000089: PhysicalKeyboardKey.again,
0x0000008b: PhysicalKeyboardKey.undo,
0x00000091: PhysicalKeyboardKey.cut,
0x0000008d: PhysicalKeyboardKey.copy,
0x0000008f: PhysicalKeyboardKey.paste,
0x00000090: PhysicalKeyboardKey.find,
0x00000079: PhysicalKeyboardKey.audioVolumeMute,
0x0000007b: PhysicalKeyboardKey.audioVolumeUp,
0x0000007a: PhysicalKeyboardKey.audioVolumeDown,
0x00000081: PhysicalKeyboardKey.numpadComma,
0x00000061: PhysicalKeyboardKey.intlRo,
0x00000065: PhysicalKeyboardKey.kanaMode,
0x00000084: PhysicalKeyboardKey.intlYen,
0x00000064: PhysicalKeyboardKey.convert,
0x00000066: PhysicalKeyboardKey.nonConvert,
0x00000082: PhysicalKeyboardKey.lang1,
0x00000083: PhysicalKeyboardKey.lang2,
0x00000062: PhysicalKeyboardKey.lang3,
0x00000063: PhysicalKeyboardKey.lang4,
0x0000005d: PhysicalKeyboardKey.lang5,
0x000000bb: PhysicalKeyboardKey.numpadParenLeft,
0x000000bc: PhysicalKeyboardKey.numpadParenRight,
0x0000007e: PhysicalKeyboardKey.numpadSignChange,
0x00000025: PhysicalKeyboardKey.controlLeft,
0x00000032: PhysicalKeyboardKey.shiftLeft,
0x00000040: PhysicalKeyboardKey.altLeft,
0x00000085: PhysicalKeyboardKey.metaLeft,
0x00000069: PhysicalKeyboardKey.controlRight,
0x0000003e: PhysicalKeyboardKey.shiftRight,
0x0000006c: PhysicalKeyboardKey.altRight,
0x00000086: PhysicalKeyboardKey.metaRight,
0x0000016e: PhysicalKeyboardKey.info,
0x0000017a: PhysicalKeyboardKey.closedCaptionToggle,
0x000000e9: PhysicalKeyboardKey.brightnessUp,
0x000000e8: PhysicalKeyboardKey.brightnessDown,
0x000001b7: PhysicalKeyboardKey.brightnessToggle,
0x00000258: PhysicalKeyboardKey.brightnessMinimum,
0x00000259: PhysicalKeyboardKey.brightnessMaximum,
0x000000fc: PhysicalKeyboardKey.brightnessAuto,
0x0000019d: PhysicalKeyboardKey.mediaLast,
0x000000b1: PhysicalKeyboardKey.launchPhone,
0x00000172: PhysicalKeyboardKey.programGuide,
0x000000b6: PhysicalKeyboardKey.exit,
0x000001a2: PhysicalKeyboardKey.channelUp,
0x000001a3: PhysicalKeyboardKey.channelDown,
0x000000d7: PhysicalKeyboardKey.mediaPlay,
0x000000af: PhysicalKeyboardKey.mediaRecord,
0x000000d8: PhysicalKeyboardKey.mediaFastForward,
0x000000b0: PhysicalKeyboardKey.mediaRewind,
0x000000ab: PhysicalKeyboardKey.mediaTrackNext,
0x000000ad: PhysicalKeyboardKey.mediaTrackPrevious,
0x000000ae: PhysicalKeyboardKey.mediaStop,
0x000000a9: PhysicalKeyboardKey.eject,
0x000000ac: PhysicalKeyboardKey.mediaPlayPause,
0x0000024e: PhysicalKeyboardKey.speechInputToggle,
0x000000d9: PhysicalKeyboardKey.bassBoost,
0x000000b3: PhysicalKeyboardKey.mediaSelect,
0x000001ad: PhysicalKeyboardKey.launchWordProcessor,
0x000001af: PhysicalKeyboardKey.launchSpreadsheet,
0x000000a3: PhysicalKeyboardKey.launchMail,
0x000001b5: PhysicalKeyboardKey.launchContacts,
0x00000195: PhysicalKeyboardKey.launchCalendar,
0x00000094: PhysicalKeyboardKey.launchApp2,
0x00000098: PhysicalKeyboardKey.launchApp1,
0x0000009e: PhysicalKeyboardKey.launchInternetBrowser,
0x000001b9: PhysicalKeyboardKey.logOff,
0x000000a0: PhysicalKeyboardKey.lockScreen,
0x0000024b: PhysicalKeyboardKey.launchControlPanel,
0x0000024c: PhysicalKeyboardKey.selectTask,
0x000000f3: PhysicalKeyboardKey.launchDocuments,
0x000001b8: PhysicalKeyboardKey.spellCheck,
0x0000017e: PhysicalKeyboardKey.launchKeyboardLayout,
0x0000024d: PhysicalKeyboardKey.launchScreenSaver,
0x0000024f: PhysicalKeyboardKey.launchAssistant,
0x00000190: PhysicalKeyboardKey.launchAudioBrowser,
0x000000bd: PhysicalKeyboardKey.newKey,
0x000000d6: PhysicalKeyboardKey.close,
0x000000f2: PhysicalKeyboardKey.save,
0x000000da: PhysicalKeyboardKey.print,
0x000000e1: PhysicalKeyboardKey.browserSearch,
0x000000b4: PhysicalKeyboardKey.browserHome,
0x000000a6: PhysicalKeyboardKey.browserBack,
0x000000a7: PhysicalKeyboardKey.browserForward,
0x00000088: PhysicalKeyboardKey.browserStop,
0x000000b5: PhysicalKeyboardKey.browserRefresh,
0x000000a4: PhysicalKeyboardKey.browserFavorites,
0x000001aa: PhysicalKeyboardKey.zoomIn,
0x000001ab: PhysicalKeyboardKey.zoomOut,
0x0000017c: PhysicalKeyboardKey.zoomToggle,
0x000000be: PhysicalKeyboardKey.redo,
0x000000f0: PhysicalKeyboardKey.mailReply,
0x000000f1: PhysicalKeyboardKey.mailForward,
0x000000ef: PhysicalKeyboardKey.mailSend,
0x00000250: PhysicalKeyboardKey.keyboardLayoutSelect,
0x00000080: PhysicalKeyboardKey.showAllWindows,
};