Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ulixee
GitHub Repository: ulixee/secret-agent
Path: blob/main/interfaces/IKeyboardLayoutUS.ts
1028 views
1
export const KeyboardKeys = {
2
'0': 0,
3
'1': 1,
4
'2': 2,
5
'3': 3,
6
'4': 4,
7
'5': 5,
8
'6': 6,
9
'7': 7,
10
'8': 8,
11
'9': 9,
12
Power: 10,
13
Eject: 11,
14
Abort: 12,
15
Help: 13,
16
Backspace: 14,
17
Tab: 15,
18
Numpad5: 16,
19
NumpadEnter: 17,
20
Enter: 18,
21
'\r': 19,
22
'\n': 20,
23
ShiftLeft: 21,
24
ShiftRight: 22,
25
ControlLeft: 23,
26
ControlRight: 24,
27
AltLeft: 25,
28
AltRight: 26,
29
Pause: 27,
30
CapsLock: 28,
31
Escape: 29,
32
Convert: 30,
33
NonConvert: 31,
34
Space: 32,
35
Numpad9: 33,
36
PageUp: 34,
37
Numpad3: 35,
38
PageDown: 36,
39
End: 37,
40
Numpad1: 38,
41
Home: 39,
42
Numpad7: 40,
43
ArrowLeft: 41,
44
Numpad4: 42,
45
Numpad8: 43,
46
ArrowUp: 44,
47
ArrowRight: 45,
48
Numpad6: 46,
49
Numpad2: 47,
50
ArrowDown: 48,
51
Select: 49,
52
Open: 50,
53
PrintScreen: 51,
54
Insert: 52,
55
Numpad0: 53,
56
Delete: 54,
57
NumpadDecimal: 55,
58
Digit0: 56,
59
Digit1: 57,
60
Digit2: 58,
61
Digit3: 59,
62
Digit4: 60,
63
Digit5: 61,
64
Digit6: 62,
65
Digit7: 63,
66
Digit8: 64,
67
Digit9: 65,
68
KeyA: 66,
69
KeyB: 67,
70
KeyC: 68,
71
KeyD: 69,
72
KeyE: 70,
73
KeyF: 71,
74
KeyG: 72,
75
KeyH: 73,
76
KeyI: 74,
77
KeyJ: 75,
78
KeyK: 76,
79
KeyL: 77,
80
KeyM: 78,
81
KeyN: 79,
82
KeyO: 80,
83
KeyP: 81,
84
KeyQ: 82,
85
KeyR: 83,
86
KeyS: 84,
87
KeyT: 85,
88
KeyU: 86,
89
KeyV: 87,
90
KeyW: 88,
91
KeyX: 89,
92
KeyY: 90,
93
KeyZ: 91,
94
MetaLeft: 92,
95
MetaRight: 93,
96
ContextMenu: 94,
97
NumpadMultiply: 95,
98
NumpadAdd: 96,
99
NumpadSubtract: 97,
100
NumpadDivide: 98,
101
F1: 99,
102
F2: 100,
103
F3: 101,
104
F4: 102,
105
F5: 103,
106
F6: 104,
107
F7: 105,
108
F8: 106,
109
F9: 107,
110
F10: 108,
111
F11: 109,
112
F12: 110,
113
F13: 111,
114
F14: 112,
115
F15: 113,
116
F16: 114,
117
F17: 115,
118
F18: 116,
119
F19: 117,
120
F20: 118,
121
F21: 119,
122
F22: 120,
123
F23: 121,
124
F24: 122,
125
NumLock: 123,
126
ScrollLock: 124,
127
AudioVolumeMute: 125,
128
AudioVolumeDown: 126,
129
AudioVolumeUp: 127,
130
MediaTrackNext: 128,
131
MediaTrackPrevious: 129,
132
MediaStop: 130,
133
MediaPlayPause: 131,
134
Semicolon: 132,
135
Equal: 133,
136
NumpadEqual: 134,
137
Comma: 135,
138
Minus: 136,
139
Period: 137,
140
Slash: 138,
141
Backquote: 139,
142
BracketLeft: 140,
143
Backslash: 141,
144
BracketRight: 142,
145
Quote: 143,
146
AltGraph: 144,
147
Props: 145,
148
Cancel: 146,
149
Clear: 147,
150
Shift: 148,
151
Control: 149,
152
Alt: 150,
153
Accept: 151,
154
ModeChange: 152,
155
' ': 153,
156
Print: 154,
157
Execute: 155,
158
'\u0000': 156,
159
a: 157,
160
b: 158,
161
c: 159,
162
d: 160,
163
e: 161,
164
f: 162,
165
g: 163,
166
h: 164,
167
i: 165,
168
j: 166,
169
k: 167,
170
l: 168,
171
m: 169,
172
n: 170,
173
o: 171,
174
p: 172,
175
q: 173,
176
r: 174,
177
s: 175,
178
t: 176,
179
u: 177,
180
v: 178,
181
w: 179,
182
x: 180,
183
y: 181,
184
z: 182,
185
Meta: 183,
186
'*': 184,
187
'+': 185,
188
'-': 186,
189
'/': 187,
190
';': 188,
191
'=': 189,
192
',': 245,
193
'.': 191,
194
'`': 192,
195
'[': 193,
196
'\\': 194,
197
']': 195,
198
"'": 196,
199
Attn: 197,
200
CrSel: 198,
201
ExSel: 199,
202
EraseEof: 200,
203
Play: 201,
204
ZoomOut: 202,
205
')': 203,
206
'!': 204,
207
'@': 205,
208
'#': 206,
209
$: 207,
210
'%': 208,
211
'^': 209,
212
'&': 210,
213
'(': 211,
214
A: 212,
215
B: 213,
216
C: 214,
217
D: 215,
218
E: 216,
219
F: 217,
220
G: 218,
221
H: 219,
222
I: 220,
223
J: 221,
224
K: 222,
225
L: 223,
226
M: 224,
227
N: 225,
228
O: 226,
229
P: 227,
230
Q: 228,
231
R: 229,
232
S: 230,
233
T: 231,
234
U: 232,
235
V: 233,
236
W: 234,
237
X: 235,
238
Y: 236,
239
Z: 237,
240
':': 238,
241
'<': 239,
242
_: 240,
243
'>': 241,
244
'?': 242,
245
'~': 243,
246
'{': 244,
247
'}': 246,
248
'|': 220,
249
'"': 247,
250
SoftLeft: 248,
251
SoftRight: 249,
252
Camera: 250,
253
Call: 251,
254
EndCall: 252,
255
VolumeDown: 253,
256
VolumeUp: 254,
257
} as const;
258
259
export function getKeyboardKey(keyCode: IKeyboardKeyCode): IKeyboardKey | undefined {
260
for (const [key, code] of Object.entries(KeyboardKeys)) {
261
if (code === keyCode) {
262
return key as IKeyboardKey;
263
}
264
}
265
}
266
267
export type IKeyboardKey = keyof typeof KeyboardKeys;
268
export type IKeyboardKeyCode = typeof KeyboardKeys[IKeyboardKey];
269
export type IKeyboardKeyCodes = IKeyboardKeyCode[];
270
271