1use super::OsCode;
4
5impl OsCode {
6 pub(super) const fn as_u16_linux(self) -> u16 {
7 self as u16
8 }
9 pub(super) const fn from_u16_linux(code: u16) -> Option<Self> {
10 match code {
11 0 => Some(OsCode::KEY_RESERVED),
12 1 => Some(OsCode::KEY_ESC),
13 2 => Some(OsCode::KEY_1),
14 3 => Some(OsCode::KEY_2),
15 4 => Some(OsCode::KEY_3),
16 5 => Some(OsCode::KEY_4),
17 6 => Some(OsCode::KEY_5),
18 7 => Some(OsCode::KEY_6),
19 8 => Some(OsCode::KEY_7),
20 9 => Some(OsCode::KEY_8),
21 10 => Some(OsCode::KEY_9),
22 11 => Some(OsCode::KEY_0),
23 12 => Some(OsCode::KEY_MINUS),
24 13 => Some(OsCode::KEY_EQUAL),
25 14 => Some(OsCode::KEY_BACKSPACE),
26 15 => Some(OsCode::KEY_TAB),
27 16 => Some(OsCode::KEY_Q),
28 17 => Some(OsCode::KEY_W),
29 18 => Some(OsCode::KEY_E),
30 19 => Some(OsCode::KEY_R),
31 20 => Some(OsCode::KEY_T),
32 21 => Some(OsCode::KEY_Y),
33 22 => Some(OsCode::KEY_U),
34 23 => Some(OsCode::KEY_I),
35 24 => Some(OsCode::KEY_O),
36 25 => Some(OsCode::KEY_P),
37 26 => Some(OsCode::KEY_LEFTBRACE),
38 27 => Some(OsCode::KEY_RIGHTBRACE),
39 28 => Some(OsCode::KEY_ENTER),
40 29 => Some(OsCode::KEY_LEFTCTRL),
41 30 => Some(OsCode::KEY_A),
42 31 => Some(OsCode::KEY_S),
43 32 => Some(OsCode::KEY_D),
44 33 => Some(OsCode::KEY_F),
45 34 => Some(OsCode::KEY_G),
46 35 => Some(OsCode::KEY_H),
47 36 => Some(OsCode::KEY_J),
48 37 => Some(OsCode::KEY_K),
49 38 => Some(OsCode::KEY_L),
50 39 => Some(OsCode::KEY_SEMICOLON),
51 40 => Some(OsCode::KEY_APOSTROPHE),
52 41 => Some(OsCode::KEY_GRAVE),
53 42 => Some(OsCode::KEY_LEFTSHIFT),
54 43 => Some(OsCode::KEY_BACKSLASH),
55 44 => Some(OsCode::KEY_Z),
56 45 => Some(OsCode::KEY_X),
57 46 => Some(OsCode::KEY_C),
58 47 => Some(OsCode::KEY_V),
59 48 => Some(OsCode::KEY_B),
60 49 => Some(OsCode::KEY_N),
61 50 => Some(OsCode::KEY_M),
62 51 => Some(OsCode::KEY_COMMA),
63 52 => Some(OsCode::KEY_DOT),
64 53 => Some(OsCode::KEY_SLASH),
65 54 => Some(OsCode::KEY_RIGHTSHIFT),
66 55 => Some(OsCode::KEY_KPASTERISK),
67 56 => Some(OsCode::KEY_LEFTALT),
68 57 => Some(OsCode::KEY_SPACE),
69 58 => Some(OsCode::KEY_CAPSLOCK),
70 59 => Some(OsCode::KEY_F1),
71 60 => Some(OsCode::KEY_F2),
72 61 => Some(OsCode::KEY_F3),
73 62 => Some(OsCode::KEY_F4),
74 63 => Some(OsCode::KEY_F5),
75 64 => Some(OsCode::KEY_F6),
76 65 => Some(OsCode::KEY_F7),
77 66 => Some(OsCode::KEY_F8),
78 67 => Some(OsCode::KEY_F9),
79 68 => Some(OsCode::KEY_F10),
80 69 => Some(OsCode::KEY_NUMLOCK),
81 70 => Some(OsCode::KEY_SCROLLLOCK),
82 71 => Some(OsCode::KEY_KP7),
83 72 => Some(OsCode::KEY_KP8),
84 73 => Some(OsCode::KEY_KP9),
85 74 => Some(OsCode::KEY_KPMINUS),
86 75 => Some(OsCode::KEY_KP4),
87 76 => Some(OsCode::KEY_KP5),
88 77 => Some(OsCode::KEY_KP6),
89 78 => Some(OsCode::KEY_KPPLUS),
90 79 => Some(OsCode::KEY_KP1),
91 80 => Some(OsCode::KEY_KP2),
92 81 => Some(OsCode::KEY_KP3),
93 82 => Some(OsCode::KEY_KP0),
94 83 => Some(OsCode::KEY_KPDOT),
95 84 => Some(OsCode::KEY_84),
96 85 => Some(OsCode::KEY_ZENKAKUHANKAKU),
97 86 => Some(OsCode::KEY_102ND),
98 87 => Some(OsCode::KEY_F11),
99 88 => Some(OsCode::KEY_F12),
100 89 => Some(OsCode::KEY_RO),
101 90 => Some(OsCode::KEY_KATAKANA),
102 91 => Some(OsCode::KEY_HIRAGANA),
103 92 => Some(OsCode::KEY_HENKAN),
104 93 => Some(OsCode::KEY_KATAKANAHIRAGANA),
105 94 => Some(OsCode::KEY_MUHENKAN),
106 95 => Some(OsCode::KEY_KPJPCOMMA),
107 96 => Some(OsCode::KEY_KPENTER),
108 97 => Some(OsCode::KEY_RIGHTCTRL),
109 98 => Some(OsCode::KEY_KPSLASH),
110 99 => Some(OsCode::KEY_SYSRQ),
111 100 => Some(OsCode::KEY_RIGHTALT),
112 101 => Some(OsCode::KEY_LINEFEED),
113 102 => Some(OsCode::KEY_HOME),
114 103 => Some(OsCode::KEY_UP),
115 104 => Some(OsCode::KEY_PAGEUP),
116 105 => Some(OsCode::KEY_LEFT),
117 106 => Some(OsCode::KEY_RIGHT),
118 107 => Some(OsCode::KEY_END),
119 108 => Some(OsCode::KEY_DOWN),
120 109 => Some(OsCode::KEY_PAGEDOWN),
121 110 => Some(OsCode::KEY_INSERT),
122 111 => Some(OsCode::KEY_DELETE),
123 112 => Some(OsCode::KEY_MACRO),
124 113 => Some(OsCode::KEY_MUTE),
125 114 => Some(OsCode::KEY_VOLUMEDOWN),
126 115 => Some(OsCode::KEY_VOLUMEUP),
127 116 => Some(OsCode::KEY_POWER),
128 117 => Some(OsCode::KEY_KPEQUAL),
129 118 => Some(OsCode::KEY_KPPLUSMINUS),
130 119 => Some(OsCode::KEY_PAUSE),
131 120 => Some(OsCode::KEY_SCALE),
132 121 => Some(OsCode::KEY_KPCOMMA),
133 122 => Some(OsCode::KEY_HANGEUL),
134 123 => Some(OsCode::KEY_HANJA),
135 124 => Some(OsCode::KEY_YEN),
136 125 => Some(OsCode::KEY_LEFTMETA),
137 126 => Some(OsCode::KEY_RIGHTMETA),
138 127 => Some(OsCode::KEY_COMPOSE),
139 128 => Some(OsCode::KEY_STOP),
140 129 => Some(OsCode::KEY_AGAIN),
141 130 => Some(OsCode::KEY_PROPS),
142 131 => Some(OsCode::KEY_UNDO),
143 132 => Some(OsCode::KEY_FRONT),
144 133 => Some(OsCode::KEY_COPY),
145 134 => Some(OsCode::KEY_OPEN),
146 135 => Some(OsCode::KEY_PASTE),
147 136 => Some(OsCode::KEY_FIND),
148 137 => Some(OsCode::KEY_CUT),
149 138 => Some(OsCode::KEY_HELP),
150 139 => Some(OsCode::KEY_MENU),
151 140 => Some(OsCode::KEY_CALC),
152 141 => Some(OsCode::KEY_SETUP),
153 142 => Some(OsCode::KEY_SLEEP),
154 143 => Some(OsCode::KEY_WAKEUP),
155 144 => Some(OsCode::KEY_FILE),
156 145 => Some(OsCode::KEY_SENDFILE),
157 146 => Some(OsCode::KEY_DELETEFILE),
158 147 => Some(OsCode::KEY_XFER),
159 148 => Some(OsCode::KEY_PROG1),
160 149 => Some(OsCode::KEY_PROG2),
161 150 => Some(OsCode::KEY_WWW),
162 151 => Some(OsCode::KEY_MSDOS),
163 152 => Some(OsCode::KEY_COFFEE),
164 153 => Some(OsCode::KEY_ROTATE_DISPLAY),
165 154 => Some(OsCode::KEY_CYCLEWINDOWS),
166 155 => Some(OsCode::KEY_MAIL),
167 156 => Some(OsCode::KEY_BOOKMARKS),
168 157 => Some(OsCode::KEY_COMPUTER),
169 158 => Some(OsCode::KEY_BACK),
170 159 => Some(OsCode::KEY_FORWARD),
171 160 => Some(OsCode::KEY_CLOSECD),
172 161 => Some(OsCode::KEY_EJECTCD),
173 162 => Some(OsCode::KEY_EJECTCLOSECD),
174 163 => Some(OsCode::KEY_NEXTSONG),
175 164 => Some(OsCode::KEY_PLAYPAUSE),
176 165 => Some(OsCode::KEY_PREVIOUSSONG),
177 166 => Some(OsCode::KEY_STOPCD),
178 167 => Some(OsCode::KEY_RECORD),
179 168 => Some(OsCode::KEY_REWIND),
180 169 => Some(OsCode::KEY_PHONE),
181 170 => Some(OsCode::KEY_ISO),
182 171 => Some(OsCode::KEY_CONFIG),
183 172 => Some(OsCode::KEY_HOMEPAGE),
184 173 => Some(OsCode::KEY_REFRESH),
185 174 => Some(OsCode::KEY_EXIT),
186 175 => Some(OsCode::KEY_MOVE),
187 176 => Some(OsCode::KEY_EDIT),
188 177 => Some(OsCode::KEY_SCROLLUP),
189 178 => Some(OsCode::KEY_SCROLLDOWN),
190 179 => Some(OsCode::KEY_KPLEFTPAREN),
191 180 => Some(OsCode::KEY_KPRIGHTPAREN),
192 181 => Some(OsCode::KEY_NEW),
193 182 => Some(OsCode::KEY_REDO),
194 183 => Some(OsCode::KEY_F13),
195 184 => Some(OsCode::KEY_F14),
196 185 => Some(OsCode::KEY_F15),
197 186 => Some(OsCode::KEY_F16),
198 187 => Some(OsCode::KEY_F17),
199 188 => Some(OsCode::KEY_F18),
200 189 => Some(OsCode::KEY_F19),
201 190 => Some(OsCode::KEY_F20),
202 191 => Some(OsCode::KEY_F21),
203 192 => Some(OsCode::KEY_F22),
204 193 => Some(OsCode::KEY_F23),
205 194 => Some(OsCode::KEY_F24),
206 195 => Some(OsCode::KEY_195),
207 196 => Some(OsCode::KEY_196),
208 197 => Some(OsCode::KEY_197),
209 198 => Some(OsCode::KEY_198),
210 199 => Some(OsCode::KEY_199),
211 200 => Some(OsCode::KEY_PLAYCD),
212 201 => Some(OsCode::KEY_PAUSECD),
213 202 => Some(OsCode::KEY_PROG3),
214 203 => Some(OsCode::KEY_PROG4),
215 204 => Some(OsCode::KEY_DASHBOARD),
216 205 => Some(OsCode::KEY_SUSPEND),
217 206 => Some(OsCode::KEY_CLOSE),
218 207 => Some(OsCode::KEY_PLAY),
219 208 => Some(OsCode::KEY_FASTFORWARD),
220 209 => Some(OsCode::KEY_BASSBOOST),
221 210 => Some(OsCode::KEY_PRINT),
222 211 => Some(OsCode::KEY_HP),
223 212 => Some(OsCode::KEY_CAMERA),
224 213 => Some(OsCode::KEY_SOUND),
225 214 => Some(OsCode::KEY_QUESTION),
226 215 => Some(OsCode::KEY_EMAIL),
227 216 => Some(OsCode::KEY_CHAT),
228 217 => Some(OsCode::KEY_SEARCH),
229 218 => Some(OsCode::KEY_CONNECT),
230 219 => Some(OsCode::KEY_FINANCE),
231 220 => Some(OsCode::KEY_SPORT),
232 221 => Some(OsCode::KEY_SHOP),
233 222 => Some(OsCode::KEY_ALTERASE),
234 223 => Some(OsCode::KEY_CANCEL),
235 224 => Some(OsCode::KEY_BRIGHTNESSDOWN),
236 225 => Some(OsCode::KEY_BRIGHTNESSUP),
237 226 => Some(OsCode::KEY_MEDIA),
238 227 => Some(OsCode::KEY_SWITCHVIDEOMODE),
239 228 => Some(OsCode::KEY_KBDILLUMTOGGLE),
240 229 => Some(OsCode::KEY_KBDILLUMDOWN),
241 230 => Some(OsCode::KEY_KBDILLUMUP),
242 231 => Some(OsCode::KEY_SEND),
243 232 => Some(OsCode::KEY_REPLY),
244 233 => Some(OsCode::KEY_FORWARDMAIL),
245 234 => Some(OsCode::KEY_SAVE),
246 235 => Some(OsCode::KEY_DOCUMENTS),
247 236 => Some(OsCode::KEY_BATTERY),
248 237 => Some(OsCode::KEY_BLUETOOTH),
249 238 => Some(OsCode::KEY_WLAN),
250 239 => Some(OsCode::KEY_UWB),
251 240 => Some(OsCode::KEY_UNKNOWN),
252 241 => Some(OsCode::KEY_VIDEO_NEXT),
253 242 => Some(OsCode::KEY_VIDEO_PREV),
254 243 => Some(OsCode::KEY_BRIGHTNESS_CYCLE),
255 244 => Some(OsCode::KEY_BRIGHTNESS_AUTO),
256 245 => Some(OsCode::KEY_DISPLAY_OFF),
257 246 => Some(OsCode::KEY_WWAN),
258 247 => Some(OsCode::KEY_RFKILL),
259 248 => Some(OsCode::KEY_MICMUTE),
260 249 => Some(OsCode::KEY_249),
261 250 => Some(OsCode::KEY_250),
262 251 => Some(OsCode::KEY_251),
263 252 => Some(OsCode::KEY_252),
264 253 => Some(OsCode::KEY_253),
265 254 => Some(OsCode::KEY_254),
266 255 => Some(OsCode::KEY_255),
267 256 => Some(OsCode::BTN_0),
268 257 => Some(OsCode::BTN_1),
269 258 => Some(OsCode::BTN_2),
270 259 => Some(OsCode::BTN_3),
271 260 => Some(OsCode::BTN_4),
272 261 => Some(OsCode::BTN_5),
273 262 => Some(OsCode::BTN_6),
274 263 => Some(OsCode::BTN_7),
275 264 => Some(OsCode::BTN_8),
276 265 => Some(OsCode::BTN_9),
277 266 => Some(OsCode::KEY_266),
278 267 => Some(OsCode::KEY_267),
279 268 => Some(OsCode::KEY_268),
280 269 => Some(OsCode::KEY_269),
281 270 => Some(OsCode::KEY_270),
282 271 => Some(OsCode::KEY_271),
283 272 => Some(OsCode::BTN_LEFT),
284 273 => Some(OsCode::BTN_RIGHT),
285 274 => Some(OsCode::BTN_MIDDLE),
286 275 => Some(OsCode::BTN_SIDE),
287 276 => Some(OsCode::BTN_EXTRA),
288 277 => Some(OsCode::BTN_FORWARD),
289 278 => Some(OsCode::BTN_BACK),
290 279 => Some(OsCode::BTN_TASK),
291 280 => Some(OsCode::KEY_280),
292 281 => Some(OsCode::KEY_281),
293 282 => Some(OsCode::KEY_282),
294 283 => Some(OsCode::KEY_283),
295 284 => Some(OsCode::KEY_284),
296 285 => Some(OsCode::KEY_285),
297 286 => Some(OsCode::KEY_286),
298 287 => Some(OsCode::KEY_287),
299 288 => Some(OsCode::BTN_TRIGGER),
300 289 => Some(OsCode::BTN_THUMB),
301 290 => Some(OsCode::BTN_THUMB2),
302 291 => Some(OsCode::BTN_TOP),
303 292 => Some(OsCode::BTN_TOP2),
304 293 => Some(OsCode::BTN_PINKIE),
305 294 => Some(OsCode::BTN_BASE),
306 295 => Some(OsCode::BTN_BASE2),
307 296 => Some(OsCode::BTN_BASE3),
308 297 => Some(OsCode::BTN_BASE4),
309 298 => Some(OsCode::BTN_BASE5),
310 299 => Some(OsCode::BTN_BASE6),
311 300 => Some(OsCode::KEY_300),
312 301 => Some(OsCode::KEY_301),
313 302 => Some(OsCode::KEY_302),
314 303 => Some(OsCode::BTN_DEAD),
315 304 => Some(OsCode::BTN_SOUTH),
316 305 => Some(OsCode::BTN_EAST),
317 306 => Some(OsCode::BTN_C),
318 307 => Some(OsCode::BTN_NORTH),
319 308 => Some(OsCode::BTN_WEST),
320 309 => Some(OsCode::BTN_Z),
321 310 => Some(OsCode::BTN_TL),
322 311 => Some(OsCode::BTN_TR),
323 312 => Some(OsCode::BTN_TL2),
324 313 => Some(OsCode::BTN_TR2),
325 314 => Some(OsCode::BTN_SELECT),
326 315 => Some(OsCode::BTN_START),
327 316 => Some(OsCode::BTN_MODE),
328 317 => Some(OsCode::BTN_THUMBL),
329 318 => Some(OsCode::BTN_THUMBR),
330 319 => Some(OsCode::KEY_319),
331 320 => Some(OsCode::BTN_TOOL_PEN),
332 321 => Some(OsCode::BTN_TOOL_RUBBER),
333 322 => Some(OsCode::BTN_TOOL_BRUSH),
334 323 => Some(OsCode::BTN_TOOL_PENCIL),
335 324 => Some(OsCode::BTN_TOOL_AIRBRUSH),
336 325 => Some(OsCode::BTN_TOOL_FINGER),
337 326 => Some(OsCode::BTN_TOOL_MOUSE),
338 327 => Some(OsCode::BTN_TOOL_LENS),
339 328 => Some(OsCode::BTN_TOOL_QUINTTAP),
340 329 => Some(OsCode::BTN_STYLUS3),
341 330 => Some(OsCode::BTN_TOUCH),
342 331 => Some(OsCode::BTN_STYLUS),
343 332 => Some(OsCode::BTN_STYLUS2),
344 333 => Some(OsCode::BTN_TOOL_DOUBLETAP),
345 334 => Some(OsCode::BTN_TOOL_TRIPLETAP),
346 335 => Some(OsCode::BTN_TOOL_QUADTAP),
347 336 => Some(OsCode::BTN_GEAR_DOWN),
348 337 => Some(OsCode::BTN_GEAR_UP),
349 338 => Some(OsCode::KEY_338),
350 339 => Some(OsCode::KEY_339),
351 340 => Some(OsCode::KEY_340),
352 341 => Some(OsCode::KEY_341),
353 342 => Some(OsCode::KEY_342),
354 343 => Some(OsCode::KEY_343),
355 344 => Some(OsCode::KEY_344),
356 345 => Some(OsCode::KEY_345),
357 346 => Some(OsCode::KEY_346),
358 347 => Some(OsCode::KEY_347),
359 348 => Some(OsCode::KEY_348),
360 349 => Some(OsCode::KEY_349),
361 350 => Some(OsCode::KEY_350),
362 351 => Some(OsCode::KEY_351),
363 352 => Some(OsCode::KEY_OK),
364 353 => Some(OsCode::KEY_SELECT),
365 354 => Some(OsCode::KEY_GOTO),
366 355 => Some(OsCode::KEY_CLEAR),
367 356 => Some(OsCode::KEY_POWER2),
368 357 => Some(OsCode::KEY_OPTION),
369 358 => Some(OsCode::KEY_INFO),
370 359 => Some(OsCode::KEY_TIME),
371 360 => Some(OsCode::KEY_VENDOR),
372 361 => Some(OsCode::KEY_ARCHIVE),
373 362 => Some(OsCode::KEY_PROGRAM),
374 363 => Some(OsCode::KEY_CHANNEL),
375 364 => Some(OsCode::KEY_FAVORITES),
376 365 => Some(OsCode::KEY_EPG),
377 366 => Some(OsCode::KEY_PVR),
378 367 => Some(OsCode::KEY_MHP),
379 368 => Some(OsCode::KEY_LANGUAGE),
380 369 => Some(OsCode::KEY_TITLE),
381 370 => Some(OsCode::KEY_SUBTITLE),
382 371 => Some(OsCode::KEY_ANGLE),
383 372 => Some(OsCode::KEY_FULL_SCREEN),
384 373 => Some(OsCode::KEY_MODE),
385 374 => Some(OsCode::KEY_KEYBOARD),
386 375 => Some(OsCode::KEY_ASPECT_RATIO),
387 376 => Some(OsCode::KEY_PC),
388 377 => Some(OsCode::KEY_TV),
389 378 => Some(OsCode::KEY_TV2),
390 379 => Some(OsCode::KEY_VCR),
391 380 => Some(OsCode::KEY_VCR2),
392 381 => Some(OsCode::KEY_SAT),
393 382 => Some(OsCode::KEY_SAT2),
394 383 => Some(OsCode::KEY_CD),
395 384 => Some(OsCode::KEY_TAPE),
396 385 => Some(OsCode::KEY_RADIO),
397 386 => Some(OsCode::KEY_TUNER),
398 387 => Some(OsCode::KEY_PLAYER),
399 388 => Some(OsCode::KEY_TEXT),
400 389 => Some(OsCode::KEY_DVD),
401 390 => Some(OsCode::KEY_AUX),
402 391 => Some(OsCode::KEY_MP3),
403 392 => Some(OsCode::KEY_AUDIO),
404 393 => Some(OsCode::KEY_VIDEO),
405 394 => Some(OsCode::KEY_DIRECTORY),
406 395 => Some(OsCode::KEY_LIST),
407 396 => Some(OsCode::KEY_MEMO),
408 397 => Some(OsCode::KEY_CALENDAR),
409 398 => Some(OsCode::KEY_RED),
410 399 => Some(OsCode::KEY_GREEN),
411 400 => Some(OsCode::KEY_YELLOW),
412 401 => Some(OsCode::KEY_BLUE),
413 402 => Some(OsCode::KEY_CHANNELUP),
414 403 => Some(OsCode::KEY_CHANNELDOWN),
415 404 => Some(OsCode::KEY_FIRST),
416 405 => Some(OsCode::KEY_LAST),
417 406 => Some(OsCode::KEY_AB),
418 407 => Some(OsCode::KEY_NEXT),
419 408 => Some(OsCode::KEY_RESTART),
420 409 => Some(OsCode::KEY_SLOW),
421 410 => Some(OsCode::KEY_SHUFFLE),
422 411 => Some(OsCode::KEY_BREAK),
423 412 => Some(OsCode::KEY_PREVIOUS),
424 413 => Some(OsCode::KEY_DIGITS),
425 414 => Some(OsCode::KEY_TEEN),
426 415 => Some(OsCode::KEY_TWEN),
427 416 => Some(OsCode::KEY_VIDEOPHONE),
428 417 => Some(OsCode::KEY_GAMES),
429 418 => Some(OsCode::KEY_ZOOMIN),
430 419 => Some(OsCode::KEY_ZOOMOUT),
431 420 => Some(OsCode::KEY_ZOOMRESET),
432 421 => Some(OsCode::KEY_WORDPROCESSOR),
433 422 => Some(OsCode::KEY_EDITOR),
434 423 => Some(OsCode::KEY_SPREADSHEET),
435 424 => Some(OsCode::KEY_GRAPHICSEDITOR),
436 425 => Some(OsCode::KEY_PRESENTATION),
437 426 => Some(OsCode::KEY_DATABASE),
438 427 => Some(OsCode::KEY_NEWS),
439 428 => Some(OsCode::KEY_VOICEMAIL),
440 429 => Some(OsCode::KEY_ADDRESSBOOK),
441 430 => Some(OsCode::KEY_MESSENGER),
442 431 => Some(OsCode::KEY_DISPLAYTOGGLE),
443 432 => Some(OsCode::KEY_SPELLCHECK),
444 433 => Some(OsCode::KEY_LOGOFF),
445 434 => Some(OsCode::KEY_DOLLAR),
446 435 => Some(OsCode::KEY_EURO),
447 436 => Some(OsCode::KEY_FRAMEBACK),
448 437 => Some(OsCode::KEY_FRAMEFORWARD),
449 438 => Some(OsCode::KEY_CONTEXT_MENU),
450 439 => Some(OsCode::KEY_MEDIA_REPEAT),
451 440 => Some(OsCode::KEY_10CHANNELSUP),
452 441 => Some(OsCode::KEY_10CHANNELSDOWN),
453 442 => Some(OsCode::KEY_IMAGES),
454 443 => Some(OsCode::KEY_443),
455 444 => Some(OsCode::KEY_444),
456 445 => Some(OsCode::KEY_445),
457 446 => Some(OsCode::KEY_446),
458 447 => Some(OsCode::KEY_447),
459 448 => Some(OsCode::KEY_DEL_EOL),
460 449 => Some(OsCode::KEY_DEL_EOS),
461 450 => Some(OsCode::KEY_INS_LINE),
462 451 => Some(OsCode::KEY_DEL_LINE),
463 452 => Some(OsCode::KEY_452),
464 453 => Some(OsCode::KEY_453),
465 454 => Some(OsCode::KEY_454),
466 455 => Some(OsCode::KEY_455),
467 456 => Some(OsCode::KEY_456),
468 457 => Some(OsCode::KEY_457),
469 458 => Some(OsCode::KEY_458),
470 459 => Some(OsCode::KEY_459),
471 460 => Some(OsCode::KEY_460),
472 461 => Some(OsCode::KEY_461),
473 462 => Some(OsCode::KEY_462),
474 463 => Some(OsCode::KEY_463),
475 464 => Some(OsCode::KEY_FN),
476 465 => Some(OsCode::KEY_FN_ESC),
477 466 => Some(OsCode::KEY_FN_F1),
478 467 => Some(OsCode::KEY_FN_F2),
479 468 => Some(OsCode::KEY_FN_F3),
480 469 => Some(OsCode::KEY_FN_F4),
481 470 => Some(OsCode::KEY_FN_F5),
482 471 => Some(OsCode::KEY_FN_F6),
483 472 => Some(OsCode::KEY_FN_F7),
484 473 => Some(OsCode::KEY_FN_F8),
485 474 => Some(OsCode::KEY_FN_F9),
486 475 => Some(OsCode::KEY_FN_F10),
487 476 => Some(OsCode::KEY_FN_F11),
488 477 => Some(OsCode::KEY_FN_F12),
489 478 => Some(OsCode::KEY_FN_1),
490 479 => Some(OsCode::KEY_FN_2),
491 480 => Some(OsCode::KEY_FN_D),
492 481 => Some(OsCode::KEY_FN_E),
493 482 => Some(OsCode::KEY_FN_F),
494 483 => Some(OsCode::KEY_FN_S),
495 484 => Some(OsCode::KEY_FN_B),
496 485 => Some(OsCode::KEY_485),
497 486 => Some(OsCode::KEY_486),
498 487 => Some(OsCode::KEY_487),
499 488 => Some(OsCode::KEY_488),
500 489 => Some(OsCode::KEY_489),
501 490 => Some(OsCode::KEY_490),
502 491 => Some(OsCode::KEY_491),
503 492 => Some(OsCode::KEY_492),
504 493 => Some(OsCode::KEY_493),
505 494 => Some(OsCode::KEY_494),
506 495 => Some(OsCode::KEY_495),
507 496 => Some(OsCode::KEY_496),
508 497 => Some(OsCode::KEY_BRL_DOT1),
509 498 => Some(OsCode::KEY_BRL_DOT2),
510 499 => Some(OsCode::KEY_BRL_DOT3),
511 500 => Some(OsCode::KEY_BRL_DOT4),
512 501 => Some(OsCode::KEY_BRL_DOT5),
513 502 => Some(OsCode::KEY_BRL_DOT6),
514 503 => Some(OsCode::KEY_BRL_DOT7),
515 504 => Some(OsCode::KEY_BRL_DOT8),
516 505 => Some(OsCode::KEY_BRL_DOT9),
517 506 => Some(OsCode::KEY_BRL_DOT10),
518 507 => Some(OsCode::KEY_507),
519 508 => Some(OsCode::KEY_508),
520 509 => Some(OsCode::KEY_509),
521 510 => Some(OsCode::KEY_510),
522 511 => Some(OsCode::KEY_511),
523 512 => Some(OsCode::KEY_NUMERIC_0),
524 513 => Some(OsCode::KEY_NUMERIC_1),
525 514 => Some(OsCode::KEY_NUMERIC_2),
526 515 => Some(OsCode::KEY_NUMERIC_3),
527 516 => Some(OsCode::KEY_NUMERIC_4),
528 517 => Some(OsCode::KEY_NUMERIC_5),
529 518 => Some(OsCode::KEY_NUMERIC_6),
530 519 => Some(OsCode::KEY_NUMERIC_7),
531 520 => Some(OsCode::KEY_NUMERIC_8),
532 521 => Some(OsCode::KEY_NUMERIC_9),
533 522 => Some(OsCode::KEY_NUMERIC_STAR),
534 523 => Some(OsCode::KEY_NUMERIC_POUND),
535 524 => Some(OsCode::KEY_NUMERIC_A),
536 525 => Some(OsCode::KEY_NUMERIC_B),
537 526 => Some(OsCode::KEY_NUMERIC_C),
538 527 => Some(OsCode::KEY_NUMERIC_D),
539 528 => Some(OsCode::KEY_CAMERA_FOCUS),
540 529 => Some(OsCode::KEY_WPS_BUTTON),
541 530 => Some(OsCode::KEY_TOUCHPAD_TOGGLE),
542 531 => Some(OsCode::KEY_TOUCHPAD_ON),
543 532 => Some(OsCode::KEY_TOUCHPAD_OFF),
544 533 => Some(OsCode::KEY_CAMERA_ZOOMIN),
545 534 => Some(OsCode::KEY_CAMERA_ZOOMOUT),
546 535 => Some(OsCode::KEY_CAMERA_UP),
547 536 => Some(OsCode::KEY_CAMERA_DOWN),
548 537 => Some(OsCode::KEY_CAMERA_LEFT),
549 538 => Some(OsCode::KEY_CAMERA_RIGHT),
550 539 => Some(OsCode::KEY_ATTENDANT_ON),
551 540 => Some(OsCode::KEY_ATTENDANT_OFF),
552 541 => Some(OsCode::KEY_ATTENDANT_TOGGLE),
553 542 => Some(OsCode::KEY_LIGHTS_TOGGLE),
554 543 => Some(OsCode::KEY_543),
555 544 => Some(OsCode::BTN_DPAD_UP),
556 545 => Some(OsCode::BTN_DPAD_DOWN),
557 546 => Some(OsCode::BTN_DPAD_LEFT),
558 547 => Some(OsCode::BTN_DPAD_RIGHT),
559 548 => Some(OsCode::KEY_548),
560 549 => Some(OsCode::KEY_549),
561 550 => Some(OsCode::KEY_550),
562 551 => Some(OsCode::KEY_551),
563 552 => Some(OsCode::KEY_552),
564 553 => Some(OsCode::KEY_553),
565 554 => Some(OsCode::KEY_554),
566 555 => Some(OsCode::KEY_555),
567 556 => Some(OsCode::KEY_556),
568 557 => Some(OsCode::KEY_557),
569 558 => Some(OsCode::KEY_558),
570 559 => Some(OsCode::KEY_559),
571 560 => Some(OsCode::KEY_ALS_TOGGLE),
572 561 => Some(OsCode::KEY_ROTATE_LOCK_TOGGLE),
573 562 => Some(OsCode::KEY_562),
574 563 => Some(OsCode::KEY_563),
575 564 => Some(OsCode::KEY_564),
576 565 => Some(OsCode::KEY_565),
577 566 => Some(OsCode::KEY_566),
578 567 => Some(OsCode::KEY_567),
579 568 => Some(OsCode::KEY_568),
580 569 => Some(OsCode::KEY_569),
581 570 => Some(OsCode::KEY_570),
582 571 => Some(OsCode::KEY_571),
583 572 => Some(OsCode::KEY_572),
584 573 => Some(OsCode::KEY_573),
585 574 => Some(OsCode::KEY_574),
586 575 => Some(OsCode::KEY_575),
587 576 => Some(OsCode::KEY_BUTTONCONFIG),
588 577 => Some(OsCode::KEY_TASKMANAGER),
589 578 => Some(OsCode::KEY_JOURNAL),
590 579 => Some(OsCode::KEY_CONTROLPANEL),
591 580 => Some(OsCode::KEY_APPSELECT),
592 581 => Some(OsCode::KEY_SCREENSAVER),
593 582 => Some(OsCode::KEY_VOICECOMMAND),
594 583 => Some(OsCode::KEY_ASSISTANT),
595 584 => Some(OsCode::KEY_KBD_LAYOUT_NEXT),
596 585 => Some(OsCode::KEY_585),
597 586 => Some(OsCode::KEY_586),
598 587 => Some(OsCode::KEY_587),
599 588 => Some(OsCode::KEY_588),
600 589 => Some(OsCode::KEY_589),
601 590 => Some(OsCode::KEY_590),
602 591 => Some(OsCode::KEY_591),
603 592 => Some(OsCode::KEY_BRIGHTNESS_MIN),
604 593 => Some(OsCode::KEY_BRIGHTNESS_MAX),
605 594 => Some(OsCode::KEY_594),
606 595 => Some(OsCode::KEY_595),
607 596 => Some(OsCode::KEY_596),
608 597 => Some(OsCode::KEY_597),
609 598 => Some(OsCode::KEY_598),
610 599 => Some(OsCode::KEY_599),
611 600 => Some(OsCode::KEY_600),
612 601 => Some(OsCode::KEY_601),
613 602 => Some(OsCode::KEY_602),
614 603 => Some(OsCode::KEY_603),
615 604 => Some(OsCode::KEY_604),
616 605 => Some(OsCode::KEY_605),
617 606 => Some(OsCode::KEY_606),
618 607 => Some(OsCode::KEY_607),
619 608 => Some(OsCode::KEY_KBDINPUTASSIST_PREV),
620 609 => Some(OsCode::KEY_KBDINPUTASSIST_NEXT),
621 610 => Some(OsCode::KEY_KBDINPUTASSIST_PREVGROUP),
622 611 => Some(OsCode::KEY_KBDINPUTASSIST_NEXTGROUP),
623 612 => Some(OsCode::KEY_KBDINPUTASSIST_ACCEPT),
624 613 => Some(OsCode::KEY_KBDINPUTASSIST_CANCEL),
625 614 => Some(OsCode::KEY_RIGHT_UP),
626 615 => Some(OsCode::KEY_RIGHT_DOWN),
627 616 => Some(OsCode::KEY_LEFT_UP),
628 617 => Some(OsCode::KEY_LEFT_DOWN),
629 618 => Some(OsCode::KEY_ROOT_MENU),
630 619 => Some(OsCode::KEY_MEDIA_TOP_MENU),
631 620 => Some(OsCode::KEY_NUMERIC_11),
632 621 => Some(OsCode::KEY_NUMERIC_12),
633 622 => Some(OsCode::KEY_AUDIO_DESC),
634 623 => Some(OsCode::KEY_3D_MODE),
635 624 => Some(OsCode::KEY_NEXT_FAVORITE),
636 625 => Some(OsCode::KEY_STOP_RECORD),
637 626 => Some(OsCode::KEY_PAUSE_RECORD),
638 627 => Some(OsCode::KEY_VOD),
639 628 => Some(OsCode::KEY_UNMUTE),
640 629 => Some(OsCode::KEY_FASTREVERSE),
641 630 => Some(OsCode::KEY_SLOWREVERSE),
642 631 => Some(OsCode::KEY_DATA),
643 632 => Some(OsCode::KEY_ONSCREEN_KEYBOARD),
644 633 => Some(OsCode::KEY_633),
645 634 => Some(OsCode::KEY_634),
646 635 => Some(OsCode::KEY_635),
647 636 => Some(OsCode::KEY_636),
648 637 => Some(OsCode::KEY_637),
649 638 => Some(OsCode::KEY_638),
650 639 => Some(OsCode::KEY_639),
651 640 => Some(OsCode::KEY_640),
652 641 => Some(OsCode::KEY_641),
653 642 => Some(OsCode::KEY_642),
654 643 => Some(OsCode::KEY_643),
655 644 => Some(OsCode::KEY_644),
656 645 => Some(OsCode::KEY_645),
657 646 => Some(OsCode::KEY_646),
658 647 => Some(OsCode::KEY_647),
659 648 => Some(OsCode::KEY_648),
660 649 => Some(OsCode::KEY_649),
661 650 => Some(OsCode::KEY_650),
662 651 => Some(OsCode::KEY_651),
663 652 => Some(OsCode::KEY_652),
664 653 => Some(OsCode::KEY_653),
665 654 => Some(OsCode::KEY_654),
666 655 => Some(OsCode::KEY_655),
667 656 => Some(OsCode::KEY_656),
668 657 => Some(OsCode::KEY_657),
669 658 => Some(OsCode::KEY_658),
670 659 => Some(OsCode::KEY_659),
671 660 => Some(OsCode::KEY_660),
672 661 => Some(OsCode::KEY_661),
673 662 => Some(OsCode::KEY_662),
674 663 => Some(OsCode::KEY_663),
675 664 => Some(OsCode::KEY_664),
676 665 => Some(OsCode::KEY_665),
677 666 => Some(OsCode::KEY_666),
678 667 => Some(OsCode::KEY_667),
679 668 => Some(OsCode::KEY_668),
680 669 => Some(OsCode::KEY_669),
681 670 => Some(OsCode::KEY_670),
682 671 => Some(OsCode::KEY_671),
683 672 => Some(OsCode::KEY_672),
684 673 => Some(OsCode::KEY_673),
685 674 => Some(OsCode::KEY_674),
686 675 => Some(OsCode::KEY_675),
687 676 => Some(OsCode::KEY_676),
688 677 => Some(OsCode::KEY_677),
689 678 => Some(OsCode::KEY_678),
690 679 => Some(OsCode::KEY_679),
691 680 => Some(OsCode::KEY_680),
692 681 => Some(OsCode::KEY_681),
693 682 => Some(OsCode::KEY_682),
694 683 => Some(OsCode::KEY_683),
695 684 => Some(OsCode::KEY_684),
696 685 => Some(OsCode::KEY_685),
697 686 => Some(OsCode::KEY_686),
698 687 => Some(OsCode::KEY_687),
699 688 => Some(OsCode::KEY_688),
700 689 => Some(OsCode::KEY_689),
701 690 => Some(OsCode::KEY_690),
702 691 => Some(OsCode::KEY_691),
703 692 => Some(OsCode::KEY_692),
704 693 => Some(OsCode::KEY_693),
705 694 => Some(OsCode::KEY_694),
706 695 => Some(OsCode::KEY_695),
707 696 => Some(OsCode::KEY_696),
708 697 => Some(OsCode::KEY_697),
709 698 => Some(OsCode::KEY_698),
710 699 => Some(OsCode::KEY_699),
711 700 => Some(OsCode::KEY_700),
712 701 => Some(OsCode::KEY_701),
713 702 => Some(OsCode::KEY_702),
714 703 => Some(OsCode::KEY_703),
715 704 => Some(OsCode::BTN_TRIGGER_HAPPY1),
716 705 => Some(OsCode::BTN_TRIGGER_HAPPY2),
717 706 => Some(OsCode::BTN_TRIGGER_HAPPY3),
718 707 => Some(OsCode::BTN_TRIGGER_HAPPY4),
719 708 => Some(OsCode::BTN_TRIGGER_HAPPY5),
720 709 => Some(OsCode::BTN_TRIGGER_HAPPY6),
721 710 => Some(OsCode::BTN_TRIGGER_HAPPY7),
722 711 => Some(OsCode::BTN_TRIGGER_HAPPY8),
723 712 => Some(OsCode::BTN_TRIGGER_HAPPY9),
724 713 => Some(OsCode::BTN_TRIGGER_HAPPY10),
725 714 => Some(OsCode::BTN_TRIGGER_HAPPY11),
726 715 => Some(OsCode::BTN_TRIGGER_HAPPY12),
727 716 => Some(OsCode::BTN_TRIGGER_HAPPY13),
728 717 => Some(OsCode::BTN_TRIGGER_HAPPY14),
729 718 => Some(OsCode::BTN_TRIGGER_HAPPY15),
730 719 => Some(OsCode::BTN_TRIGGER_HAPPY16),
731 720 => Some(OsCode::BTN_TRIGGER_HAPPY17),
732 721 => Some(OsCode::BTN_TRIGGER_HAPPY18),
733 722 => Some(OsCode::BTN_TRIGGER_HAPPY19),
734 723 => Some(OsCode::BTN_TRIGGER_HAPPY20),
735 724 => Some(OsCode::BTN_TRIGGER_HAPPY21),
736 725 => Some(OsCode::BTN_TRIGGER_HAPPY22),
737 726 => Some(OsCode::BTN_TRIGGER_HAPPY23),
738 727 => Some(OsCode::BTN_TRIGGER_HAPPY24),
739 728 => Some(OsCode::BTN_TRIGGER_HAPPY25),
740 729 => Some(OsCode::BTN_TRIGGER_HAPPY26),
741 730 => Some(OsCode::BTN_TRIGGER_HAPPY27),
742 731 => Some(OsCode::BTN_TRIGGER_HAPPY28),
743 732 => Some(OsCode::BTN_TRIGGER_HAPPY29),
744 733 => Some(OsCode::BTN_TRIGGER_HAPPY30),
745 734 => Some(OsCode::BTN_TRIGGER_HAPPY31),
746 735 => Some(OsCode::BTN_TRIGGER_HAPPY32),
747 736 => Some(OsCode::BTN_TRIGGER_HAPPY33),
748 737 => Some(OsCode::BTN_TRIGGER_HAPPY34),
749 738 => Some(OsCode::BTN_TRIGGER_HAPPY35),
750 739 => Some(OsCode::BTN_TRIGGER_HAPPY36),
751 740 => Some(OsCode::BTN_TRIGGER_HAPPY37),
752 741 => Some(OsCode::BTN_TRIGGER_HAPPY38),
753 742 => Some(OsCode::BTN_TRIGGER_HAPPY39),
754 743 => Some(OsCode::BTN_TRIGGER_HAPPY40),
755 744 => Some(OsCode::BTN_MAX),
756 745 => Some(OsCode::MouseWheelUp),
757 746 => Some(OsCode::MouseWheelDown),
758 747 => Some(OsCode::MouseWheelLeft),
759 748 => Some(OsCode::MouseWheelRight),
760 767 => Some(OsCode::KEY_MAX),
761 _ => None,
762 }
763 }
764}
765
766use crate::custom_action::Btn;
767impl From<Btn> for OsCode {
768 fn from(btn: Btn) -> Self {
769 match btn {
770 Btn::Left => OsCode::BTN_LEFT,
771 Btn::Right => OsCode::BTN_RIGHT,
772 Btn::Mid => OsCode::BTN_MIDDLE,
773 Btn::Forward => OsCode::BTN_EXTRA,
774 Btn::Backward => OsCode::BTN_SIDE,
775 }
776 }
777}