1use strum::*;
3
4#[allow(non_camel_case_types)]
6#[derive(AsRefStr, EnumString, EnumIter, Debug, Clone, Copy, Hash, PartialEq, Eq)]
7pub enum XKeySym {
8 #[strum(serialize = "BackSpace")]
10 XK_BackSpace,
11 #[strum(serialize = "Tab")]
13 XK_Tab,
14 #[strum(serialize = "Linefeed")]
16 XK_Linefeed,
17 #[strum(serialize = "Clear")]
19 XK_Clear,
20 #[strum(serialize = "Return")]
22 XK_Return,
23 #[strum(serialize = "Pause")]
25 XK_Pause,
26 #[strum(serialize = "Scroll_Lock")]
28 XK_Scroll_Lock,
29 #[strum(serialize = "Sys_Req")]
31 XK_Sys_Req,
32 #[strum(serialize = "Escape")]
34 XK_Escape,
35 #[strum(serialize = "Delete")]
37 XK_Delete,
38 #[strum(serialize = "Home")]
40 XK_Home,
41 #[strum(serialize = "Left")]
43 XK_Left,
44 #[strum(serialize = "Up")]
46 XK_Up,
47 #[strum(serialize = "Right")]
49 XK_Right,
50 #[strum(serialize = "Down")]
52 XK_Down,
53 #[strum(serialize = "Prior")]
55 XK_Prior,
56 #[strum(serialize = "Page_Up")]
58 XK_Page_Up,
59 #[strum(serialize = "Next")]
61 XK_Next,
62 #[strum(serialize = "Page_Down")]
64 XK_Page_Down,
65 #[strum(serialize = "End")]
67 XK_End,
68 #[strum(serialize = "Begin")]
70 XK_Begin,
71 #[strum(serialize = "Select")]
73 XK_Select,
74 #[strum(serialize = "Print")]
76 XK_Print,
77 #[strum(serialize = "Execute")]
79 XK_Execute,
80 #[strum(serialize = "Insert")]
82 XK_Insert,
83 #[strum(serialize = "Undo")]
85 XK_Undo,
86 #[strum(serialize = "Redo")]
88 XK_Redo,
89 #[strum(serialize = "Menu")]
91 XK_Menu,
92 #[strum(serialize = "Find")]
94 XK_Find,
95 #[strum(serialize = "Cancel")]
97 XK_Cancel,
98 #[strum(serialize = "Help")]
100 XK_Help,
101 #[strum(serialize = "Break")]
103 XK_Break,
104 #[strum(serialize = "Mode_switch")]
106 XK_Mode_switch,
107 #[strum(serialize = "script_switch")]
109 XK_script_switch,
110 #[strum(serialize = "Num_Lock")]
112 XK_Num_Lock,
113 #[strum(serialize = "KP_Space")]
115 XK_KP_Space,
116 #[strum(serialize = "KP_Tab")]
118 XK_KP_Tab,
119 #[strum(serialize = "KP_Enter")]
121 XK_KP_Enter,
122 #[strum(serialize = "KP_F1")]
124 XK_KP_F1,
125 #[strum(serialize = "KP_F2")]
127 XK_KP_F2,
128 #[strum(serialize = "KP_F3")]
130 XK_KP_F3,
131 #[strum(serialize = "KP_F4")]
133 XK_KP_F4,
134 #[strum(serialize = "KP_Home")]
136 XK_KP_Home,
137 #[strum(serialize = "KP_Left")]
139 XK_KP_Left,
140 #[strum(serialize = "KP_Up")]
142 XK_KP_Up,
143 #[strum(serialize = "KP_Right")]
145 XK_KP_Right,
146 #[strum(serialize = "KP_Down")]
148 XK_KP_Down,
149 #[strum(serialize = "KP_Prior")]
151 XK_KP_Prior,
152 #[strum(serialize = "KP_Page_Up")]
154 XK_KP_Page_Up,
155 #[strum(serialize = "KP_Next")]
157 XK_KP_Next,
158 #[strum(serialize = "KP_Page_Down")]
160 XK_KP_Page_Down,
161 #[strum(serialize = "KP_End")]
163 XK_KP_End,
164 #[strum(serialize = "KP_Begin")]
166 XK_KP_Begin,
167 #[strum(serialize = "KP_Insert")]
169 XK_KP_Insert,
170 #[strum(serialize = "KP_Delete")]
172 XK_KP_Delete,
173 #[strum(serialize = "KP_Equal")]
175 XK_KP_Equal,
176 #[strum(serialize = "KP_Multiply")]
178 XK_KP_Multiply,
179 #[strum(serialize = "KP_Add")]
181 XK_KP_Add,
182 #[strum(serialize = "KP_Separator")]
184 XK_KP_Separator,
185 #[strum(serialize = "KP_Subtract")]
187 XK_KP_Subtract,
188 #[strum(serialize = "KP_Decimal")]
190 XK_KP_Decimal,
191 #[strum(serialize = "KP_Divide")]
193 XK_KP_Divide,
194 #[strum(serialize = "KP_0")]
196 XK_KP_0,
197 #[strum(serialize = "KP_1")]
199 XK_KP_1,
200 #[strum(serialize = "KP_2")]
202 XK_KP_2,
203 #[strum(serialize = "KP_3")]
205 XK_KP_3,
206 #[strum(serialize = "KP_4")]
208 XK_KP_4,
209 #[strum(serialize = "KP_5")]
211 XK_KP_5,
212 #[strum(serialize = "KP_6")]
214 XK_KP_6,
215 #[strum(serialize = "KP_7")]
217 XK_KP_7,
218 #[strum(serialize = "KP_8")]
220 XK_KP_8,
221 #[strum(serialize = "KP_9")]
223 XK_KP_9,
224 #[strum(serialize = "F1")]
226 XK_F1,
227 #[strum(serialize = "F2")]
229 XK_F2,
230 #[strum(serialize = "F3")]
232 XK_F3,
233 #[strum(serialize = "F4")]
235 XK_F4,
236 #[strum(serialize = "F5")]
238 XK_F5,
239 #[strum(serialize = "F6")]
241 XK_F6,
242 #[strum(serialize = "F7")]
244 XK_F7,
245 #[strum(serialize = "F8")]
247 XK_F8,
248 #[strum(serialize = "F9")]
250 XK_F9,
251 #[strum(serialize = "F10")]
253 XK_F10,
254 #[strum(serialize = "F11")]
256 XK_F11,
257 #[strum(serialize = "L1")]
259 XK_L1,
260 #[strum(serialize = "F12")]
262 XK_F12,
263 #[strum(serialize = "L2")]
265 XK_L2,
266 #[strum(serialize = "F13")]
268 XK_F13,
269 #[strum(serialize = "L3")]
271 XK_L3,
272 #[strum(serialize = "F14")]
274 XK_F14,
275 #[strum(serialize = "L4")]
277 XK_L4,
278 #[strum(serialize = "F15")]
280 XK_F15,
281 #[strum(serialize = "L5")]
283 XK_L5,
284 #[strum(serialize = "F16")]
286 XK_F16,
287 #[strum(serialize = "L6")]
289 XK_L6,
290 #[strum(serialize = "F17")]
292 XK_F17,
293 #[strum(serialize = "L7")]
295 XK_L7,
296 #[strum(serialize = "F18")]
298 XK_F18,
299 #[strum(serialize = "L8")]
301 XK_L8,
302 #[strum(serialize = "F19")]
304 XK_F19,
305 #[strum(serialize = "L9")]
307 XK_L9,
308 #[strum(serialize = "F20")]
310 XK_F20,
311 #[strum(serialize = "L10")]
313 XK_L10,
314 #[strum(serialize = "F21")]
316 XK_F21,
317 #[strum(serialize = "R1")]
319 XK_R1,
320 #[strum(serialize = "F22")]
322 XK_F22,
323 #[strum(serialize = "R2")]
325 XK_R2,
326 #[strum(serialize = "F23")]
328 XK_F23,
329 #[strum(serialize = "R3")]
331 XK_R3,
332 #[strum(serialize = "F24")]
334 XK_F24,
335 #[strum(serialize = "R4")]
337 XK_R4,
338 #[strum(serialize = "F25")]
340 XK_F25,
341 #[strum(serialize = "R5")]
343 XK_R5,
344 #[strum(serialize = "F26")]
346 XK_F26,
347 #[strum(serialize = "R6")]
349 XK_R6,
350 #[strum(serialize = "F27")]
352 XK_F27,
353 #[strum(serialize = "R7")]
355 XK_R7,
356 #[strum(serialize = "F28")]
358 XK_F28,
359 #[strum(serialize = "R8")]
361 XK_R8,
362 #[strum(serialize = "F29")]
364 XK_F29,
365 #[strum(serialize = "R9")]
367 XK_R9,
368 #[strum(serialize = "F30")]
370 XK_F30,
371 #[strum(serialize = "R10")]
373 XK_R10,
374 #[strum(serialize = "F31")]
376 XK_F31,
377 #[strum(serialize = "R11")]
379 XK_R11,
380 #[strum(serialize = "F32")]
382 XK_F32,
383 #[strum(serialize = "R12")]
385 XK_R12,
386 #[strum(serialize = "F33")]
388 XK_F33,
389 #[strum(serialize = "R13")]
391 XK_R13,
392 #[strum(serialize = "F34")]
394 XK_F34,
395 #[strum(serialize = "R14")]
397 XK_R14,
398 #[strum(serialize = "F35")]
400 XK_F35,
401 #[strum(serialize = "R15")]
403 XK_R15,
404 #[strum(serialize = "Shift_L")]
406 XK_Shift_L,
407 #[strum(serialize = "Shift_R")]
409 XK_Shift_R,
410 #[strum(serialize = "Control_L")]
412 XK_Control_L,
413 #[strum(serialize = "Control_R")]
415 XK_Control_R,
416 #[strum(serialize = "Caps_Lock")]
418 XK_Caps_Lock,
419 #[strum(serialize = "Shift_Lock")]
421 XK_Shift_Lock,
422 #[strum(serialize = "Meta_L")]
424 XK_Meta_L,
425 #[strum(serialize = "Meta_R")]
427 XK_Meta_R,
428 #[strum(serialize = "Alt_L")]
430 XK_Alt_L,
431 #[strum(serialize = "Alt_R")]
433 XK_Alt_R,
434 #[strum(serialize = "Super_L")]
436 XK_Super_L,
437 #[strum(serialize = "Super_R")]
439 XK_Super_R,
440 #[strum(serialize = "Hyper_L")]
442 XK_Hyper_L,
443 #[strum(serialize = "Hyper_R")]
445 XK_Hyper_R,
446 #[strum(serialize = "ISO_Lock")]
448 XK_ISO_Lock,
449 #[strum(serialize = "ISO_Level2_Latch")]
451 XK_ISO_Level2_Latch,
452 #[strum(serialize = "ISO_Level3_Shift")]
454 XK_ISO_Level3_Shift,
455 #[strum(serialize = "ISO_Level3_Latch")]
457 XK_ISO_Level3_Latch,
458 #[strum(serialize = "ISO_Level3_Lock")]
460 XK_ISO_Level3_Lock,
461 #[strum(serialize = "ISO_Level5_Shift")]
463 XK_ISO_Level5_Shift,
464 #[strum(serialize = "ISO_Level5_Latch")]
466 XK_ISO_Level5_Latch,
467 #[strum(serialize = "ISO_Level5_Lock")]
469 XK_ISO_Level5_Lock,
470 #[strum(serialize = "ISO_Left_Tab")]
472 XK_ISO_Left_Tab,
473 #[strum(serialize = "ISO_Partial_Space_Left")]
475 XK_ISO_Partial_Space_Left,
476 #[strum(serialize = "ISO_Partial_Space_Right")]
478 XK_ISO_Partial_Space_Right,
479 #[strum(serialize = "ISO_Set_Margin_Left")]
481 XK_ISO_Set_Margin_Left,
482 #[strum(serialize = "ISO_Set_Margin_Right")]
484 XK_ISO_Set_Margin_Right,
485 #[strum(serialize = "ISO_Continuous_Underline")]
487 XK_ISO_Continuous_Underline,
488 #[strum(serialize = "ISO_Discontinuous_Underline")]
490 XK_ISO_Discontinuous_Underline,
491 #[strum(serialize = "ISO_Emphasize")]
493 XK_ISO_Emphasize,
494 #[strum(serialize = "ISO_Center_Object")]
496 XK_ISO_Center_Object,
497 #[strum(serialize = "ISO_Enter")]
499 XK_ISO_Enter,
500 #[strum(serialize = "Terminate_Server")]
502 XK_Terminate_Server,
503 #[strum(serialize = "ch")]
505 XK_ch,
506 #[strum(serialize = "Ch")]
508 XK_Ch,
509 #[strum(serialize = "CH")]
511 XK_CH,
512 #[strum(serialize = "c_h")]
514 XK_c_h,
515 #[strum(serialize = "C_h")]
517 XK_C_h,
518 #[strum(serialize = "C_H")]
520 XK_C_H,
521 #[strum(serialize = "3270_Duplicate")]
523 XK_3270_Duplicate,
524 #[strum(serialize = "3270_FieldMark")]
526 XK_3270_FieldMark,
527 #[strum(serialize = "3270_Right2")]
529 XK_3270_Right2,
530 #[strum(serialize = "3270_Left2")]
532 XK_3270_Left2,
533 #[strum(serialize = "3270_BackTab")]
535 XK_3270_BackTab,
536 #[strum(serialize = "3270_EraseEOF")]
538 XK_3270_EraseEOF,
539 #[strum(serialize = "3270_EraseInput")]
541 XK_3270_EraseInput,
542 #[strum(serialize = "3270_Reset")]
544 XK_3270_Reset,
545 #[strum(serialize = "3270_Quit")]
547 XK_3270_Quit,
548 #[strum(serialize = "3270_PA1")]
550 XK_3270_PA1,
551 #[strum(serialize = "3270_PA2")]
553 XK_3270_PA2,
554 #[strum(serialize = "3270_PA3")]
556 XK_3270_PA3,
557 #[strum(serialize = "3270_Test")]
559 XK_3270_Test,
560 #[strum(serialize = "3270_Attn")]
562 XK_3270_Attn,
563 #[strum(serialize = "3270_CursorBlink")]
565 XK_3270_CursorBlink,
566 #[strum(serialize = "3270_AltCursor")]
568 XK_3270_AltCursor,
569 #[strum(serialize = "3270_KeyClick")]
571 XK_3270_KeyClick,
572 #[strum(serialize = "3270_Jump")]
574 XK_3270_Jump,
575 #[strum(serialize = "3270_Ident")]
577 XK_3270_Ident,
578 #[strum(serialize = "3270_Rule")]
580 XK_3270_Rule,
581 #[strum(serialize = "3270_Copy")]
583 XK_3270_Copy,
584 #[strum(serialize = "3270_Play")]
586 XK_3270_Play,
587 #[strum(serialize = "3270_Setup")]
589 XK_3270_Setup,
590 #[strum(serialize = "3270_Record")]
592 XK_3270_Record,
593 #[strum(serialize = "3270_DeleteWord")]
595 XK_3270_DeleteWord,
596 #[strum(serialize = "3270_ExSelect")]
598 XK_3270_ExSelect,
599 #[strum(serialize = "3270_CursorSelect")]
601 XK_3270_CursorSelect,
602 #[strum(serialize = "3270_Enter")]
604 XK_3270_Enter,
605 #[strum(serialize = "space")]
607 XK_space,
608 #[strum(serialize = "exclam")]
610 XK_exclam,
611 #[strum(serialize = "quotedbl")]
613 XK_quotedbl,
614 #[strum(serialize = "numbersign")]
616 XK_numbersign,
617 #[strum(serialize = "dollar")]
619 XK_dollar,
620 #[strum(serialize = "percent")]
622 XK_percent,
623 #[strum(serialize = "ampersand")]
625 XK_ampersand,
626 #[strum(serialize = "apostrophe")]
628 XK_apostrophe,
629 #[strum(serialize = "quoteright")]
631 XK_quoteright,
632 #[strum(serialize = "parenleft")]
634 XK_parenleft,
635 #[strum(serialize = "parenright")]
637 XK_parenright,
638 #[strum(serialize = "asterisk")]
640 XK_asterisk,
641 #[strum(serialize = "plus")]
643 XK_plus,
644 #[strum(serialize = "comma")]
646 XK_comma,
647 #[strum(serialize = "minus")]
649 XK_minus,
650 #[strum(serialize = "period")]
652 XK_period,
653 #[strum(serialize = "slash")]
655 XK_slash,
656 #[strum(serialize = "0")]
658 XK_0,
659 #[strum(serialize = "1")]
661 XK_1,
662 #[strum(serialize = "2")]
664 XK_2,
665 #[strum(serialize = "3")]
667 XK_3,
668 #[strum(serialize = "4")]
670 XK_4,
671 #[strum(serialize = "5")]
673 XK_5,
674 #[strum(serialize = "6")]
676 XK_6,
677 #[strum(serialize = "7")]
679 XK_7,
680 #[strum(serialize = "8")]
682 XK_8,
683 #[strum(serialize = "9")]
685 XK_9,
686 #[strum(serialize = "colon")]
688 XK_colon,
689 #[strum(serialize = "semicolon")]
691 XK_semicolon,
692 #[strum(serialize = "less")]
694 XK_less,
695 #[strum(serialize = "equal")]
697 XK_equal,
698 #[strum(serialize = "greater")]
700 XK_greater,
701 #[strum(serialize = "question")]
703 XK_question,
704 #[strum(serialize = "at")]
706 XK_at,
707 #[strum(serialize = "A")]
709 XK_A,
710 #[strum(serialize = "B")]
712 XK_B,
713 #[strum(serialize = "C")]
715 XK_C,
716 #[strum(serialize = "D")]
718 XK_D,
719 #[strum(serialize = "E")]
721 XK_E,
722 #[strum(serialize = "F")]
724 XK_F,
725 #[strum(serialize = "G")]
727 XK_G,
728 #[strum(serialize = "H")]
730 XK_H,
731 #[strum(serialize = "I")]
733 XK_I,
734 #[strum(serialize = "J")]
736 XK_J,
737 #[strum(serialize = "K")]
739 XK_K,
740 #[strum(serialize = "L")]
742 XK_L,
743 #[strum(serialize = "M")]
745 XK_M,
746 #[strum(serialize = "N")]
748 XK_N,
749 #[strum(serialize = "O")]
751 XK_O,
752 #[strum(serialize = "P")]
754 XK_P,
755 #[strum(serialize = "Q")]
757 XK_Q,
758 #[strum(serialize = "R")]
760 XK_R,
761 #[strum(serialize = "S")]
763 XK_S,
764 #[strum(serialize = "T")]
766 XK_T,
767 #[strum(serialize = "U")]
769 XK_U,
770 #[strum(serialize = "V")]
772 XK_V,
773 #[strum(serialize = "W")]
775 XK_W,
776 #[strum(serialize = "X")]
778 XK_X,
779 #[strum(serialize = "Y")]
781 XK_Y,
782 #[strum(serialize = "Z")]
784 XK_Z,
785 #[strum(serialize = "bracketleft")]
787 XK_bracketleft,
788 #[strum(serialize = "backslash")]
790 XK_backslash,
791 #[strum(serialize = "bracketright")]
793 XK_bracketright,
794 #[strum(serialize = "asciicircum")]
796 XK_asciicircum,
797 #[strum(serialize = "underscore")]
799 XK_underscore,
800 #[strum(serialize = "grave")]
802 XK_grave,
803 #[strum(serialize = "quoteleft")]
805 XK_quoteleft,
806 #[strum(serialize = "a")]
808 XK_a,
809 #[strum(serialize = "b")]
811 XK_b,
812 #[strum(serialize = "c")]
814 XK_c,
815 #[strum(serialize = "d")]
817 XK_d,
818 #[strum(serialize = "e")]
820 XK_e,
821 #[strum(serialize = "f")]
823 XK_f,
824 #[strum(serialize = "g")]
826 XK_g,
827 #[strum(serialize = "h")]
829 XK_h,
830 #[strum(serialize = "i")]
832 XK_i,
833 #[strum(serialize = "j")]
835 XK_j,
836 #[strum(serialize = "k")]
838 XK_k,
839 #[strum(serialize = "l")]
841 XK_l,
842 #[strum(serialize = "m")]
844 XK_m,
845 #[strum(serialize = "n")]
847 XK_n,
848 #[strum(serialize = "o")]
850 XK_o,
851 #[strum(serialize = "p")]
853 XK_p,
854 #[strum(serialize = "q")]
856 XK_q,
857 #[strum(serialize = "r")]
859 XK_r,
860 #[strum(serialize = "s")]
862 XK_s,
863 #[strum(serialize = "t")]
865 XK_t,
866 #[strum(serialize = "u")]
868 XK_u,
869 #[strum(serialize = "v")]
871 XK_v,
872 #[strum(serialize = "w")]
874 XK_w,
875 #[strum(serialize = "x")]
877 XK_x,
878 #[strum(serialize = "y")]
880 XK_y,
881 #[strum(serialize = "z")]
883 XK_z,
884 #[strum(serialize = "braceleft")]
886 XK_braceleft,
887 #[strum(serialize = "bar")]
889 XK_bar,
890 #[strum(serialize = "braceright")]
892 XK_braceright,
893 #[strum(serialize = "asciitilde")]
895 XK_asciitilde,
896 #[strum(serialize = "nobreakspace")]
898 XK_nobreakspace,
899 #[strum(serialize = "exclamdown")]
901 XK_exclamdown,
902 #[strum(serialize = "cent")]
904 XK_cent,
905 #[strum(serialize = "sterling")]
907 XK_sterling,
908 #[strum(serialize = "currency")]
910 XK_currency,
911 #[strum(serialize = "yen")]
913 XK_yen,
914 #[strum(serialize = "brokenbar")]
916 XK_brokenbar,
917 #[strum(serialize = "section")]
919 XK_section,
920 #[strum(serialize = "diaeresis")]
922 XK_diaeresis,
923 #[strum(serialize = "copyright")]
925 XK_copyright,
926 #[strum(serialize = "ordfeminine")]
928 XK_ordfeminine,
929 #[strum(serialize = "guillemotleft")]
931 XK_guillemotleft,
932 #[strum(serialize = "notsign")]
934 XK_notsign,
935 #[strum(serialize = "hyphen")]
937 XK_hyphen,
938 #[strum(serialize = "registered")]
940 XK_registered,
941 #[strum(serialize = "macron")]
943 XK_macron,
944 #[strum(serialize = "degree")]
946 XK_degree,
947 #[strum(serialize = "plusminus")]
949 XK_plusminus,
950 #[strum(serialize = "acute")]
952 XK_acute,
953 #[strum(serialize = "mu")]
955 XK_mu,
956 #[strum(serialize = "paragraph")]
958 XK_paragraph,
959 #[strum(serialize = "periodcentered")]
961 XK_periodcentered,
962 #[strum(serialize = "cedilla")]
964 XK_cedilla,
965 #[strum(serialize = "masculine")]
967 XK_masculine,
968 #[strum(serialize = "guillemotright")]
970 XK_guillemotright,
971 #[strum(serialize = "onequarter")]
973 XK_onequarter,
974 #[strum(serialize = "onehalf")]
976 XK_onehalf,
977 #[strum(serialize = "threequarters")]
979 XK_threequarters,
980 #[strum(serialize = "questiondown")]
982 XK_questiondown,
983 #[strum(serialize = "Aacute")]
985 XK_Aacute,
986 #[strum(serialize = "Atilde")]
988 XK_Atilde,
989 #[strum(serialize = "Adiaeresis")]
991 XK_Adiaeresis,
992 #[strum(serialize = "Aring")]
994 XK_Aring,
995 #[strum(serialize = "AE")]
997 XK_AE,
998 #[strum(serialize = "Ccedilla")]
1000 XK_Ccedilla,
1001 #[strum(serialize = "Eacute")]
1003 XK_Eacute,
1004 #[strum(serialize = "Ediaeresis")]
1006 XK_Ediaeresis,
1007 #[strum(serialize = "Iacute")]
1009 XK_Iacute,
1010 #[strum(serialize = "Idiaeresis")]
1012 XK_Idiaeresis,
1013 #[strum(serialize = "ETH")]
1015 XK_ETH,
1016 #[strum(serialize = "Eth")]
1018 XK_Eth,
1019 #[strum(serialize = "Ntilde")]
1021 XK_Ntilde,
1022 #[strum(serialize = "Oacute")]
1024 XK_Oacute,
1025 #[strum(serialize = "Otilde")]
1027 XK_Otilde,
1028 #[strum(serialize = "Odiaeresis")]
1030 XK_Odiaeresis,
1031 #[strum(serialize = "multiply")]
1033 XK_multiply,
1034 #[strum(serialize = "Oslash")]
1036 XK_Oslash,
1037 #[strum(serialize = "Ooblique")]
1039 XK_Ooblique,
1040 #[strum(serialize = "Uacute")]
1042 XK_Uacute,
1043 #[strum(serialize = "Udiaeresis")]
1045 XK_Udiaeresis,
1046 #[strum(serialize = "Yacute")]
1048 XK_Yacute,
1049 #[strum(serialize = "ssharp")]
1051 XK_ssharp,
1052 #[strum(serialize = "aacute")]
1054 XK_aacute,
1055 #[strum(serialize = "atilde")]
1057 XK_atilde,
1058 #[strum(serialize = "adiaeresis")]
1060 XK_adiaeresis,
1061 #[strum(serialize = "aring")]
1063 XK_aring,
1064 #[strum(serialize = "ae")]
1066 XK_ae,
1067 #[strum(serialize = "ccedilla")]
1069 XK_ccedilla,
1070 #[strum(serialize = "eacute")]
1072 XK_eacute,
1073 #[strum(serialize = "ediaeresis")]
1075 XK_ediaeresis,
1076 #[strum(serialize = "iacute")]
1078 XK_iacute,
1079 #[strum(serialize = "idiaeresis")]
1081 XK_idiaeresis,
1082 #[strum(serialize = "eth")]
1084 XK_eth,
1085 #[strum(serialize = "ntilde")]
1087 XK_ntilde,
1088 #[strum(serialize = "oacute")]
1090 XK_oacute,
1091 #[strum(serialize = "otilde")]
1093 XK_otilde,
1094 #[strum(serialize = "odiaeresis")]
1096 XK_odiaeresis,
1097 #[strum(serialize = "division")]
1099 XK_division,
1100 #[strum(serialize = "oslash")]
1102 XK_oslash,
1103 #[strum(serialize = "ooblique")]
1105 XK_ooblique,
1106 #[strum(serialize = "uacute")]
1108 XK_uacute,
1109 #[strum(serialize = "udiaeresis")]
1111 XK_udiaeresis,
1112 #[strum(serialize = "yacute")]
1114 XK_yacute,
1115 #[strum(serialize = "ydiaeresis")]
1117 XK_ydiaeresis,
1118 #[strum(serialize = "Aogonek")]
1120 XK_Aogonek,
1121 #[strum(serialize = "breve")]
1123 XK_breve,
1124 #[strum(serialize = "Lstroke")]
1126 XK_Lstroke,
1127 #[strum(serialize = "Lcaron")]
1129 XK_Lcaron,
1130 #[strum(serialize = "Sacute")]
1132 XK_Sacute,
1133 #[strum(serialize = "Scaron")]
1135 XK_Scaron,
1136 #[strum(serialize = "Scedilla")]
1138 XK_Scedilla,
1139 #[strum(serialize = "Tcaron")]
1141 XK_Tcaron,
1142 #[strum(serialize = "Zacute")]
1144 XK_Zacute,
1145 #[strum(serialize = "Zcaron")]
1147 XK_Zcaron,
1148 #[strum(serialize = "aogonek")]
1150 XK_aogonek,
1151 #[strum(serialize = "ogonek")]
1153 XK_ogonek,
1154 #[strum(serialize = "lstroke")]
1156 XK_lstroke,
1157 #[strum(serialize = "lcaron")]
1159 XK_lcaron,
1160 #[strum(serialize = "sacute")]
1162 XK_sacute,
1163 #[strum(serialize = "caron")]
1165 XK_caron,
1166 #[strum(serialize = "scaron")]
1168 XK_scaron,
1169 #[strum(serialize = "scedilla")]
1171 XK_scedilla,
1172 #[strum(serialize = "tcaron")]
1174 XK_tcaron,
1175 #[strum(serialize = "zacute")]
1177 XK_zacute,
1178 #[strum(serialize = "doubleacute")]
1180 XK_doubleacute,
1181 #[strum(serialize = "zcaron")]
1183 XK_zcaron,
1184 #[strum(serialize = "Racute")]
1186 XK_Racute,
1187 #[strum(serialize = "Abreve")]
1189 XK_Abreve,
1190 #[strum(serialize = "Lacute")]
1192 XK_Lacute,
1193 #[strum(serialize = "Cacute")]
1195 XK_Cacute,
1196 #[strum(serialize = "Ccaron")]
1198 XK_Ccaron,
1199 #[strum(serialize = "Eogonek")]
1201 XK_Eogonek,
1202 #[strum(serialize = "Ecaron")]
1204 XK_Ecaron,
1205 #[strum(serialize = "Dcaron")]
1207 XK_Dcaron,
1208 #[strum(serialize = "Dstroke")]
1210 XK_Dstroke,
1211 #[strum(serialize = "Nacute")]
1213 XK_Nacute,
1214 #[strum(serialize = "Ncaron")]
1216 XK_Ncaron,
1217 #[strum(serialize = "Odoubleacute")]
1219 XK_Odoubleacute,
1220 #[strum(serialize = "Rcaron")]
1222 XK_Rcaron,
1223 #[strum(serialize = "Uring")]
1225 XK_Uring,
1226 #[strum(serialize = "Udoubleacute")]
1228 XK_Udoubleacute,
1229 #[strum(serialize = "Tcedilla")]
1231 XK_Tcedilla,
1232 #[strum(serialize = "racute")]
1234 XK_racute,
1235 #[strum(serialize = "abreve")]
1237 XK_abreve,
1238 #[strum(serialize = "lacute")]
1240 XK_lacute,
1241 #[strum(serialize = "cacute")]
1243 XK_cacute,
1244 #[strum(serialize = "ccaron")]
1246 XK_ccaron,
1247 #[strum(serialize = "eogonek")]
1249 XK_eogonek,
1250 #[strum(serialize = "ecaron")]
1252 XK_ecaron,
1253 #[strum(serialize = "dcaron")]
1255 XK_dcaron,
1256 #[strum(serialize = "dstroke")]
1258 XK_dstroke,
1259 #[strum(serialize = "nacute")]
1261 XK_nacute,
1262 #[strum(serialize = "ncaron")]
1264 XK_ncaron,
1265 #[strum(serialize = "odoubleacute")]
1267 XK_odoubleacute,
1268 #[strum(serialize = "rcaron")]
1270 XK_rcaron,
1271 #[strum(serialize = "uring")]
1273 XK_uring,
1274 #[strum(serialize = "udoubleacute")]
1276 XK_udoubleacute,
1277 #[strum(serialize = "tcedilla")]
1279 XK_tcedilla,
1280 #[strum(serialize = "Hstroke")]
1282 XK_Hstroke,
1283 #[strum(serialize = "Gbreve")]
1285 XK_Gbreve,
1286 #[strum(serialize = "hstroke")]
1288 XK_hstroke,
1289 #[strum(serialize = "idotless")]
1291 XK_idotless,
1292 #[strum(serialize = "gbreve")]
1294 XK_gbreve,
1295 #[strum(serialize = "Ubreve")]
1297 XK_Ubreve,
1298 #[strum(serialize = "ubreve")]
1300 XK_ubreve,
1301 #[strum(serialize = "kra")]
1303 XK_kra,
1304 #[strum(serialize = "kappa")]
1306 XK_kappa,
1307 #[strum(serialize = "Rcedilla")]
1309 XK_Rcedilla,
1310 #[strum(serialize = "Itilde")]
1312 XK_Itilde,
1313 #[strum(serialize = "Lcedilla")]
1315 XK_Lcedilla,
1316 #[strum(serialize = "Emacron")]
1318 XK_Emacron,
1319 #[strum(serialize = "Gcedilla")]
1321 XK_Gcedilla,
1322 #[strum(serialize = "Tslash")]
1324 XK_Tslash,
1325 #[strum(serialize = "rcedilla")]
1327 XK_rcedilla,
1328 #[strum(serialize = "itilde")]
1330 XK_itilde,
1331 #[strum(serialize = "lcedilla")]
1333 XK_lcedilla,
1334 #[strum(serialize = "emacron")]
1336 XK_emacron,
1337 #[strum(serialize = "gcedilla")]
1339 XK_gcedilla,
1340 #[strum(serialize = "tslash")]
1342 XK_tslash,
1343 #[strum(serialize = "ENG")]
1345 XK_ENG,
1346 #[strum(serialize = "eng")]
1348 XK_eng,
1349 #[strum(serialize = "Amacron")]
1351 XK_Amacron,
1352 #[strum(serialize = "Iogonek")]
1354 XK_Iogonek,
1355 #[strum(serialize = "Imacron")]
1357 XK_Imacron,
1358 #[strum(serialize = "Ncedilla")]
1360 XK_Ncedilla,
1361 #[strum(serialize = "Omacron")]
1363 XK_Omacron,
1364 #[strum(serialize = "Kcedilla")]
1366 XK_Kcedilla,
1367 #[strum(serialize = "Uogonek")]
1369 XK_Uogonek,
1370 #[strum(serialize = "Utilde")]
1372 XK_Utilde,
1373 #[strum(serialize = "Umacron")]
1375 XK_Umacron,
1376 #[strum(serialize = "amacron")]
1378 XK_amacron,
1379 #[strum(serialize = "iogonek")]
1381 XK_iogonek,
1382 #[strum(serialize = "imacron")]
1384 XK_imacron,
1385 #[strum(serialize = "ncedilla")]
1387 XK_ncedilla,
1388 #[strum(serialize = "omacron")]
1390 XK_omacron,
1391 #[strum(serialize = "kcedilla")]
1393 XK_kcedilla,
1394 #[strum(serialize = "uogonek")]
1396 XK_uogonek,
1397 #[strum(serialize = "utilde")]
1399 XK_utilde,
1400 #[strum(serialize = "umacron")]
1402 XK_umacron,
1403 #[strum(serialize = "Wacute")]
1405 XK_Wacute,
1406 #[strum(serialize = "wacute")]
1408 XK_wacute,
1409 #[strum(serialize = "Wdiaeresis")]
1411 XK_Wdiaeresis,
1412 #[strum(serialize = "wdiaeresis")]
1414 XK_wdiaeresis,
1415 #[strum(serialize = "OE")]
1417 XK_OE,
1418 #[strum(serialize = "oe")]
1420 XK_oe,
1421 #[strum(serialize = "Ydiaeresis")]
1423 XK_Ydiaeresis,
1424 #[strum(serialize = "overline")]
1426 XK_overline,
1427 #[strum(serialize = "prolongedsound")]
1429 XK_prolongedsound,
1430 #[strum(serialize = "voicedsound")]
1432 XK_voicedsound,
1433 #[strum(serialize = "semivoicedsound")]
1435 XK_semivoicedsound,
1436 #[strum(serialize = "numerosign")]
1438 XK_numerosign,
1439 #[strum(serialize = "leftradical")]
1441 XK_leftradical,
1442 #[strum(serialize = "topleftradical")]
1444 XK_topleftradical,
1445 #[strum(serialize = "horizconnector")]
1447 XK_horizconnector,
1448 #[strum(serialize = "topintegral")]
1450 XK_topintegral,
1451 #[strum(serialize = "botintegral")]
1453 XK_botintegral,
1454 #[strum(serialize = "vertconnector")]
1456 XK_vertconnector,
1457 #[strum(serialize = "topleftsqbracket")]
1459 XK_topleftsqbracket,
1460 #[strum(serialize = "botleftsqbracket")]
1462 XK_botleftsqbracket,
1463 #[strum(serialize = "toprightsqbracket")]
1465 XK_toprightsqbracket,
1466 #[strum(serialize = "botrightsqbracket")]
1468 XK_botrightsqbracket,
1469 #[strum(serialize = "topleftparens")]
1471 XK_topleftparens,
1472 #[strum(serialize = "botleftparens")]
1474 XK_botleftparens,
1475 #[strum(serialize = "toprightparens")]
1477 XK_toprightparens,
1478 #[strum(serialize = "botrightparens")]
1480 XK_botrightparens,
1481 #[strum(serialize = "leftmiddlecurlybrace")]
1483 XK_leftmiddlecurlybrace,
1484 #[strum(serialize = "rightmiddlecurlybrace")]
1486 XK_rightmiddlecurlybrace,
1487 #[strum(serialize = "lessthanequal")]
1489 XK_lessthanequal,
1490 #[strum(serialize = "notequal")]
1492 XK_notequal,
1493 #[strum(serialize = "greaterthanequal")]
1495 XK_greaterthanequal,
1496 #[strum(serialize = "integral")]
1498 XK_integral,
1499 #[strum(serialize = "therefore")]
1501 XK_therefore,
1502 #[strum(serialize = "variation")]
1504 XK_variation,
1505 #[strum(serialize = "infinity")]
1507 XK_infinity,
1508 #[strum(serialize = "nabla")]
1510 XK_nabla,
1511 #[strum(serialize = "approximate")]
1513 XK_approximate,
1514 #[strum(serialize = "similarequal")]
1516 XK_similarequal,
1517 #[strum(serialize = "ifonlyif")]
1519 XK_ifonlyif,
1520 #[strum(serialize = "implies")]
1522 XK_implies,
1523 #[strum(serialize = "identical")]
1525 XK_identical,
1526 #[strum(serialize = "radical")]
1528 XK_radical,
1529 #[strum(serialize = "includedin")]
1531 XK_includedin,
1532 #[strum(serialize = "includes")]
1534 XK_includes,
1535 #[strum(serialize = "intersection")]
1537 XK_intersection,
1538 #[strum(serialize = "union")]
1540 XK_union,
1541 #[strum(serialize = "logicaland")]
1543 XK_logicaland,
1544 #[strum(serialize = "logicalor")]
1546 XK_logicalor,
1547 #[strum(serialize = "partialderivative")]
1549 XK_partialderivative,
1550 #[strum(serialize = "function")]
1552 XK_function,
1553 #[strum(serialize = "leftarrow")]
1555 XK_leftarrow,
1556 #[strum(serialize = "uparrow")]
1558 XK_uparrow,
1559 #[strum(serialize = "rightarrow")]
1561 XK_rightarrow,
1562 #[strum(serialize = "downarrow")]
1564 XK_downarrow,
1565 #[strum(serialize = "blank")]
1567 XK_blank,
1568 #[strum(serialize = "soliddiamond")]
1570 XK_soliddiamond,
1571 #[strum(serialize = "checkerboard")]
1573 XK_checkerboard,
1574 #[strum(serialize = "ht")]
1576 XK_ht,
1577 #[strum(serialize = "ff")]
1579 XK_ff,
1580 #[strum(serialize = "cr")]
1582 XK_cr,
1583 #[strum(serialize = "lf")]
1585 XK_lf,
1586 #[strum(serialize = "nl")]
1588 XK_nl,
1589 #[strum(serialize = "vt")]
1591 XK_vt,
1592 #[strum(serialize = "lowrightcorner")]
1594 XK_lowrightcorner,
1595 #[strum(serialize = "uprightcorner")]
1597 XK_uprightcorner,
1598 #[strum(serialize = "upleftcorner")]
1600 XK_upleftcorner,
1601 #[strum(serialize = "lowleftcorner")]
1603 XK_lowleftcorner,
1604 #[strum(serialize = "crossinglines")]
1606 XK_crossinglines,
1607 #[strum(serialize = "leftt")]
1609 XK_leftt,
1610 #[strum(serialize = "rightt")]
1612 XK_rightt,
1613 #[strum(serialize = "bott")]
1615 XK_bott,
1616 #[strum(serialize = "topt")]
1618 XK_topt,
1619 #[strum(serialize = "vertbar")]
1621 XK_vertbar,
1622 #[strum(serialize = "emspace")]
1624 XK_emspace,
1625 #[strum(serialize = "enspace")]
1627 XK_enspace,
1628 #[strum(serialize = "em3space")]
1630 XK_em3space,
1631 #[strum(serialize = "em4space")]
1633 XK_em4space,
1634 #[strum(serialize = "digitspace")]
1636 XK_digitspace,
1637 #[strum(serialize = "punctspace")]
1639 XK_punctspace,
1640 #[strum(serialize = "thinspace")]
1642 XK_thinspace,
1643 #[strum(serialize = "hairspace")]
1645 XK_hairspace,
1646 #[strum(serialize = "emdash")]
1648 XK_emdash,
1649 #[strum(serialize = "endash")]
1651 XK_endash,
1652 #[strum(serialize = "signifblank")]
1654 XK_signifblank,
1655 #[strum(serialize = "ellipsis")]
1657 XK_ellipsis,
1658 #[strum(serialize = "doubbaselinedot")]
1660 XK_doubbaselinedot,
1661 #[strum(serialize = "onethird")]
1663 XK_onethird,
1664 #[strum(serialize = "twothirds")]
1666 XK_twothirds,
1667 #[strum(serialize = "onefifth")]
1669 XK_onefifth,
1670 #[strum(serialize = "twofifths")]
1672 XK_twofifths,
1673 #[strum(serialize = "threefifths")]
1675 XK_threefifths,
1676 #[strum(serialize = "fourfifths")]
1678 XK_fourfifths,
1679 #[strum(serialize = "onesixth")]
1681 XK_onesixth,
1682 #[strum(serialize = "fivesixths")]
1684 XK_fivesixths,
1685 #[strum(serialize = "careof")]
1687 XK_careof,
1688 #[strum(serialize = "figdash")]
1690 XK_figdash,
1691 #[strum(serialize = "leftanglebracket")]
1693 XK_leftanglebracket,
1694 #[strum(serialize = "decimalpoint")]
1696 XK_decimalpoint,
1697 #[strum(serialize = "rightanglebracket")]
1699 XK_rightanglebracket,
1700 #[strum(serialize = "marker")]
1702 XK_marker,
1703 #[strum(serialize = "oneeighth")]
1705 XK_oneeighth,
1706 #[strum(serialize = "threeeighths")]
1708 XK_threeeighths,
1709 #[strum(serialize = "fiveeighths")]
1711 XK_fiveeighths,
1712 #[strum(serialize = "seveneighths")]
1714 XK_seveneighths,
1715 #[strum(serialize = "trademark")]
1717 XK_trademark,
1718 #[strum(serialize = "signaturemark")]
1720 XK_signaturemark,
1721 #[strum(serialize = "leftopentriangle")]
1723 XK_leftopentriangle,
1724 #[strum(serialize = "rightopentriangle")]
1726 XK_rightopentriangle,
1727 #[strum(serialize = "emopenrectangle")]
1729 XK_emopenrectangle,
1730 #[strum(serialize = "leftsinglequotemark")]
1732 XK_leftsinglequotemark,
1733 #[strum(serialize = "rightsinglequotemark")]
1735 XK_rightsinglequotemark,
1736 #[strum(serialize = "leftdoublequotemark")]
1738 XK_leftdoublequotemark,
1739 #[strum(serialize = "rightdoublequotemark")]
1741 XK_rightdoublequotemark,
1742 #[strum(serialize = "prescription")]
1744 XK_prescription,
1745 #[strum(serialize = "permille")]
1747 XK_permille,
1748 #[strum(serialize = "minutes")]
1750 XK_minutes,
1751 #[strum(serialize = "seconds")]
1753 XK_seconds,
1754 #[strum(serialize = "latincross")]
1756 XK_latincross,
1757 #[strum(serialize = "hexagram")]
1759 XK_hexagram,
1760 #[strum(serialize = "emfilledrect")]
1762 XK_emfilledrect,
1763 #[strum(serialize = "openstar")]
1765 XK_openstar,
1766 #[strum(serialize = "leftpointer")]
1768 XK_leftpointer,
1769 #[strum(serialize = "rightpointer")]
1771 XK_rightpointer,
1772 #[strum(serialize = "club")]
1774 XK_club,
1775 #[strum(serialize = "diamond")]
1777 XK_diamond,
1778 #[strum(serialize = "heart")]
1780 XK_heart,
1781 #[strum(serialize = "maltesecross")]
1783 XK_maltesecross,
1784 #[strum(serialize = "dagger")]
1786 XK_dagger,
1787 #[strum(serialize = "doubledagger")]
1789 XK_doubledagger,
1790 #[strum(serialize = "checkmark")]
1792 XK_checkmark,
1793 #[strum(serialize = "ballotcross")]
1795 XK_ballotcross,
1796 #[strum(serialize = "musicalsharp")]
1798 XK_musicalsharp,
1799 #[strum(serialize = "musicalflat")]
1801 XK_musicalflat,
1802 #[strum(serialize = "malesymbol")]
1804 XK_malesymbol,
1805 #[strum(serialize = "femalesymbol")]
1807 XK_femalesymbol,
1808 #[strum(serialize = "telephone")]
1810 XK_telephone,
1811 #[strum(serialize = "telephonerecorder")]
1813 XK_telephonerecorder,
1814 #[strum(serialize = "phonographcopyright")]
1816 XK_phonographcopyright,
1817 #[strum(serialize = "caret")]
1819 XK_caret,
1820 #[strum(serialize = "singlelowquotemark")]
1822 XK_singlelowquotemark,
1823 #[strum(serialize = "doublelowquotemark")]
1825 XK_doublelowquotemark,
1826 #[strum(serialize = "cursor")]
1828 XK_cursor,
1829 #[strum(serialize = "leftcaret")]
1831 XK_leftcaret,
1832 #[strum(serialize = "rightcaret")]
1834 XK_rightcaret,
1835 #[strum(serialize = "downcaret")]
1837 XK_downcaret,
1838 #[strum(serialize = "upcaret")]
1840 XK_upcaret,
1841 #[strum(serialize = "overbar")]
1843 XK_overbar,
1844 #[strum(serialize = "downtack")]
1846 XK_downtack,
1847 #[strum(serialize = "upshoe")]
1849 XK_upshoe,
1850 #[strum(serialize = "downstile")]
1852 XK_downstile,
1853 #[strum(serialize = "underbar")]
1855 XK_underbar,
1856 #[strum(serialize = "jot")]
1858 XK_jot,
1859 #[strum(serialize = "quad")]
1861 XK_quad,
1862 #[strum(serialize = "uptack")]
1864 XK_uptack,
1865 #[strum(serialize = "upstile")]
1867 XK_upstile,
1868 #[strum(serialize = "downshoe")]
1870 XK_downshoe,
1871 #[strum(serialize = "rightshoe")]
1873 XK_rightshoe,
1874 #[strum(serialize = "leftshoe")]
1876 XK_leftshoe,
1877 #[strum(serialize = "lefttack")]
1879 XK_lefttack,
1880 #[strum(serialize = "righttack")]
1882 XK_righttack,
1883 #[strum(serialize = "Korean_Won")]
1885 XK_Korean_Won,
1886 #[strum(serialize = "Ibreve")]
1888 XK_Ibreve,
1889 #[strum(serialize = "Zstroke")]
1891 XK_Zstroke,
1892 #[strum(serialize = "Gcaron")]
1894 XK_Gcaron,
1895 #[strum(serialize = "Ocaron")]
1897 XK_Ocaron,
1898 #[strum(serialize = "Obarred")]
1900 XK_Obarred,
1901 #[strum(serialize = "ibreve")]
1903 XK_ibreve,
1904 #[strum(serialize = "zstroke")]
1906 XK_zstroke,
1907 #[strum(serialize = "gcaron")]
1909 XK_gcaron,
1910 #[strum(serialize = "ocaron")]
1912 XK_ocaron,
1913 #[strum(serialize = "obarred")]
1915 XK_obarred,
1916 #[strum(serialize = "SCHWA")]
1918 XK_SCHWA,
1919 #[strum(serialize = "schwa")]
1921 XK_schwa,
1922 #[strum(serialize = "EZH")]
1924 XK_EZH,
1925 #[strum(serialize = "ezh")]
1927 XK_ezh,
1928 #[strum(serialize = "Abreveacute")]
1930 XK_Abreveacute,
1931 #[strum(serialize = "abreveacute")]
1933 XK_abreveacute,
1934 #[strum(serialize = "Abrevetilde")]
1936 XK_Abrevetilde,
1937 #[strum(serialize = "abrevetilde")]
1939 XK_abrevetilde,
1940 #[strum(serialize = "Etilde")]
1942 XK_Etilde,
1943 #[strum(serialize = "etilde")]
1945 XK_etilde,
1946 #[strum(serialize = "Ytilde")]
1948 XK_Ytilde,
1949 #[strum(serialize = "ytilde")]
1951 XK_ytilde,
1952 #[strum(serialize = "EcuSign")]
1954 XK_EcuSign,
1955 #[strum(serialize = "ColonSign")]
1957 XK_ColonSign,
1958 #[strum(serialize = "CruzeiroSign")]
1960 XK_CruzeiroSign,
1961 #[strum(serialize = "FFrancSign")]
1963 XK_FFrancSign,
1964 #[strum(serialize = "LiraSign")]
1966 XK_LiraSign,
1967 #[strum(serialize = "MillSign")]
1969 XK_MillSign,
1970 #[strum(serialize = "NairaSign")]
1972 XK_NairaSign,
1973 #[strum(serialize = "PesetaSign")]
1975 XK_PesetaSign,
1976 #[strum(serialize = "RupeeSign")]
1978 XK_RupeeSign,
1979 #[strum(serialize = "WonSign")]
1981 XK_WonSign,
1982 #[strum(serialize = "NewSheqelSign")]
1984 XK_NewSheqelSign,
1985 #[strum(serialize = "DongSign")]
1987 XK_DongSign,
1988 #[strum(serialize = "EuroSign")]
1990 XK_EuroSign,
1991
1992 #[strum(serialize = "XF86MonBrightnessUp")]
1994 XF86XK_MonBrightnessUp,
1995
1996 #[strum(serialize = "XF86MonBrightnessDown")]
1998 XF86XK_MonBrightnessDown,
1999
2000 #[strum(serialize = "XF86KbdLightOnOff")]
2002 XF86XK_KbdLightOnOff,
2003
2004 #[strum(serialize = "XF86KbdBrightnessUp")]
2006 XF86XK_KbdBrightnessUp,
2007
2008 #[strum(serialize = "XF86KbdBrightnessDown")]
2010 XF86XK_KbdBrightnessDown,
2011
2012 #[strum(serialize = "XF86MonBrightnessCycle")]
2014 XF86XK_MonBrightnessCycle,
2015
2016 #[strum(serialize = "XF86Standby")]
2018 XF86XK_Standby,
2019
2020 #[strum(serialize = "XF86AudioLowerVolume")]
2022 XF86XK_AudioLowerVolume,
2023 #[strum(serialize = "XF86AudioMute")]
2025 XF86XK_AudioMute,
2026 #[strum(serialize = "XF86AudioRaiseVolume")]
2028 XF86XK_AudioRaiseVolume,
2029 #[strum(serialize = "XF86AudioPlay")]
2031 XF86XK_AudioPlay,
2032 #[strum(serialize = "XF86AudioStop")]
2034 XF86XK_AudioStop,
2035 #[strum(serialize = "XF86AudioPrev")]
2037 XF86XK_AudioPrev,
2038 #[strum(serialize = "XF86AudioNext")]
2040 XF86XK_AudioNext,
2041 #[strum(serialize = "XF86AudioMicMute")]
2043 XF86XK_AudioMicMute,
2044 #[strum(serialize = "XF86DisplayOff")]
2046 XF86XK_DisplayOff,
2047 #[strum(serialize = "XF86TouchpadToggle")]
2049 XF86XK_TouchpadToggle,
2050 #[strum(serialize = "XF86Calculator")]
2052 XF86XK_Calculator,
2053}
2054
2055impl XKeySym {
2056 pub fn as_utf8_string(&self) -> Result<String, std::string::FromUtf8Error> {
2058 String::from_utf8(
2059 (match self {
2060 XKeySym::XK_BackSpace => 0xff08,
2061 XKeySym::XK_Tab => 0xff09,
2062 XKeySym::XK_Linefeed => 0xff0a,
2063 XKeySym::XK_Clear => 0xff0b,
2064 XKeySym::XK_Return => 0xff0d,
2065 XKeySym::XK_Pause => 0xff13,
2066 XKeySym::XK_Scroll_Lock => 0xff14,
2067 XKeySym::XK_Sys_Req => 0xff15,
2068 XKeySym::XK_Escape => 0xff1b,
2069 XKeySym::XK_Delete => 0xffff,
2070 XKeySym::XK_Home => 0xff50,
2071 XKeySym::XK_Left => 0xff51,
2072 XKeySym::XK_Up => 0xff52,
2073 XKeySym::XK_Right => 0xff53,
2074 XKeySym::XK_Down => 0xff54,
2075 XKeySym::XK_Prior => 0xff55,
2076 XKeySym::XK_Page_Up => 0xff55,
2077 XKeySym::XK_Next => 0xff56,
2078 XKeySym::XK_Page_Down => 0xff56,
2079 XKeySym::XK_End => 0xff57,
2080 XKeySym::XK_Begin => 0xff58,
2081 XKeySym::XK_Select => 0xff60,
2082 XKeySym::XK_Print => 0xff61,
2083 XKeySym::XK_Execute => 0xff62,
2084 XKeySym::XK_Insert => 0xff63,
2085 XKeySym::XK_Undo => 0xff65,
2086 XKeySym::XK_Redo => 0xff66,
2087 XKeySym::XK_Menu => 0xff67,
2088 XKeySym::XK_Find => 0xff68,
2089 XKeySym::XK_Cancel => 0xff69,
2090 XKeySym::XK_Help => 0xff6a,
2091 XKeySym::XK_Break => 0xff6b,
2092 XKeySym::XK_Mode_switch => 0xff7e,
2093 XKeySym::XK_script_switch => 0xff7e,
2094 XKeySym::XK_Num_Lock => 0xff7f,
2095 XKeySym::XK_KP_Space => 0xff80,
2096 XKeySym::XK_KP_Tab => 0xff89,
2097 XKeySym::XK_KP_Enter => 0xff8d,
2098 XKeySym::XK_KP_F1 => 0xff91,
2099 XKeySym::XK_KP_F2 => 0xff92,
2100 XKeySym::XK_KP_F3 => 0xff93,
2101 XKeySym::XK_KP_F4 => 0xff94,
2102 XKeySym::XK_KP_Home => 0xff95,
2103 XKeySym::XK_KP_Left => 0xff96,
2104 XKeySym::XK_KP_Up => 0xff97,
2105 XKeySym::XK_KP_Right => 0xff98,
2106 XKeySym::XK_KP_Down => 0xff99,
2107 XKeySym::XK_KP_Prior => 0xff9a,
2108 XKeySym::XK_KP_Page_Up => 0xff9a,
2109 XKeySym::XK_KP_Next => 0xff9b,
2110 XKeySym::XK_KP_Page_Down => 0xff9b,
2111 XKeySym::XK_KP_End => 0xff9c,
2112 XKeySym::XK_KP_Begin => 0xff9d,
2113 XKeySym::XK_KP_Insert => 0xff9e,
2114 XKeySym::XK_KP_Delete => 0xff9f,
2115 XKeySym::XK_KP_Equal => 0xffbd,
2116 XKeySym::XK_KP_Multiply => 0xffaa,
2117 XKeySym::XK_KP_Add => 0xffab,
2118 XKeySym::XK_KP_Separator => 0xffac,
2119 XKeySym::XK_KP_Subtract => 0xffad,
2120 XKeySym::XK_KP_Decimal => 0xffae,
2121 XKeySym::XK_KP_Divide => 0xffaf,
2122 XKeySym::XK_KP_0 => 0xffb0,
2123 XKeySym::XK_KP_1 => 0xffb1,
2124 XKeySym::XK_KP_2 => 0xffb2,
2125 XKeySym::XK_KP_3 => 0xffb3,
2126 XKeySym::XK_KP_4 => 0xffb4,
2127 XKeySym::XK_KP_5 => 0xffb5,
2128 XKeySym::XK_KP_6 => 0xffb6,
2129 XKeySym::XK_KP_7 => 0xffb7,
2130 XKeySym::XK_KP_8 => 0xffb8,
2131 XKeySym::XK_KP_9 => 0xffb9,
2132 XKeySym::XK_F1 => 0xffbe,
2133 XKeySym::XK_F2 => 0xffbf,
2134 XKeySym::XK_F3 => 0xffc0,
2135 XKeySym::XK_F4 => 0xffc1,
2136 XKeySym::XK_F5 => 0xffc2,
2137 XKeySym::XK_F6 => 0xffc3,
2138 XKeySym::XK_F7 => 0xffc4,
2139 XKeySym::XK_F8 => 0xffc5,
2140 XKeySym::XK_F9 => 0xffc6,
2141 XKeySym::XK_F10 => 0xffc7,
2142 XKeySym::XK_F11 => 0xffc8,
2143 XKeySym::XK_L1 => 0xffc8,
2144 XKeySym::XK_F12 => 0xffc9,
2145 XKeySym::XK_L2 => 0xffc9,
2146 XKeySym::XK_F13 => 0xffca,
2147 XKeySym::XK_L3 => 0xffca,
2148 XKeySym::XK_F14 => 0xffcb,
2149 XKeySym::XK_L4 => 0xffcb,
2150 XKeySym::XK_F15 => 0xffcc,
2151 XKeySym::XK_L5 => 0xffcc,
2152 XKeySym::XK_F16 => 0xffcd,
2153 XKeySym::XK_L6 => 0xffcd,
2154 XKeySym::XK_F17 => 0xffce,
2155 XKeySym::XK_L7 => 0xffce,
2156 XKeySym::XK_F18 => 0xffcf,
2157 XKeySym::XK_L8 => 0xffcf,
2158 XKeySym::XK_F19 => 0xffd0,
2159 XKeySym::XK_L9 => 0xffd0,
2160 XKeySym::XK_F20 => 0xffd1,
2161 XKeySym::XK_L10 => 0xffd1,
2162 XKeySym::XK_F21 => 0xffd2,
2163 XKeySym::XK_R1 => 0xffd2,
2164 XKeySym::XK_F22 => 0xffd3,
2165 XKeySym::XK_R2 => 0xffd3,
2166 XKeySym::XK_F23 => 0xffd4,
2167 XKeySym::XK_R3 => 0xffd4,
2168 XKeySym::XK_F24 => 0xffd5,
2169 XKeySym::XK_R4 => 0xffd5,
2170 XKeySym::XK_F25 => 0xffd6,
2171 XKeySym::XK_R5 => 0xffd6,
2172 XKeySym::XK_F26 => 0xffd7,
2173 XKeySym::XK_R6 => 0xffd7,
2174 XKeySym::XK_F27 => 0xffd8,
2175 XKeySym::XK_R7 => 0xffd8,
2176 XKeySym::XK_F28 => 0xffd9,
2177 XKeySym::XK_R8 => 0xffd9,
2178 XKeySym::XK_F29 => 0xffda,
2179 XKeySym::XK_R9 => 0xffda,
2180 XKeySym::XK_F30 => 0xffdb,
2181 XKeySym::XK_R10 => 0xffdb,
2182 XKeySym::XK_F31 => 0xffdc,
2183 XKeySym::XK_R11 => 0xffdc,
2184 XKeySym::XK_F32 => 0xffdd,
2185 XKeySym::XK_R12 => 0xffdd,
2186 XKeySym::XK_F33 => 0xffde,
2187 XKeySym::XK_R13 => 0xffde,
2188 XKeySym::XK_F34 => 0xffdf,
2189 XKeySym::XK_R14 => 0xffdf,
2190 XKeySym::XK_F35 => 0xffe0,
2191 XKeySym::XK_R15 => 0xffe0,
2192 XKeySym::XK_Shift_L => 0xffe1,
2193 XKeySym::XK_Shift_R => 0xffe2,
2194 XKeySym::XK_Control_L => 0xffe3,
2195 XKeySym::XK_Control_R => 0xffe4,
2196 XKeySym::XK_Caps_Lock => 0xffe5,
2197 XKeySym::XK_Shift_Lock => 0xffe6,
2198 XKeySym::XK_Meta_L => 0xffe7,
2199 XKeySym::XK_Meta_R => 0xffe8,
2200 XKeySym::XK_Alt_L => 0xffe9,
2201 XKeySym::XK_Alt_R => 0xffea,
2202 XKeySym::XK_Super_L => 0xffeb,
2203 XKeySym::XK_Super_R => 0xffec,
2204 XKeySym::XK_Hyper_L => 0xffed,
2205 XKeySym::XK_Hyper_R => 0xffee,
2206 XKeySym::XK_ISO_Lock => 0xfe01,
2207 XKeySym::XK_ISO_Level2_Latch => 0xfe02,
2208 XKeySym::XK_ISO_Level3_Shift => 0xfe03,
2209 XKeySym::XK_ISO_Level3_Latch => 0xfe04,
2210 XKeySym::XK_ISO_Level3_Lock => 0xfe05,
2211 XKeySym::XK_ISO_Level5_Shift => 0xfe11,
2212 XKeySym::XK_ISO_Level5_Latch => 0xfe12,
2213 XKeySym::XK_ISO_Level5_Lock => 0xfe13,
2214 XKeySym::XK_ISO_Left_Tab => 0xfe20,
2215 XKeySym::XK_ISO_Partial_Space_Left => 0xfe25,
2216 XKeySym::XK_ISO_Partial_Space_Right => 0xfe26,
2217 XKeySym::XK_ISO_Set_Margin_Left => 0xfe27,
2218 XKeySym::XK_ISO_Set_Margin_Right => 0xfe28,
2219 XKeySym::XK_ISO_Continuous_Underline => 0xfe30,
2220 XKeySym::XK_ISO_Discontinuous_Underline => 0xfe31,
2221 XKeySym::XK_ISO_Emphasize => 0xfe32,
2222 XKeySym::XK_ISO_Center_Object => 0xfe33,
2223 XKeySym::XK_ISO_Enter => 0xfe34,
2224 XKeySym::XK_Terminate_Server => 0xfed5,
2225 XKeySym::XK_ch => 0xfea0,
2226 XKeySym::XK_Ch => 0xfea1,
2227 XKeySym::XK_CH => 0xfea2,
2228 XKeySym::XK_c_h => 0xfea3,
2229 XKeySym::XK_C_h => 0xfea4,
2230 XKeySym::XK_C_H => 0xfea5,
2231 XKeySym::XK_3270_Duplicate => 0xfd01,
2232 XKeySym::XK_3270_FieldMark => 0xfd02,
2233 XKeySym::XK_3270_Right2 => 0xfd03,
2234 XKeySym::XK_3270_Left2 => 0xfd04,
2235 XKeySym::XK_3270_BackTab => 0xfd05,
2236 XKeySym::XK_3270_EraseEOF => 0xfd06,
2237 XKeySym::XK_3270_EraseInput => 0xfd07,
2238 XKeySym::XK_3270_Reset => 0xfd08,
2239 XKeySym::XK_3270_Quit => 0xfd09,
2240 XKeySym::XK_3270_PA1 => 0xfd0a,
2241 XKeySym::XK_3270_PA2 => 0xfd0b,
2242 XKeySym::XK_3270_PA3 => 0xfd0c,
2243 XKeySym::XK_3270_Test => 0xfd0d,
2244 XKeySym::XK_3270_Attn => 0xfd0e,
2245 XKeySym::XK_3270_CursorBlink => 0xfd0f,
2246 XKeySym::XK_3270_AltCursor => 0xfd10,
2247 XKeySym::XK_3270_KeyClick => 0xfd11,
2248 XKeySym::XK_3270_Jump => 0xfd12,
2249 XKeySym::XK_3270_Ident => 0xfd13,
2250 XKeySym::XK_3270_Rule => 0xfd14,
2251 XKeySym::XK_3270_Copy => 0xfd15,
2252 XKeySym::XK_3270_Play => 0xfd16,
2253 XKeySym::XK_3270_Setup => 0xfd17,
2254 XKeySym::XK_3270_Record => 0xfd18,
2255 XKeySym::XK_3270_DeleteWord => 0xfd1a,
2256 XKeySym::XK_3270_ExSelect => 0xfd1b,
2257 XKeySym::XK_3270_CursorSelect => 0xfd1c,
2258 XKeySym::XK_3270_Enter => 0xfd1e,
2259 XKeySym::XK_space => 0x0020,
2260 XKeySym::XK_exclam => 0x0021,
2261 XKeySym::XK_quotedbl => 0x0022,
2262 XKeySym::XK_numbersign => 0x0023,
2263 XKeySym::XK_dollar => 0x0024,
2264 XKeySym::XK_percent => 0x0025,
2265 XKeySym::XK_ampersand => 0x0026,
2266 XKeySym::XK_apostrophe => 0x0027,
2267 XKeySym::XK_quoteright => 0x0027,
2268 XKeySym::XK_parenleft => 0x0028,
2269 XKeySym::XK_parenright => 0x0029,
2270 XKeySym::XK_asterisk => 0x002a,
2271 XKeySym::XK_plus => 0x002b,
2272 XKeySym::XK_comma => 0x002c,
2273 XKeySym::XK_minus => 0x002d,
2274 XKeySym::XK_period => 0x002e,
2275 XKeySym::XK_slash => 0x002f,
2276 XKeySym::XK_0 => 0x0030,
2277 XKeySym::XK_1 => 0x0031,
2278 XKeySym::XK_2 => 0x0032,
2279 XKeySym::XK_3 => 0x0033,
2280 XKeySym::XK_4 => 0x0034,
2281 XKeySym::XK_5 => 0x0035,
2282 XKeySym::XK_6 => 0x0036,
2283 XKeySym::XK_7 => 0x0037,
2284 XKeySym::XK_8 => 0x0038,
2285 XKeySym::XK_9 => 0x0039,
2286 XKeySym::XK_colon => 0x003a,
2287 XKeySym::XK_semicolon => 0x003b,
2288 XKeySym::XK_less => 0x003c,
2289 XKeySym::XK_equal => 0x003d,
2290 XKeySym::XK_greater => 0x003e,
2291 XKeySym::XK_question => 0x003f,
2292 XKeySym::XK_at => 0x0040,
2293 XKeySym::XK_A => 0x0041,
2294 XKeySym::XK_B => 0x0042,
2295 XKeySym::XK_C => 0x0043,
2296 XKeySym::XK_D => 0x0044,
2297 XKeySym::XK_E => 0x0045,
2298 XKeySym::XK_F => 0x0046,
2299 XKeySym::XK_G => 0x0047,
2300 XKeySym::XK_H => 0x0048,
2301 XKeySym::XK_I => 0x0049,
2302 XKeySym::XK_J => 0x004a,
2303 XKeySym::XK_K => 0x004b,
2304 XKeySym::XK_L => 0x004c,
2305 XKeySym::XK_M => 0x004d,
2306 XKeySym::XK_N => 0x004e,
2307 XKeySym::XK_O => 0x004f,
2308 XKeySym::XK_P => 0x0050,
2309 XKeySym::XK_Q => 0x0051,
2310 XKeySym::XK_R => 0x0052,
2311 XKeySym::XK_S => 0x0053,
2312 XKeySym::XK_T => 0x0054,
2313 XKeySym::XK_U => 0x0055,
2314 XKeySym::XK_V => 0x0056,
2315 XKeySym::XK_W => 0x0057,
2316 XKeySym::XK_X => 0x0058,
2317 XKeySym::XK_Y => 0x0059,
2318 XKeySym::XK_Z => 0x005a,
2319 XKeySym::XK_bracketleft => 0x005b,
2320 XKeySym::XK_backslash => 0x005c,
2321 XKeySym::XK_bracketright => 0x005d,
2322 XKeySym::XK_asciicircum => 0x005e,
2323 XKeySym::XK_underscore => 0x005f,
2324 XKeySym::XK_grave => 0x0060,
2325 XKeySym::XK_quoteleft => 0x0060,
2326 XKeySym::XK_a => 0x0061,
2327 XKeySym::XK_b => 0x0062,
2328 XKeySym::XK_c => 0x0063,
2329 XKeySym::XK_d => 0x0064,
2330 XKeySym::XK_e => 0x0065,
2331 XKeySym::XK_f => 0x0066,
2332 XKeySym::XK_g => 0x0067,
2333 XKeySym::XK_h => 0x0068,
2334 XKeySym::XK_i => 0x0069,
2335 XKeySym::XK_j => 0x006a,
2336 XKeySym::XK_k => 0x006b,
2337 XKeySym::XK_l => 0x006c,
2338 XKeySym::XK_m => 0x006d,
2339 XKeySym::XK_n => 0x006e,
2340 XKeySym::XK_o => 0x006f,
2341 XKeySym::XK_p => 0x0070,
2342 XKeySym::XK_q => 0x0071,
2343 XKeySym::XK_r => 0x0072,
2344 XKeySym::XK_s => 0x0073,
2345 XKeySym::XK_t => 0x0074,
2346 XKeySym::XK_u => 0x0075,
2347 XKeySym::XK_v => 0x0076,
2348 XKeySym::XK_w => 0x0077,
2349 XKeySym::XK_x => 0x0078,
2350 XKeySym::XK_y => 0x0079,
2351 XKeySym::XK_z => 0x007a,
2352 XKeySym::XK_braceleft => 0x007b,
2353 XKeySym::XK_bar => 0x007c,
2354 XKeySym::XK_braceright => 0x007d,
2355 XKeySym::XK_asciitilde => 0x007e,
2356 XKeySym::XK_nobreakspace => 0x00a0,
2357 XKeySym::XK_exclamdown => 0x00a1,
2358 XKeySym::XK_cent => 0x00a2,
2359 XKeySym::XK_sterling => 0x00a3,
2360 XKeySym::XK_currency => 0x00a4,
2361 XKeySym::XK_yen => 0x00a5,
2362 XKeySym::XK_brokenbar => 0x00a6,
2363 XKeySym::XK_section => 0x00a7,
2364 XKeySym::XK_diaeresis => 0x00a8,
2365 XKeySym::XK_copyright => 0x00a9,
2366 XKeySym::XK_ordfeminine => 0x00aa,
2367 XKeySym::XK_guillemotleft => 0x00ab,
2368 XKeySym::XK_notsign => 0x00ac,
2369 XKeySym::XK_hyphen => 0x00ad,
2370 XKeySym::XK_registered => 0x00ae,
2371 XKeySym::XK_macron => 0x00af,
2372 XKeySym::XK_degree => 0x00b0,
2373 XKeySym::XK_plusminus => 0x00b1,
2374 XKeySym::XK_acute => 0x00b4,
2375 XKeySym::XK_mu => 0x00b5,
2376 XKeySym::XK_paragraph => 0x00b6,
2377 XKeySym::XK_periodcentered => 0x00b7,
2378 XKeySym::XK_cedilla => 0x00b8,
2379 XKeySym::XK_masculine => 0x00ba,
2380 XKeySym::XK_guillemotright => 0x00bb,
2381 XKeySym::XK_onequarter => 0x00bc,
2382 XKeySym::XK_onehalf => 0x00bd,
2383 XKeySym::XK_threequarters => 0x00be,
2384 XKeySym::XK_questiondown => 0x00bf,
2385 XKeySym::XK_Aacute => 0x00c1,
2386 XKeySym::XK_Atilde => 0x00c3,
2387 XKeySym::XK_Adiaeresis => 0x00c4,
2388 XKeySym::XK_Aring => 0x00c5,
2389 XKeySym::XK_AE => 0x00c6,
2390 XKeySym::XK_Ccedilla => 0x00c7,
2391 XKeySym::XK_Eacute => 0x00c9,
2392 XKeySym::XK_Ediaeresis => 0x00cb,
2393 XKeySym::XK_Iacute => 0x00cd,
2394 XKeySym::XK_Idiaeresis => 0x00cf,
2395 XKeySym::XK_ETH => 0x00d0,
2396 XKeySym::XK_Eth => 0x00d0,
2397 XKeySym::XK_Ntilde => 0x00d1,
2398 XKeySym::XK_Oacute => 0x00d3,
2399 XKeySym::XK_Otilde => 0x00d5,
2400 XKeySym::XK_Odiaeresis => 0x00d6,
2401 XKeySym::XK_multiply => 0x00d7,
2402 XKeySym::XK_Oslash => 0x00d8,
2403 XKeySym::XK_Ooblique => 0x00d8,
2404 XKeySym::XK_Uacute => 0x00da,
2405 XKeySym::XK_Udiaeresis => 0x00dc,
2406 XKeySym::XK_Yacute => 0x00dd,
2407 XKeySym::XK_ssharp => 0x00df,
2408 XKeySym::XK_aacute => 0x00e1,
2409 XKeySym::XK_atilde => 0x00e3,
2410 XKeySym::XK_adiaeresis => 0x00e4,
2411 XKeySym::XK_aring => 0x00e5,
2412 XKeySym::XK_ae => 0x00e6,
2413 XKeySym::XK_ccedilla => 0x00e7,
2414 XKeySym::XK_eacute => 0x00e9,
2415 XKeySym::XK_ediaeresis => 0x00eb,
2416 XKeySym::XK_iacute => 0x00ed,
2417 XKeySym::XK_idiaeresis => 0x00ef,
2418 XKeySym::XK_eth => 0x00f0,
2419 XKeySym::XK_ntilde => 0x00f1,
2420 XKeySym::XK_oacute => 0x00f3,
2421 XKeySym::XK_otilde => 0x00f5,
2422 XKeySym::XK_odiaeresis => 0x00f6,
2423 XKeySym::XK_division => 0x00f7,
2424 XKeySym::XK_oslash => 0x00f8,
2425 XKeySym::XK_ooblique => 0x00f8,
2426 XKeySym::XK_uacute => 0x00fa,
2427 XKeySym::XK_udiaeresis => 0x00fc,
2428 XKeySym::XK_yacute => 0x00fd,
2429 XKeySym::XK_ydiaeresis => 0x00ff,
2430 XKeySym::XK_Aogonek => 0x01a1,
2431 XKeySym::XK_breve => 0x01a2,
2432 XKeySym::XK_Lstroke => 0x01a3,
2433 XKeySym::XK_Lcaron => 0x01a5,
2434 XKeySym::XK_Sacute => 0x01a6,
2435 XKeySym::XK_Scaron => 0x01a9,
2436 XKeySym::XK_Scedilla => 0x01aa,
2437 XKeySym::XK_Tcaron => 0x01ab,
2438 XKeySym::XK_Zacute => 0x01ac,
2439 XKeySym::XK_Zcaron => 0x01ae,
2440 XKeySym::XK_aogonek => 0x01b1,
2441 XKeySym::XK_ogonek => 0x01b2,
2442 XKeySym::XK_lstroke => 0x01b3,
2443 XKeySym::XK_lcaron => 0x01b5,
2444 XKeySym::XK_sacute => 0x01b6,
2445 XKeySym::XK_caron => 0x01b7,
2446 XKeySym::XK_scaron => 0x01b9,
2447 XKeySym::XK_scedilla => 0x01ba,
2448 XKeySym::XK_tcaron => 0x01bb,
2449 XKeySym::XK_zacute => 0x01bc,
2450 XKeySym::XK_doubleacute => 0x01bd,
2451 XKeySym::XK_zcaron => 0x01be,
2452 XKeySym::XK_Racute => 0x01c0,
2453 XKeySym::XK_Abreve => 0x01c3,
2454 XKeySym::XK_Lacute => 0x01c5,
2455 XKeySym::XK_Cacute => 0x01c6,
2456 XKeySym::XK_Ccaron => 0x01c8,
2457 XKeySym::XK_Eogonek => 0x01ca,
2458 XKeySym::XK_Ecaron => 0x01cc,
2459 XKeySym::XK_Dcaron => 0x01cf,
2460 XKeySym::XK_Dstroke => 0x01d0,
2461 XKeySym::XK_Nacute => 0x01d1,
2462 XKeySym::XK_Ncaron => 0x01d2,
2463 XKeySym::XK_Odoubleacute => 0x01d5,
2464 XKeySym::XK_Rcaron => 0x01d8,
2465 XKeySym::XK_Uring => 0x01d9,
2466 XKeySym::XK_Udoubleacute => 0x01db,
2467 XKeySym::XK_Tcedilla => 0x01de,
2468 XKeySym::XK_racute => 0x01e0,
2469 XKeySym::XK_abreve => 0x01e3,
2470 XKeySym::XK_lacute => 0x01e5,
2471 XKeySym::XK_cacute => 0x01e6,
2472 XKeySym::XK_ccaron => 0x01e8,
2473 XKeySym::XK_eogonek => 0x01ea,
2474 XKeySym::XK_ecaron => 0x01ec,
2475 XKeySym::XK_dcaron => 0x01ef,
2476 XKeySym::XK_dstroke => 0x01f0,
2477 XKeySym::XK_nacute => 0x01f1,
2478 XKeySym::XK_ncaron => 0x01f2,
2479 XKeySym::XK_odoubleacute => 0x01f5,
2480 XKeySym::XK_rcaron => 0x01f8,
2481 XKeySym::XK_uring => 0x01f9,
2482 XKeySym::XK_udoubleacute => 0x01fb,
2483 XKeySym::XK_tcedilla => 0x01fe,
2484 XKeySym::XK_Hstroke => 0x02a1,
2485 XKeySym::XK_Gbreve => 0x02ab,
2486 XKeySym::XK_hstroke => 0x02b1,
2487 XKeySym::XK_idotless => 0x02b9,
2488 XKeySym::XK_gbreve => 0x02bb,
2489 XKeySym::XK_Ubreve => 0x02dd,
2490 XKeySym::XK_ubreve => 0x02fd,
2491 XKeySym::XK_kra => 0x03a2,
2492 XKeySym::XK_kappa => 0x03a2,
2493 XKeySym::XK_Rcedilla => 0x03a3,
2494 XKeySym::XK_Itilde => 0x03a5,
2495 XKeySym::XK_Lcedilla => 0x03a6,
2496 XKeySym::XK_Emacron => 0x03aa,
2497 XKeySym::XK_Gcedilla => 0x03ab,
2498 XKeySym::XK_Tslash => 0x03ac,
2499 XKeySym::XK_rcedilla => 0x03b3,
2500 XKeySym::XK_itilde => 0x03b5,
2501 XKeySym::XK_lcedilla => 0x03b6,
2502 XKeySym::XK_emacron => 0x03ba,
2503 XKeySym::XK_gcedilla => 0x03bb,
2504 XKeySym::XK_tslash => 0x03bc,
2505 XKeySym::XK_ENG => 0x03bd,
2506 XKeySym::XK_eng => 0x03bf,
2507 XKeySym::XK_Amacron => 0x03c0,
2508 XKeySym::XK_Iogonek => 0x03c7,
2509 XKeySym::XK_Imacron => 0x03cf,
2510 XKeySym::XK_Ncedilla => 0x03d1,
2511 XKeySym::XK_Omacron => 0x03d2,
2512 XKeySym::XK_Kcedilla => 0x03d3,
2513 XKeySym::XK_Uogonek => 0x03d9,
2514 XKeySym::XK_Utilde => 0x03dd,
2515 XKeySym::XK_Umacron => 0x03de,
2516 XKeySym::XK_amacron => 0x03e0,
2517 XKeySym::XK_iogonek => 0x03e7,
2518 XKeySym::XK_imacron => 0x03ef,
2519 XKeySym::XK_ncedilla => 0x03f1,
2520 XKeySym::XK_omacron => 0x03f2,
2521 XKeySym::XK_kcedilla => 0x03f3,
2522 XKeySym::XK_uogonek => 0x03f9,
2523 XKeySym::XK_utilde => 0x03fd,
2524 XKeySym::XK_umacron => 0x03fe,
2525 XKeySym::XK_Wacute => 0x1001e82,
2526 XKeySym::XK_wacute => 0x1001e83,
2527 XKeySym::XK_Wdiaeresis => 0x1001e84,
2528 XKeySym::XK_wdiaeresis => 0x1001e85,
2529 XKeySym::XK_OE => 0x13bc,
2530 XKeySym::XK_oe => 0x13bd,
2531 XKeySym::XK_Ydiaeresis => 0x13be,
2532 XKeySym::XK_overline => 0x047e,
2533 XKeySym::XK_prolongedsound => 0x04b0,
2534 XKeySym::XK_voicedsound => 0x04de,
2535 XKeySym::XK_semivoicedsound => 0x04df,
2536 XKeySym::XK_numerosign => 0x06b0,
2537 XKeySym::XK_leftradical => 0x08a1,
2538 XKeySym::XK_topleftradical => 0x08a2,
2539 XKeySym::XK_horizconnector => 0x08a3,
2540 XKeySym::XK_topintegral => 0x08a4,
2541 XKeySym::XK_botintegral => 0x08a5,
2542 XKeySym::XK_vertconnector => 0x08a6,
2543 XKeySym::XK_topleftsqbracket => 0x08a7,
2544 XKeySym::XK_botleftsqbracket => 0x08a8,
2545 XKeySym::XK_toprightsqbracket => 0x08a9,
2546 XKeySym::XK_botrightsqbracket => 0x08aa,
2547 XKeySym::XK_topleftparens => 0x08ab,
2548 XKeySym::XK_botleftparens => 0x08ac,
2549 XKeySym::XK_toprightparens => 0x08ad,
2550 XKeySym::XK_botrightparens => 0x08ae,
2551 XKeySym::XK_leftmiddlecurlybrace => 0x08af,
2552 XKeySym::XK_rightmiddlecurlybrace => 0x08b0,
2553 XKeySym::XK_lessthanequal => 0x08bc,
2554 XKeySym::XK_notequal => 0x08bd,
2555 XKeySym::XK_greaterthanequal => 0x08be,
2556 XKeySym::XK_integral => 0x08bf,
2557 XKeySym::XK_therefore => 0x08c0,
2558 XKeySym::XK_variation => 0x08c1,
2559 XKeySym::XK_infinity => 0x08c2,
2560 XKeySym::XK_nabla => 0x08c5,
2561 XKeySym::XK_approximate => 0x08c8,
2562 XKeySym::XK_similarequal => 0x08c9,
2563 XKeySym::XK_ifonlyif => 0x08cd,
2564 XKeySym::XK_implies => 0x08ce,
2565 XKeySym::XK_identical => 0x08cf,
2566 XKeySym::XK_radical => 0x08d6,
2567 XKeySym::XK_includedin => 0x08da,
2568 XKeySym::XK_includes => 0x08db,
2569 XKeySym::XK_intersection => 0x08dc,
2570 XKeySym::XK_union => 0x08dd,
2571 XKeySym::XK_logicaland => 0x08de,
2572 XKeySym::XK_logicalor => 0x08df,
2573 XKeySym::XK_partialderivative => 0x08ef,
2574 XKeySym::XK_function => 0x08f6,
2575 XKeySym::XK_leftarrow => 0x08fb,
2576 XKeySym::XK_uparrow => 0x08fc,
2577 XKeySym::XK_rightarrow => 0x08fd,
2578 XKeySym::XK_downarrow => 0x08fe,
2579 XKeySym::XK_blank => 0x09df,
2580 XKeySym::XK_soliddiamond => 0x09e0,
2581 XKeySym::XK_checkerboard => 0x09e1,
2582 XKeySym::XK_ht => 0x09e2,
2583 XKeySym::XK_ff => 0x09e3,
2584 XKeySym::XK_cr => 0x09e4,
2585 XKeySym::XK_lf => 0x09e5,
2586 XKeySym::XK_nl => 0x09e8,
2587 XKeySym::XK_vt => 0x09e9,
2588 XKeySym::XK_lowrightcorner => 0x09ea,
2589 XKeySym::XK_uprightcorner => 0x09eb,
2590 XKeySym::XK_upleftcorner => 0x09ec,
2591 XKeySym::XK_lowleftcorner => 0x09ed,
2592 XKeySym::XK_crossinglines => 0x09ee,
2593 XKeySym::XK_leftt => 0x09f4,
2594 XKeySym::XK_rightt => 0x09f5,
2595 XKeySym::XK_bott => 0x09f6,
2596 XKeySym::XK_topt => 0x09f7,
2597 XKeySym::XK_vertbar => 0x09f8,
2598 XKeySym::XK_emspace => 0x0aa1,
2599 XKeySym::XK_enspace => 0x0aa2,
2600 XKeySym::XK_em3space => 0x0aa3,
2601 XKeySym::XK_em4space => 0x0aa4,
2602 XKeySym::XK_digitspace => 0x0aa5,
2603 XKeySym::XK_punctspace => 0x0aa6,
2604 XKeySym::XK_thinspace => 0x0aa7,
2605 XKeySym::XK_hairspace => 0x0aa8,
2606 XKeySym::XK_emdash => 0x0aa9,
2607 XKeySym::XK_endash => 0x0aaa,
2608 XKeySym::XK_signifblank => 0x0aac,
2609 XKeySym::XK_ellipsis => 0x0aae,
2610 XKeySym::XK_doubbaselinedot => 0x0aaf,
2611 XKeySym::XK_onethird => 0x0ab0,
2612 XKeySym::XK_twothirds => 0x0ab1,
2613 XKeySym::XK_onefifth => 0x0ab2,
2614 XKeySym::XK_twofifths => 0x0ab3,
2615 XKeySym::XK_threefifths => 0x0ab4,
2616 XKeySym::XK_fourfifths => 0x0ab5,
2617 XKeySym::XK_onesixth => 0x0ab6,
2618 XKeySym::XK_fivesixths => 0x0ab7,
2619 XKeySym::XK_careof => 0x0ab8,
2620 XKeySym::XK_figdash => 0x0abb,
2621 XKeySym::XK_leftanglebracket => 0x0abc,
2622 XKeySym::XK_decimalpoint => 0x0abd,
2623 XKeySym::XK_rightanglebracket => 0x0abe,
2624 XKeySym::XK_marker => 0x0abf,
2625 XKeySym::XK_oneeighth => 0x0ac3,
2626 XKeySym::XK_threeeighths => 0x0ac4,
2627 XKeySym::XK_fiveeighths => 0x0ac5,
2628 XKeySym::XK_seveneighths => 0x0ac6,
2629 XKeySym::XK_trademark => 0x0ac9,
2630 XKeySym::XK_signaturemark => 0x0aca,
2631 XKeySym::XK_leftopentriangle => 0x0acc,
2632 XKeySym::XK_rightopentriangle => 0x0acd,
2633 XKeySym::XK_emopenrectangle => 0x0acf,
2634 XKeySym::XK_leftsinglequotemark => 0x0ad0,
2635 XKeySym::XK_rightsinglequotemark => 0x0ad1,
2636 XKeySym::XK_leftdoublequotemark => 0x0ad2,
2637 XKeySym::XK_rightdoublequotemark => 0x0ad3,
2638 XKeySym::XK_prescription => 0x0ad4,
2639 XKeySym::XK_permille => 0x0ad5,
2640 XKeySym::XK_minutes => 0x0ad6,
2641 XKeySym::XK_seconds => 0x0ad7,
2642 XKeySym::XK_latincross => 0x0ad9,
2643 XKeySym::XK_hexagram => 0x0ada,
2644 XKeySym::XK_emfilledrect => 0x0adf,
2645 XKeySym::XK_openstar => 0x0ae5,
2646 XKeySym::XK_leftpointer => 0x0aea,
2647 XKeySym::XK_rightpointer => 0x0aeb,
2648 XKeySym::XK_club => 0x0aec,
2649 XKeySym::XK_diamond => 0x0aed,
2650 XKeySym::XK_heart => 0x0aee,
2651 XKeySym::XK_maltesecross => 0x0af0,
2652 XKeySym::XK_dagger => 0x0af1,
2653 XKeySym::XK_doubledagger => 0x0af2,
2654 XKeySym::XK_checkmark => 0x0af3,
2655 XKeySym::XK_ballotcross => 0x0af4,
2656 XKeySym::XK_musicalsharp => 0x0af5,
2657 XKeySym::XK_musicalflat => 0x0af6,
2658 XKeySym::XK_malesymbol => 0x0af7,
2659 XKeySym::XK_femalesymbol => 0x0af8,
2660 XKeySym::XK_telephone => 0x0af9,
2661 XKeySym::XK_telephonerecorder => 0x0afa,
2662 XKeySym::XK_phonographcopyright => 0x0afb,
2663 XKeySym::XK_caret => 0x0afc,
2664 XKeySym::XK_singlelowquotemark => 0x0afd,
2665 XKeySym::XK_doublelowquotemark => 0x0afe,
2666 XKeySym::XK_cursor => 0x0aff,
2667 XKeySym::XK_leftcaret => 0x0ba3,
2668 XKeySym::XK_rightcaret => 0x0ba6,
2669 XKeySym::XK_downcaret => 0x0ba8,
2670 XKeySym::XK_upcaret => 0x0ba9,
2671 XKeySym::XK_overbar => 0x0bc0,
2672 XKeySym::XK_downtack => 0x0bc2,
2673 XKeySym::XK_upshoe => 0x0bc3,
2674 XKeySym::XK_downstile => 0x0bc4,
2675 XKeySym::XK_underbar => 0x0bc6,
2676 XKeySym::XK_jot => 0x0bca,
2677 XKeySym::XK_quad => 0x0bcc,
2678 XKeySym::XK_uptack => 0x0bce,
2679 XKeySym::XK_upstile => 0x0bd3,
2680 XKeySym::XK_downshoe => 0x0bd6,
2681 XKeySym::XK_rightshoe => 0x0bd8,
2682 XKeySym::XK_leftshoe => 0x0bda,
2683 XKeySym::XK_lefttack => 0x0bdc,
2684 XKeySym::XK_righttack => 0x0bfc,
2685 XKeySym::XK_Korean_Won => 0x0eff,
2686 XKeySym::XK_Ibreve => 0x100012c,
2687 XKeySym::XK_Zstroke => 0x10001b5,
2688 XKeySym::XK_Gcaron => 0x10001e6,
2689 XKeySym::XK_Ocaron => 0x10001d1,
2690 XKeySym::XK_Obarred => 0x100019f,
2691 XKeySym::XK_ibreve => 0x100012d,
2692 XKeySym::XK_zstroke => 0x10001b6,
2693 XKeySym::XK_gcaron => 0x10001e7,
2694 XKeySym::XK_ocaron => 0x10001d2,
2695 XKeySym::XK_obarred => 0x1000275,
2696 XKeySym::XK_SCHWA => 0x100018f,
2697 XKeySym::XK_schwa => 0x1000259,
2698 XKeySym::XK_EZH => 0x10001b7,
2699 XKeySym::XK_ezh => 0x1000292,
2700 XKeySym::XK_Abreveacute => 0x1001eae,
2701 XKeySym::XK_abreveacute => 0x1001eaf,
2702 XKeySym::XK_Abrevetilde => 0x1001eb4,
2703 XKeySym::XK_abrevetilde => 0x1001eb5,
2704 XKeySym::XK_Etilde => 0x1001ebc,
2705 XKeySym::XK_etilde => 0x1001ebd,
2706 XKeySym::XK_Ytilde => 0x1001ef8,
2707 XKeySym::XK_ytilde => 0x1001ef9,
2708 XKeySym::XK_EcuSign => 0x10020a0,
2709 XKeySym::XK_ColonSign => 0x10020a1,
2710 XKeySym::XK_CruzeiroSign => 0x10020a2,
2711 XKeySym::XK_FFrancSign => 0x10020a3,
2712 XKeySym::XK_LiraSign => 0x10020a4,
2713 XKeySym::XK_MillSign => 0x10020a5,
2714 XKeySym::XK_NairaSign => 0x10020a6,
2715 XKeySym::XK_PesetaSign => 0x10020a7,
2716 XKeySym::XK_RupeeSign => 0x10020a8,
2717 XKeySym::XK_WonSign => 0x10020a9,
2718 XKeySym::XK_NewSheqelSign => 0x10020aa,
2719 XKeySym::XK_DongSign => 0x10020ab,
2720 XKeySym::XK_EuroSign => 0x20ac,
2721 XKeySym::XF86XK_MonBrightnessUp => 0x1008FF02,
2722 XKeySym::XF86XK_MonBrightnessDown => 0x1008FF03,
2723 XKeySym::XF86XK_KbdLightOnOff => 0x1008FF04,
2724 XKeySym::XF86XK_KbdBrightnessUp => 0x1008FF05,
2725 XKeySym::XF86XK_KbdBrightnessDown => 0x1008FF06,
2726 XKeySym::XF86XK_MonBrightnessCycle => 0x1008FF07,
2727 XKeySym::XF86XK_Standby => 0x1008FF10,
2728 XKeySym::XF86XK_AudioLowerVolume => 0x1008FF11,
2729 XKeySym::XF86XK_AudioMute => 0x1008FF12,
2730 XKeySym::XF86XK_AudioRaiseVolume => 0x1008FF13,
2731 XKeySym::XF86XK_AudioPlay => 0x1008FF14,
2732 XKeySym::XF86XK_AudioStop => 0x1008FF15,
2733 XKeySym::XF86XK_AudioPrev => 0x1008FF16,
2734 XKeySym::XF86XK_AudioNext => 0x1008FF17,
2735 XKeySym::XF86XK_AudioMicMute => 0x1008FF18,
2736 XKeySym::XF86XK_DisplayOff => 0x1008FF19,
2737 XKeySym::XF86XK_TouchpadToggle => 0x1008FF1A,
2738 XKeySym::XF86XK_Calculator => 0x1008FF1D,
2739 } as u32)
2740 .to_le_bytes()
2741 .iter()
2742 .copied()
2743 .filter(|&b| b > 0)
2744 .collect(),
2745 )
2746 }
2747}