1use crate::sys;
2#[cfg(feature = "serde")]
3use serde::{Deserialize, Serialize};
4
5#[repr(u16)]
14#[derive(Copy, Clone, PartialOrd, Ord, PartialEq, Eq, Hash, Debug)]
15#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
16#[allow(missing_docs)]
17pub enum Key {
18 Reserved = sys::KEY_RESERVED as _,
19 Esc = sys::KEY_ESC as _,
20 Num1 = sys::KEY_1 as _,
21 Num2 = sys::KEY_2 as _,
22 Num3 = sys::KEY_3 as _,
23 Num4 = sys::KEY_4 as _,
24 Num5 = sys::KEY_5 as _,
25 Num6 = sys::KEY_6 as _,
26 Num7 = sys::KEY_7 as _,
27 Num8 = sys::KEY_8 as _,
28 Num9 = sys::KEY_9 as _,
29 Num0 = sys::KEY_0 as _,
30 Minus = sys::KEY_MINUS as _,
31 Equal = sys::KEY_EQUAL as _,
32 Backspace = sys::KEY_BACKSPACE as _,
33 Tab = sys::KEY_TAB as _,
34 Q = sys::KEY_Q as _,
35 W = sys::KEY_W as _,
36 E = sys::KEY_E as _,
37 R = sys::KEY_R as _,
38 T = sys::KEY_T as _,
39 Y = sys::KEY_Y as _,
40 U = sys::KEY_U as _,
41 I = sys::KEY_I as _,
42 O = sys::KEY_O as _,
43 P = sys::KEY_P as _,
44 LeftBrace = sys::KEY_LEFTBRACE as _,
45 RightBrace = sys::KEY_RIGHTBRACE as _,
46 Enter = sys::KEY_ENTER as _,
47 LeftCtrl = sys::KEY_LEFTCTRL as _,
48 A = sys::KEY_A as _,
49 S = sys::KEY_S as _,
50 D = sys::KEY_D as _,
51 F = sys::KEY_F as _,
52 G = sys::KEY_G as _,
53 H = sys::KEY_H as _,
54 J = sys::KEY_J as _,
55 K = sys::KEY_K as _,
56 L = sys::KEY_L as _,
57 Semicolon = sys::KEY_SEMICOLON as _,
58 Apostrophe = sys::KEY_APOSTROPHE as _,
59 Grave = sys::KEY_GRAVE as _,
60 LeftShift = sys::KEY_LEFTSHIFT as _,
61 Backslash = sys::KEY_BACKSLASH as _,
62 Z = sys::KEY_Z as _,
63 X = sys::KEY_X as _,
64 C = sys::KEY_C as _,
65 V = sys::KEY_V as _,
66 B = sys::KEY_B as _,
67 N = sys::KEY_N as _,
68 M = sys::KEY_M as _,
69 Comma = sys::KEY_COMMA as _,
70 Dot = sys::KEY_DOT as _,
71 Slash = sys::KEY_SLASH as _,
72 RightShift = sys::KEY_RIGHTSHIFT as _,
73 KpAsterisk = sys::KEY_KPASTERISK as _,
74 LeftAlt = sys::KEY_LEFTALT as _,
75 Space = sys::KEY_SPACE as _,
76 CapsLock = sys::KEY_CAPSLOCK as _,
77 F1 = sys::KEY_F1 as _,
78 F2 = sys::KEY_F2 as _,
79 F3 = sys::KEY_F3 as _,
80 F4 = sys::KEY_F4 as _,
81 F5 = sys::KEY_F5 as _,
82 F6 = sys::KEY_F6 as _,
83 F7 = sys::KEY_F7 as _,
84 F8 = sys::KEY_F8 as _,
85 F9 = sys::KEY_F9 as _,
86 F10 = sys::KEY_F10 as _,
87 NumLock = sys::KEY_NUMLOCK as _,
88 ScrollLock = sys::KEY_SCROLLLOCK as _,
89 Kp7 = sys::KEY_KP7 as _,
90 Kp8 = sys::KEY_KP8 as _,
91 Kp9 = sys::KEY_KP9 as _,
92 KpMinus = sys::KEY_KPMINUS as _,
93 Kp4 = sys::KEY_KP4 as _,
94 Kp5 = sys::KEY_KP5 as _,
95 Kp6 = sys::KEY_KP6 as _,
96 KpPlus = sys::KEY_KPPLUS as _,
97 Kp1 = sys::KEY_KP1 as _,
98 Kp2 = sys::KEY_KP2 as _,
99 Kp3 = sys::KEY_KP3 as _,
100 Kp0 = sys::KEY_KP0 as _,
101 KpDot = sys::KEY_KPDOT as _,
102
103 Unknown54,
104
105 ZenkakuHankaku = sys::KEY_ZENKAKUHANKAKU as _,
106 NonUsBackslashAndPipe = sys::KEY_102ND as _,
107 F11 = sys::KEY_F11 as _,
108 F12 = sys::KEY_F12 as _,
109 Ro = sys::KEY_RO as _,
110 Katakana = sys::KEY_KATAKANA as _,
111 Hiragana = sys::KEY_HIRAGANA as _,
112 Henkan = sys::KEY_HENKAN as _,
113 KatakanaHiragana = sys::KEY_KATAKANAHIRAGANA as _,
114 Muhenkan = sys::KEY_MUHENKAN as _,
115 KpJpComma = sys::KEY_KPJPCOMMA as _,
116 KpEnter = sys::KEY_KPENTER as _,
117 RightCtrl = sys::KEY_RIGHTCTRL as _,
118 KpSlash = sys::KEY_KPSLASH as _,
119 Sysrq = sys::KEY_SYSRQ as _,
120 RightAlt = sys::KEY_RIGHTALT as _,
121 LineFeed = sys::KEY_LINEFEED as _,
122 Home = sys::KEY_HOME as _,
123 Up = sys::KEY_UP as _,
124 PageUp = sys::KEY_PAGEUP as _,
125 Left = sys::KEY_LEFT as _,
126 Right = sys::KEY_RIGHT as _,
127 End = sys::KEY_END as _,
128 Down = sys::KEY_DOWN as _,
129 PageDown = sys::KEY_PAGEDOWN as _,
130 Insert = sys::KEY_INSERT as _,
131 Delete = sys::KEY_DELETE as _,
132 Macro = sys::KEY_MACRO as _,
133
134 Mute = sys::KEY_MUTE as _,
135 VolumeDown = sys::KEY_VOLUMEDOWN as _,
136 VolumeUp = sys::KEY_VOLUMEUP as _,
137 Power = sys::KEY_POWER as _,
139 KpEqual = sys::KEY_KPEQUAL as _,
140 KpPlusMinus = sys::KEY_KPPLUSMINUS as _,
141 Pause = sys::KEY_PAUSE as _,
142 Scale = sys::KEY_SCALE as _,
144
145 KpComma = sys::KEY_KPCOMMA as _,
146 Hangul = sys::KEY_HANGEUL as _,
148 Hanja = sys::KEY_HANJA as _,
151 Yen = sys::KEY_YEN as _,
152 LeftMeta = sys::KEY_LEFTMETA as _,
153 RightMeta = sys::KEY_RIGHTMETA as _,
154 Compose = sys::KEY_COMPOSE as _,
155
156 Stop = sys::KEY_STOP as _,
158 Again = sys::KEY_AGAIN as _,
159 Props = sys::KEY_PROPS as _,
161 Undo = sys::KEY_UNDO as _,
163 Front = sys::KEY_FRONT as _,
164 Copy = sys::KEY_COPY as _,
166 Open = sys::KEY_OPEN as _,
168 Paste = sys::KEY_PASTE as _,
170 Find = sys::KEY_FIND as _,
172 Cut = sys::KEY_CUT as _,
174 Help = sys::KEY_HELP as _,
176 Menu = sys::KEY_MENU as _,
178 Calc = sys::KEY_CALC as _,
180 Setup = sys::KEY_SETUP as _,
181 Sleep = sys::KEY_SLEEP as _,
183 Wakeup = sys::KEY_WAKEUP as _,
185 File = sys::KEY_FILE as _,
187 SendFile = sys::KEY_SENDFILE as _,
188 DeleteFile = sys::KEY_DELETEFILE as _,
189 Xfer = sys::KEY_XFER as _,
190 Prog1 = sys::KEY_PROG1 as _,
191 Prog2 = sys::KEY_PROG2 as _,
192 WWW = sys::KEY_WWW as _,
194 MSDOS = sys::KEY_MSDOS as _,
195 Coffee = sys::KEY_COFFEE as _,
198 RotateDisplay = sys::KEY_ROTATE_DISPLAY as _,
201 CycleWindows = sys::KEY_CYCLEWINDOWS as _,
203 Mail = sys::KEY_MAIL as _,
204 Bookmarks = sys::KEY_BOOKMARKS as _,
206 Computer = sys::KEY_COMPUTER as _,
207 Back = sys::KEY_BACK as _,
209 Forward = sys::KEY_FORWARD as _,
211 CloseCD = sys::KEY_CLOSECD as _,
212 EjectCD = sys::KEY_EJECTCD as _,
213 EjectCloseCD = sys::KEY_EJECTCLOSECD as _,
214 NextSong = sys::KEY_NEXTSONG as _,
215 PlayPause = sys::KEY_PLAYPAUSE as _,
216 PreviousSong = sys::KEY_PREVIOUSSONG as _,
217 StopCD = sys::KEY_STOPCD as _,
218 Record = sys::KEY_RECORD as _,
219 Rewind = sys::KEY_REWIND as _,
220 Phone = sys::KEY_PHONE as _,
222 Iso = sys::KEY_ISO as _,
223 Config = sys::KEY_CONFIG as _,
225 Homepage = sys::KEY_HOMEPAGE as _,
227 Refresh = sys::KEY_REFRESH as _,
229 Exit = sys::KEY_EXIT as _,
231 Move = sys::KEY_MOVE as _,
232 Edit = sys::KEY_EDIT as _,
233 ScrollUp = sys::KEY_SCROLLUP as _,
234 ScrollDown = sys::KEY_SCROLLDOWN as _,
235 KpLeftParen = sys::KEY_KPLEFTPAREN as _,
236 KpRightParen = sys::KEY_KPRIGHTPAREN as _,
237 New = sys::KEY_NEW as _,
239 Redo = sys::KEY_REDO as _,
241
242 F13 = sys::KEY_F13 as _,
243 F14 = sys::KEY_F14 as _,
244 F15 = sys::KEY_F15 as _,
245 F16 = sys::KEY_F16 as _,
246 F17 = sys::KEY_F17 as _,
247 F18 = sys::KEY_F18 as _,
248 F19 = sys::KEY_F19 as _,
249 F20 = sys::KEY_F20 as _,
250 F21 = sys::KEY_F21 as _,
251 F22 = sys::KEY_F22 as _,
252 F23 = sys::KEY_F23 as _,
253 F24 = sys::KEY_F24 as _,
254
255 UnknownC3,
256 UnknownC4,
257 UnknownC5,
258 UnknownC6,
259 UnknownC7,
260
261 PlayCD = sys::KEY_PLAYCD as _,
262 PauseCD = sys::KEY_PAUSECD as _,
263 Prog3 = sys::KEY_PROG3 as _,
264 Prog4 = sys::KEY_PROG4 as _,
265 AllApplications = sys::KEY_ALL_APPLICATIONS as _,
267 Suspend = sys::KEY_SUSPEND as _,
268 Close = sys::KEY_CLOSE as _,
270 Play = sys::KEY_PLAY as _,
271 FastForward = sys::KEY_FASTFORWARD as _,
272 BassBoost = sys::KEY_BASSBOOST as _,
273 Print = sys::KEY_PRINT as _,
275 Hp = sys::KEY_HP as _,
276 Camera = sys::KEY_CAMERA as _,
277 Sound = sys::KEY_SOUND as _,
278 Question = sys::KEY_QUESTION as _,
279 Email = sys::KEY_EMAIL as _,
280 Chat = sys::KEY_CHAT as _,
281 Search = sys::KEY_SEARCH as _,
282 Connect = sys::KEY_CONNECT as _,
283 Finance = sys::KEY_FINANCE as _,
285 Sport = sys::KEY_SPORT as _,
286 Shop = sys::KEY_SHOP as _,
287 Alterase = sys::KEY_ALTERASE as _,
288 Cancel = sys::KEY_CANCEL as _,
290 BrightnessDown = sys::KEY_BRIGHTNESSDOWN as _,
291 BrightnessUp = sys::KEY_BRIGHTNESSUP as _,
292 Media = sys::KEY_MEDIA as _,
293
294 SwitchVideoMode = sys::KEY_SWITCHVIDEOMODE as _,
296 IllumToggle = sys::KEY_KBDILLUMTOGGLE as _,
297 IllumDown = sys::KEY_KBDILLUMDOWN as _,
298 IllumUp = sys::KEY_KBDILLUMUP as _,
299
300 Send = sys::KEY_SEND as _,
302 Reply = sys::KEY_REPLY as _,
304 ForwardMail = sys::KEY_FORWARDMAIL as _,
306 Save = sys::KEY_SAVE as _,
308 Documents = sys::KEY_DOCUMENTS as _,
309
310 Battery = sys::KEY_BATTERY as _,
311
312 Bluetooth = sys::KEY_BLUETOOTH as _,
313 WLAN = sys::KEY_WLAN as _,
314 UWB = sys::KEY_UWB as _,
315
316 Unknown = sys::KEY_UNKNOWN as _,
317
318 VideoNext = sys::KEY_VIDEO_NEXT as _,
320 VideoPrev = sys::KEY_VIDEO_PREV as _,
322 BrightnessCycle = sys::KEY_BRIGHTNESS_CYCLE as _,
324 BrightnessAuto = sys::KEY_BRIGHTNESS_AUTO as _,
327 DisplayOff = sys::KEY_DISPLAY_OFF as _,
330
331 WWAN = sys::KEY_WWAN as _,
334 Rfkill = sys::KEY_RFKILL as _,
337
338 MicMute = sys::KEY_MICMUTE as _,
340
341 UnknownF9,
342 UnknownFA,
343 UnknownFB,
344 UnknownFC,
345 UnknownFD,
346 UnknownFE,
347
348 ReservedFF = 0xff,
350
351 Button0 = sys::BTN_0 as _,
353 Button1 = sys::BTN_1 as _,
354 Button2 = sys::BTN_2 as _,
355 Button3 = sys::BTN_3 as _,
356 Button4 = sys::BTN_4 as _,
357 Button5 = sys::BTN_5 as _,
358 Button6 = sys::BTN_6 as _,
359 Button7 = sys::BTN_7 as _,
360 Button8 = sys::BTN_8 as _,
361 Button9 = sys::BTN_9 as _,
362
363 Unknown10A,
364 Unknown10B,
365 Unknown10C,
366 Unknown10D,
367 Unknown10E,
368 Unknown10F,
369
370 ButtonLeft = sys::BTN_LEFT as _,
372 ButtonRight = sys::BTN_RIGHT as _,
373 ButtonMiddle = sys::BTN_MIDDLE as _,
374 ButtonSide = sys::BTN_SIDE as _,
375 ButtonExtra = sys::BTN_EXTRA as _,
376 ButtonForward = sys::BTN_FORWARD as _,
377 ButtonBack = sys::BTN_BACK as _,
378 ButtonTask = sys::BTN_TASK as _,
379
380 Unknown118,
381 Unknown119,
382 Unknown11A,
383 Unknown11B,
384 Unknown11C,
385 Unknown11D,
386 Unknown11E,
387 Unknown11F,
388
389 ButtonTrigger = sys::BTN_TRIGGER as _,
391 ButtonThumb = sys::BTN_THUMB as _,
392 ButtonThumb2 = sys::BTN_THUMB2 as _,
393 ButtonTop = sys::BTN_TOP as _,
394 ButtonTop2 = sys::BTN_TOP2 as _,
395 ButtonPinkie = sys::BTN_PINKIE as _,
396 ButtonBase = sys::BTN_BASE as _,
397 ButtonBase2 = sys::BTN_BASE2 as _,
398 ButtonBase3 = sys::BTN_BASE3 as _,
399 ButtonBase4 = sys::BTN_BASE4 as _,
400 ButtonBase5 = sys::BTN_BASE5 as _,
401 ButtonBase6 = sys::BTN_BASE6 as _,
402
403 Unknown12C,
404 Unknown12D,
405 Unknown12E,
406
407 ButtonDead = sys::BTN_DEAD as _,
408
409 ButtonSouth = sys::BTN_SOUTH as _,
412 ButtonEast = sys::BTN_EAST as _,
415 ButtonC = sys::BTN_C as _,
417 ButtonNorth = sys::BTN_NORTH as _,
419 ButtonWest = sys::BTN_WEST as _,
422 ButtonZ = sys::BTN_Z as _,
424 ButtonTL = sys::BTN_TL as _,
425 ButtonTR = sys::BTN_TR as _,
426 ButtonTL2 = sys::BTN_TL2 as _,
427 ButtonTR2 = sys::BTN_TR2 as _,
428 ButtonSelect = sys::BTN_SELECT as _,
429 ButtonStart = sys::BTN_START as _,
430 ButtonMode = sys::BTN_MODE as _,
431 ButtonThumbl = sys::BTN_THUMBL as _,
432 ButtonThumbr = sys::BTN_THUMBR as _,
433
434 Unknown13F,
435
436 ButtonToolPen = sys::BTN_TOOL_PEN as _,
438 ButtonToolRubber = sys::BTN_TOOL_RUBBER as _,
439 ButtonToolBrush = sys::BTN_TOOL_BRUSH as _,
440 ButtonToolPencil = sys::BTN_TOOL_PENCIL as _,
441 ButtonToolAirbrush = sys::BTN_TOOL_AIRBRUSH as _,
442 ButtonToolFinger = sys::BTN_TOOL_FINGER as _,
443 ButtonToolMouse = sys::BTN_TOOL_MOUSE as _,
444 ButtonToolLens = sys::BTN_TOOL_LENS as _,
445 ButtonToolQuintTap = sys::BTN_TOOL_QUINTTAP as _,
447 ButtonStylus3 = sys::BTN_STYLUS3 as _,
448 ButtonTouch = sys::BTN_TOUCH as _,
449 ButtonStylus = sys::BTN_STYLUS as _,
450 ButtonStylus2 = sys::BTN_STYLUS2 as _,
451 ButtonToolDoubleTap = sys::BTN_TOOL_DOUBLETAP as _,
452 ButtonToolTripleTap = sys::BTN_TOOL_TRIPLETAP as _,
453 ButtonToolQuadtap = sys::BTN_TOOL_QUADTAP as _,
455
456 ButtonWheel = sys::BTN_WHEEL as _,
457 ButtonGearUp = sys::BTN_GEAR_UP as _,
459
460 Unknown152,
461 Unknown153,
462 Unknown154,
463 Unknown155,
464 Unknown156,
465 Unknown157,
466 Unknown158,
467 Unknown159,
468 Unknown15A,
469 Unknown15B,
470 Unknown15C,
471 Unknown15D,
472 Unknown15E,
473 Unknown15F,
474
475 Ok = sys::KEY_OK as _,
476 Select = sys::KEY_SELECT as _,
477 Goto = sys::KEY_GOTO as _,
478 Clear = sys::KEY_CLEAR as _,
479 Power2 = sys::KEY_POWER2 as _,
480 Option = sys::KEY_OPTION as _,
481 Info = sys::KEY_INFO as _,
483 Time = sys::KEY_TIME as _,
484 Vendor = sys::KEY_VENDOR as _,
485 Archive = sys::KEY_ARCHIVE as _,
486 Program = sys::KEY_PROGRAM as _,
488 Channel = sys::KEY_CHANNEL as _,
489 Favorites = sys::KEY_FAVORITES as _,
490 EPG = sys::KEY_EPG as _,
491 PVR = sys::KEY_PVR as _,
493 MHP = sys::KEY_MHP as _,
494 Language = sys::KEY_LANGUAGE as _,
495 Title = sys::KEY_TITLE as _,
496 Subtitle = sys::KEY_SUBTITLE as _,
497 Angle = sys::KEY_ANGLE as _,
498 FullScreen = sys::KEY_FULL_SCREEN as _,
499 Mode = sys::KEY_MODE as _,
500 Keyboard = sys::KEY_KEYBOARD as _,
501 AspectRatio = sys::KEY_ASPECT_RATIO as _,
502 PC = sys::KEY_PC as _,
504 TV = sys::KEY_TV as _,
506 TV2 = sys::KEY_TV2 as _,
508 VCR = sys::KEY_VCR as _,
510 VCR2 = sys::KEY_VCR2 as _,
512 Sat = sys::KEY_SAT as _,
514 Sat2 = sys::KEY_SAT2 as _,
515 CD = sys::KEY_CD as _,
517 Tape = sys::KEY_TAPE as _,
519 Radio = sys::KEY_RADIO as _,
520 Tuner = sys::KEY_TUNER as _,
522 Player = sys::KEY_PLAYER as _,
523 Text = sys::KEY_TEXT as _,
524 Dvd = sys::KEY_DVD as _,
526 Aux = sys::KEY_AUX as _,
527 Mp3 = sys::KEY_MP3 as _,
528 Audio = sys::KEY_AUDIO as _,
530 Video = sys::KEY_VIDEO as _,
532 Directory = sys::KEY_DIRECTORY as _,
533 List = sys::KEY_LIST as _,
534 Memo = sys::KEY_MEMO as _,
536 Calendar = sys::KEY_CALENDAR as _,
537 Red = sys::KEY_RED as _,
538 Green = sys::KEY_GREEN as _,
539 Yellow = sys::KEY_YELLOW as _,
540 Blue = sys::KEY_BLUE as _,
541 ChannelUp = sys::KEY_CHANNELUP as _,
543 ChannelDown = sys::KEY_CHANNELDOWN as _,
545 First = sys::KEY_FIRST as _,
546 Last = sys::KEY_LAST as _,
548 Ab = sys::KEY_AB as _,
549 Next = sys::KEY_NEXT as _,
550 Restart = sys::KEY_RESTART as _,
551 Slow = sys::KEY_SLOW as _,
552 Shuffle = sys::KEY_SHUFFLE as _,
553 Break = sys::KEY_BREAK as _,
554 Previous = sys::KEY_PREVIOUS as _,
555 Digits = sys::KEY_DIGITS as _,
556 Teen = sys::KEY_TEEN as _,
557 Twen = sys::KEY_TWEN as _,
558 Videophone = sys::KEY_VIDEOPHONE as _,
560 Games = sys::KEY_GAMES as _,
562 ZoomIn = sys::KEY_ZOOMIN as _,
564 ZoomOut = sys::KEY_ZOOMOUT as _,
566 ZoomReset = sys::KEY_ZOOMRESET as _,
568 WordProcessor = sys::KEY_WORDPROCESSOR as _,
570 Editor = sys::KEY_EDITOR as _,
572 Spreadsheet = sys::KEY_SPREADSHEET as _,
574 GraphicsEditor = sys::KEY_GRAPHICSEDITOR as _,
576 Presentation = sys::KEY_PRESENTATION as _,
578 Database = sys::KEY_DATABASE as _,
580 News = sys::KEY_NEWS as _,
582 Voicemail = sys::KEY_VOICEMAIL as _,
584 AddressBook = sys::KEY_ADDRESSBOOK as _,
586 Messenger = sys::KEY_MESSENGER as _,
588 DisplayToggle = sys::KEY_DISPLAYTOGGLE as _,
590 SpellCheck = sys::KEY_SPELLCHECK as _,
593 Logoff = sys::KEY_LOGOFF as _,
595
596 Dollar = sys::KEY_DOLLAR as _,
597 Euro = sys::KEY_EURO as _,
598
599 FrameBack = sys::KEY_FRAMEBACK as _,
601 FrameForward = sys::KEY_FRAMEFORWARD as _,
602 ContextMenu = sys::KEY_CONTEXT_MENU as _,
604 MediaRepeat = sys::KEY_MEDIA_REPEAT as _,
606 TenChannelsUp = sys::KEY_10CHANNELSUP as _,
608 TenChannelsDown = sys::KEY_10CHANNELSDOWN as _,
610 Images = sys::KEY_IMAGES as _,
612
613 Unknown1BB,
614 Unknown1BC,
615 Unknown1BD,
616 Unknown1BE,
617 Unknown1BF,
618
619 DelEol = sys::KEY_DEL_EOL as _,
620 DelEos = sys::KEY_DEL_EOS as _,
621 InsLine = sys::KEY_INS_LINE as _,
622 DelLine = sys::KEY_DEL_LINE as _,
623
624 Unknown1C4,
625 Unknown1C5,
626 Unknown1C6,
627 Unknown1C7,
628 Unknown1C8,
629 Unknown1C9,
630 Unknown1CA,
631 Unknown1CB,
632 Unknown1CC,
633 Unknown1CD,
634 Unknown1CE,
635 Unknown1CF,
636
637 Fn = sys::KEY_FN as _,
638 FnEsc = sys::KEY_FN_ESC as _,
639 FnF1 = sys::KEY_FN_F1 as _,
640 FnF2 = sys::KEY_FN_F2 as _,
641 FnF3 = sys::KEY_FN_F3 as _,
642 FnF4 = sys::KEY_FN_F4 as _,
643 FnF5 = sys::KEY_FN_F5 as _,
644 FnF6 = sys::KEY_FN_F6 as _,
645 FnF7 = sys::KEY_FN_F7 as _,
646 FnF8 = sys::KEY_FN_F8 as _,
647 FnF9 = sys::KEY_FN_F9 as _,
648 FnF10 = sys::KEY_FN_F10 as _,
649 FnF11 = sys::KEY_FN_F11 as _,
650 FnF12 = sys::KEY_FN_F12 as _,
651 Fn1 = sys::KEY_FN_1 as _,
652 Fn2 = sys::KEY_FN_2 as _,
653 FnD = sys::KEY_FN_D as _,
654 FnE = sys::KEY_FN_E as _,
655 FnF = sys::KEY_FN_F as _,
656 FnS = sys::KEY_FN_S as _,
657 FnB = sys::KEY_FN_B as _,
658
659 Unknown1E5,
660 Unknown1E6,
661 Unknown1E7,
662 Unknown1E8,
663 Unknown1E9,
664 Unknown1EA,
665 Unknown1EB,
666 Unknown1EC,
667 Unknown1ED,
668 Unknown1EE,
669 Unknown1EF,
670 Unknown1F0,
671
672 BrlDot1 = sys::KEY_BRL_DOT1 as _,
673 BrlDot2 = sys::KEY_BRL_DOT2 as _,
674 BrlDot3 = sys::KEY_BRL_DOT3 as _,
675 BrlDot4 = sys::KEY_BRL_DOT4 as _,
676 BrlDot5 = sys::KEY_BRL_DOT5 as _,
677 BrlDot6 = sys::KEY_BRL_DOT6 as _,
678 BrlDot7 = sys::KEY_BRL_DOT7 as _,
679 BrlDot8 = sys::KEY_BRL_DOT8 as _,
680 BrlDot9 = sys::KEY_BRL_DOT9 as _,
681 BrlDot10 = sys::KEY_BRL_DOT10 as _,
682
683 Unknown1FB,
684 Unknown1FC,
685 Unknown1FD,
686 Unknown1FE,
687 Unknown1FF,
688
689 Numeric0 = sys::KEY_NUMERIC_0 as _,
691 Numeric1 = sys::KEY_NUMERIC_1 as _,
693 Numeric2 = sys::KEY_NUMERIC_2 as _,
694 Numeric3 = sys::KEY_NUMERIC_3 as _,
695 Numeric4 = sys::KEY_NUMERIC_4 as _,
696 Numeric5 = sys::KEY_NUMERIC_5 as _,
697 Numeric6 = sys::KEY_NUMERIC_6 as _,
698 Numeric7 = sys::KEY_NUMERIC_7 as _,
699 Numeric8 = sys::KEY_NUMERIC_8 as _,
700 Numeric9 = sys::KEY_NUMERIC_9 as _,
701 NumericStar = sys::KEY_NUMERIC_STAR as _,
702 NumericPound = sys::KEY_NUMERIC_POUND as _,
703 NumericA = sys::KEY_NUMERIC_A as _,
705 NumericB = sys::KEY_NUMERIC_B as _,
706 NumericC = sys::KEY_NUMERIC_C as _,
707 NumericD = sys::KEY_NUMERIC_D as _,
708
709 CameraFocus = sys::KEY_CAMERA_FOCUS as _,
710 WpsButton = sys::KEY_WPS_BUTTON as _,
712
713 TouchpadToggle = sys::KEY_TOUCHPAD_TOGGLE as _,
715 TouchpadOn = sys::KEY_TOUCHPAD_ON as _,
716 TouchpadOff = sys::KEY_TOUCHPAD_OFF as _,
717
718 CameraZoomin = sys::KEY_CAMERA_ZOOMIN as _,
719 CameraZoomout = sys::KEY_CAMERA_ZOOMOUT as _,
720 CameraUp = sys::KEY_CAMERA_UP as _,
721 CameraDown = sys::KEY_CAMERA_DOWN as _,
722 CameraLeft = sys::KEY_CAMERA_LEFT as _,
723 CameraRight = sys::KEY_CAMERA_RIGHT as _,
724
725 AttendantOn = sys::KEY_ATTENDANT_ON as _,
726 AttendantOff = sys::KEY_ATTENDANT_OFF as _,
727 AttendantToggle = sys::KEY_ATTENDANT_TOGGLE as _,
729 LightsToggle = sys::KEY_LIGHTS_TOGGLE as _,
731
732 Unknown21F,
733
734 ButtonDpadUp = sys::BTN_DPAD_UP as _,
735 ButtonDpadDown = sys::BTN_DPAD_DOWN as _,
736 ButtonDpadLeft = sys::BTN_DPAD_LEFT as _,
737 ButtonDpadRight = sys::BTN_DPAD_RIGHT as _,
738
739 Unknown224,
740 Unknown225,
741 Unknown226,
742 Unknown227,
743 Unknown228,
744 Unknown229,
745 Unknown22A,
746 Unknown22B,
747 Unknown22C,
748 Unknown22D,
749 Unknown22E,
750 Unknown22F,
751
752 AlsToggle = sys::KEY_ALS_TOGGLE as _,
754 RotateLockToggle = sys::KEY_ROTATE_LOCK_TOGGLE as _,
756 RefreshRateToggle = sys::KEY_REFRESH_RATE_TOGGLE as _,
758
759 Unknown233,
760 Unknown234,
761 Unknown235,
762 Unknown236,
763 Unknown237,
764 Unknown238,
765 Unknown239,
766 Unknown23A,
767 Unknown23B,
768 Unknown23C,
769 Unknown23D,
770 Unknown23E,
771 Unknown23F,
772
773 ButtonConfig = sys::KEY_BUTTONCONFIG as _,
775 TaskManager = sys::KEY_TASKMANAGER as _,
777 Journal = sys::KEY_JOURNAL as _,
779 ControlPanel = sys::KEY_CONTROLPANEL as _,
781 AppSelect = sys::KEY_APPSELECT as _,
783 Screensaver = sys::KEY_SCREENSAVER as _,
785 Voicecommand = sys::KEY_VOICECOMMAND as _,
787 Assistant = sys::KEY_ASSISTANT as _,
789 KbdLayoutNext = sys::KEY_KBD_LAYOUT_NEXT as _,
791 EmojiPicker = sys::KEY_EMOJI_PICKER as _,
793 Dictate = sys::KEY_DICTATE as _,
795 CameraAccessEnable = sys::KEY_CAMERA_ACCESS_ENABLE as _,
797 CameraAccessDisable = sys::KEY_CAMERA_ACCESS_DISABLE as _,
799 CameraAccessToggle = sys::KEY_CAMERA_ACCESS_TOGGLE as _,
801 Accessibility = sys::KEY_ACCESSIBILITY as _,
803 DoNotDisturb = sys::KEY_DO_NOT_DISTURB as _,
805
806 BrightnessMin = sys::KEY_BRIGHTNESS_MIN as _,
808 BrightnessMax = sys::KEY_BRIGHTNESS_MAX as _,
810
811 Unknown252,
812 Unknown253,
813 Unknown254,
814 Unknown255,
815 Unknown256,
816 Unknown257,
817 Unknown258,
818 Unknown259,
819 Unknown25A,
820 Unknown25B,
821 Unknown25C,
822 Unknown25D,
823 Unknown25E,
824 Unknown25F,
825
826 InputAssistPrev = sys::KEY_KBDINPUTASSIST_PREV as _,
827 InputAssistNext = sys::KEY_KBDINPUTASSIST_NEXT as _,
828 InputAssistPrevGroup = sys::KEY_KBDINPUTASSIST_PREVGROUP as _,
829 InputAssistNextGroup = sys::KEY_KBDINPUTASSIST_NEXTGROUP as _,
830 InputAssistAccept = sys::KEY_KBDINPUTASSIST_ACCEPT as _,
831 InputAssistCancel = sys::KEY_KBDINPUTASSIST_CANCEL as _,
832
833 RightUp = sys::KEY_RIGHT_UP as _,
835 RightDown = sys::KEY_RIGHT_DOWN as _,
836 LeftUp = sys::KEY_LEFT_UP as _,
837 LeftDown = sys::KEY_LEFT_DOWN as _,
838
839 RootMenu = sys::KEY_ROOT_MENU as _,
841 MediaTopMenu = sys::KEY_MEDIA_TOP_MENU as _,
843 Numeric11 = sys::KEY_NUMERIC_11 as _,
844 Numeric12 = sys::KEY_NUMERIC_12 as _,
845
846 AudioDesc = sys::KEY_AUDIO_DESC as _,
851 Audio3dMode = sys::KEY_3D_MODE as _,
852 NextFavorite = sys::KEY_NEXT_FAVORITE as _,
853 StopRecord = sys::KEY_STOP_RECORD as _,
854 PauseRecord = sys::KEY_PAUSE_RECORD as _,
855 Vod = sys::KEY_VOD as _,
857 Unmute = sys::KEY_UNMUTE as _,
858 FastReverse = sys::KEY_FASTREVERSE as _,
859 SlowReverse = sys::KEY_SLOWREVERSE as _,
860
861 Data = sys::KEY_DATA as _,
865 OnscreenKeyboard = sys::KEY_ONSCREEN_KEYBOARD as _,
866 PrivacyScreenToggle = sys::KEY_PRIVACY_SCREEN_TOGGLE as _,
867 SelectiveScreenshot = sys::KEY_SELECTIVE_SCREENSHOT as _,
868
869 NextElement = sys::KEY_NEXT_ELEMENT as _,
871 PreviousElement = sys::KEY_PREVIOUS_ELEMENT as _,
873
874 AutopilotEngageToggle = sys::KEY_AUTOPILOT_ENGAGE_TOGGLE as _,
876
877 MarkWaypoint = sys::KEY_MARK_WAYPOINT as _,
879 SOS = sys::KEY_SOS as _,
881 NavChart = sys::KEY_NAV_CHART as _,
883 FishingChart = sys::KEY_FISHING_CHART as _,
885 SingleRangeRadar = sys::KEY_SINGLE_RANGE_RADAR as _,
887 DualRangeRadar = sys::KEY_DUAL_RANGE_RADAR as _,
889 RadarOverlay = sys::KEY_RADAR_OVERLAY as _,
891 TraditionalSonar = sys::KEY_TRADITIONAL_SONAR as _,
893 ClearVuSonar = sys::KEY_CLEARVU_SONAR as _,
895 SideVuSonar = sys::KEY_SIDEVU_SONAR as _,
897 NavInfo = sys::KEY_NAV_INFO as _,
899 BrightnessMenu = sys::KEY_BRIGHTNESS_MENU as _,
901
902 Unknown28A,
903 Unknown28B,
904 Unknown28C,
905 Unknown28D,
906 Unknown28E,
907 Unknown28F,
908
909 Macro1 = sys::KEY_MACRO1 as _,
910 Macro2 = sys::KEY_MACRO2 as _,
911 Macro3 = sys::KEY_MACRO3 as _,
912 Macro4 = sys::KEY_MACRO4 as _,
913 Macro5 = sys::KEY_MACRO5 as _,
914 Macro6 = sys::KEY_MACRO6 as _,
915 Macro7 = sys::KEY_MACRO7 as _,
916 Macro8 = sys::KEY_MACRO8 as _,
917 Macro9 = sys::KEY_MACRO9 as _,
918 Macro10 = sys::KEY_MACRO10 as _,
919 Macro11 = sys::KEY_MACRO11 as _,
920 Macro12 = sys::KEY_MACRO12 as _,
921 Macro13 = sys::KEY_MACRO13 as _,
922 Macro14 = sys::KEY_MACRO14 as _,
923 Macro15 = sys::KEY_MACRO15 as _,
924 Macro16 = sys::KEY_MACRO16 as _,
925 Macro17 = sys::KEY_MACRO17 as _,
926 Macro18 = sys::KEY_MACRO18 as _,
927 Macro19 = sys::KEY_MACRO19 as _,
928 Macro20 = sys::KEY_MACRO20 as _,
929 Macro21 = sys::KEY_MACRO21 as _,
930 Macro22 = sys::KEY_MACRO22 as _,
931 Macro23 = sys::KEY_MACRO23 as _,
932 Macro24 = sys::KEY_MACRO24 as _,
933 Macro25 = sys::KEY_MACRO25 as _,
934 Macro26 = sys::KEY_MACRO26 as _,
935 Macro27 = sys::KEY_MACRO27 as _,
936 Macro28 = sys::KEY_MACRO28 as _,
937 Macro29 = sys::KEY_MACRO29 as _,
938 Macro30 = sys::KEY_MACRO30 as _,
939
940 Unknown2AE,
941 Unknown2AF,
942
943 MacroRecordStart = sys::KEY_MACRO_RECORD_START as _,
944 MacroRecordStop = sys::KEY_MACRO_RECORD_STOP as _,
945 MacroPresetCycle = sys::KEY_MACRO_PRESET_CYCLE as _,
946 MacroPreset1 = sys::KEY_MACRO_PRESET1 as _,
947 MacroPreset2 = sys::KEY_MACRO_PRESET2 as _,
948 MacroPreset3 = sys::KEY_MACRO_PRESET3 as _,
949
950 Unknown2B6,
951 Unknown2B7,
952
953 KbdLcdMenu1 = sys::KEY_KBD_LCD_MENU1 as _,
954 KbdLcdMenu2 = sys::KEY_KBD_LCD_MENU2 as _,
955 KbdLcdMenu3 = sys::KEY_KBD_LCD_MENU3 as _,
956 KbdLcdMenu4 = sys::KEY_KBD_LCD_MENU4 as _,
957 KbdLcdMenu5 = sys::KEY_KBD_LCD_MENU5 as _,
958
959 Unknown2BD,
960 Unknown2BE,
961 Unknown2BF,
962
963 ButtonTriggerHappy1 = sys::BTN_TRIGGER_HAPPY1 as _,
964 ButtonTriggerHappy2 = sys::BTN_TRIGGER_HAPPY2 as _,
965 ButtonTriggerHappy3 = sys::BTN_TRIGGER_HAPPY3 as _,
966 ButtonTriggerHappy4 = sys::BTN_TRIGGER_HAPPY4 as _,
967 ButtonTriggerHappy5 = sys::BTN_TRIGGER_HAPPY5 as _,
968 ButtonTriggerHappy6 = sys::BTN_TRIGGER_HAPPY6 as _,
969 ButtonTriggerHappy7 = sys::BTN_TRIGGER_HAPPY7 as _,
970 ButtonTriggerHappy8 = sys::BTN_TRIGGER_HAPPY8 as _,
971 ButtonTriggerHappy9 = sys::BTN_TRIGGER_HAPPY9 as _,
972 ButtonTriggerHappy10 = sys::BTN_TRIGGER_HAPPY10 as _,
973 ButtonTriggerHappy11 = sys::BTN_TRIGGER_HAPPY11 as _,
974 ButtonTriggerHappy12 = sys::BTN_TRIGGER_HAPPY12 as _,
975 ButtonTriggerHappy13 = sys::BTN_TRIGGER_HAPPY13 as _,
976 ButtonTriggerHappy14 = sys::BTN_TRIGGER_HAPPY14 as _,
977 ButtonTriggerHappy15 = sys::BTN_TRIGGER_HAPPY15 as _,
978 ButtonTriggerHappy16 = sys::BTN_TRIGGER_HAPPY16 as _,
979 ButtonTriggerHappy17 = sys::BTN_TRIGGER_HAPPY17 as _,
980 ButtonTriggerHappy18 = sys::BTN_TRIGGER_HAPPY18 as _,
981 ButtonTriggerHappy19 = sys::BTN_TRIGGER_HAPPY19 as _,
982 ButtonTriggerHappy20 = sys::BTN_TRIGGER_HAPPY20 as _,
983 ButtonTriggerHappy21 = sys::BTN_TRIGGER_HAPPY21 as _,
984 ButtonTriggerHappy22 = sys::BTN_TRIGGER_HAPPY22 as _,
985 ButtonTriggerHappy23 = sys::BTN_TRIGGER_HAPPY23 as _,
986 ButtonTriggerHappy24 = sys::BTN_TRIGGER_HAPPY24 as _,
987 ButtonTriggerHappy25 = sys::BTN_TRIGGER_HAPPY25 as _,
988 ButtonTriggerHappy26 = sys::BTN_TRIGGER_HAPPY26 as _,
989 ButtonTriggerHappy27 = sys::BTN_TRIGGER_HAPPY27 as _,
990 ButtonTriggerHappy28 = sys::BTN_TRIGGER_HAPPY28 as _,
991 ButtonTriggerHappy29 = sys::BTN_TRIGGER_HAPPY29 as _,
992 ButtonTriggerHappy30 = sys::BTN_TRIGGER_HAPPY30 as _,
993 ButtonTriggerHappy31 = sys::BTN_TRIGGER_HAPPY31 as _,
994 ButtonTriggerHappy32 = sys::BTN_TRIGGER_HAPPY32 as _,
995 ButtonTriggerHappy33 = sys::BTN_TRIGGER_HAPPY33 as _,
996 ButtonTriggerHappy34 = sys::BTN_TRIGGER_HAPPY34 as _,
997 ButtonTriggerHappy35 = sys::BTN_TRIGGER_HAPPY35 as _,
998 ButtonTriggerHappy36 = sys::BTN_TRIGGER_HAPPY36 as _,
999 ButtonTriggerHappy37 = sys::BTN_TRIGGER_HAPPY37 as _,
1000 ButtonTriggerHappy38 = sys::BTN_TRIGGER_HAPPY38 as _,
1001 ButtonTriggerHappy39 = sys::BTN_TRIGGER_HAPPY39 as _,
1002 ButtonTriggerHappy40 = sys::BTN_TRIGGER_HAPPY40 as _,
1003
1004 Unknown2E8,
1005 Unknown2E9,
1006 Unknown2EA,
1007 Unknown2EB,
1008 Unknown2EC,
1009 Unknown2ED,
1010 Unknown2EE,
1011 Unknown2EF,
1012
1013 Unknown2F0,
1014 Unknown2F1,
1015 Unknown2F2,
1016 Unknown2F3,
1017 Unknown2F4,
1018 Unknown2F5,
1019 Unknown2F6,
1020 Unknown2F7,
1021 Unknown2F8,
1022 Unknown2F9,
1023 Unknown2FA,
1024 Unknown2FB,
1025 Unknown2FC,
1026 Unknown2FD,
1027 Unknown2FE,
1028 Unknown2FF,
1029}
1030
1031impl_iterable! { Key(0, sys::KEY_CNT) }
1032
1033impl Key {
1034 pub const fn is_button(&self) -> bool {
1038 let key = *self as u16;
1039 ((key >= Key::Button0 as _) & (key < Key::Ok as _)) | (key >= Key::ButtonTriggerHappy1 as _)
1040 }
1041
1042 pub const fn is_key(&self) -> bool {
1044 !self.is_button()
1045 }
1046}