Documentation ¶
Overview ¶
Package xkbcommon wraps the libxkbcommon library.
libxkbcommon is a keyboard keymap compiler and support library which processes a reduced subset of keymaps as defined by the XKB (X Keyboard Extension) specification. It also contains a module for handling Compose and dead keys.
Index ¶
- Constants
- func ComposeStateUnref(*ComposeState)
- func ComposeTableUnref(*ComposeTable)
- func ContextUnref(*Context)
- func KeymapUnref(*Keymap)
- func KeysymToUtf32(keysym uint32) uint32
- func StateUnref(*State)
- type ComposeFeedResult
- type ComposeState
- type ComposeStatus
- type ComposeTable
- type Context
- type Keymap
- type State
- type StateComponent
Constants ¶
const ComposeCompileNoFlags = 0
ComposeCompileNoFlags provides no flags for compose compile.
const ComposeFormatTextV1 = 1
ComposeFormatTextV1 is the classic libX11 Compose text format, described in Compose(5).
const ComposeStateNoFlags = 0
ComposeStateNoFlags provides no flags for compose state.
const ContextNoFlags = 0
ContextNoFlags provides no flags for the context.
const KEYa uint32 = 0x0061 /* U+0061 LATIN SMALL LETTER A */
const KEYaacute uint32 = 0x00e1 /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */
const KEYabreve uint32 = 0x01e3 /* U+0103 LATIN SMALL LETTER A WITH BREVE */
const KEYacircumflex uint32 = 0x00e2 /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */
const KEYadiaeresis uint32 = 0x00e4 /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */
const KEYae uint32 = 0x00e6 /* U+00E6 LATIN SMALL LETTER AE */
const KEYagrave uint32 = 0x00e0 /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */
const KEYamacron uint32 = 0x03e0 /* U+0101 LATIN SMALL LETTER A WITH MACRON */
const KEYaogonek uint32 = 0x01b1 /* U+0105 LATIN SMALL LETTER A WITH OGONEK */
const KEYaring uint32 = 0x00e5 /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */
const KEYatilde uint32 = 0x00e3 /* U+00E3 LATIN SMALL LETTER A WITH TILDE */
const KEYb uint32 = 0x0062 /* U+0062 LATIN SMALL LETTER B */
const KEYc uint32 = 0x0063 /* U+0063 LATIN SMALL LETTER C */
const KEYcabovedot uint32 = 0x02e5 /* U+010B LATIN SMALL LETTER C WITH DOT ABOVE */
const KEYcacute uint32 = 0x01e6 /* U+0107 LATIN SMALL LETTER C WITH ACUTE */
const KEYcaron uint32 = 0x01b7 /* U+02C7 CARON */
const KEYccaron uint32 = 0x01e8 /* U+010D LATIN SMALL LETTER C WITH CARON */
const KEYccedilla uint32 = 0x00e7 /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */
const KEYccircumflex uint32 = 0x02e6 /* U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX */
const KEYd uint32 = 0x0064 /* U+0064 LATIN SMALL LETTER D */
const KEYdcaron uint32 = 0x01ef /* U+010F LATIN SMALL LETTER D WITH CARON */
const KEYdivision uint32 = 0x00f7 /* U+00F7 DIVISION SIGN */
const KEYdoubleacute uint32 = 0x01bd /* U+02DD DOUBLE ACUTE ACCENT */
const KEYdstroke uint32 = 0x01f0 /* U+0111 LATIN SMALL LETTER D WITH STROKE */
const KEYe uint32 = 0x0065 /* U+0065 LATIN SMALL LETTER E */
const KEYeabovedot uint32 = 0x03ec /* U+0117 LATIN SMALL LETTER E WITH DOT ABOVE */
const KEYeacute uint32 = 0x00e9 /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
const KEYecaron uint32 = 0x01ec /* U+011B LATIN SMALL LETTER E WITH CARON */
const KEYecircumflex uint32 = 0x00ea /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */
const KEYediaeresis uint32 = 0x00eb /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */
const KEYegrave uint32 = 0x00e8 /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */
const KEYemacron uint32 = 0x03ba /* U+0113 LATIN SMALL LETTER E WITH MACRON */
const KEYeng uint32 = 0x03bf /* U+014B LATIN SMALL LETTER ENG */
const KEYeogonek uint32 = 0x01ea /* U+0119 LATIN SMALL LETTER E WITH OGONEK */
const KEYeth uint32 = 0x00f0 /* U+00F0 LATIN SMALL LETTER ETH */
const KEYf uint32 = 0x0066 /* U+0066 LATIN SMALL LETTER F */
const KEYg uint32 = 0x0067 /* U+0067 LATIN SMALL LETTER G */
const KEYgabovedot uint32 = 0x02f5 /* U+0121 LATIN SMALL LETTER G WITH DOT ABOVE */
const KEYgbreve uint32 = 0x02bb /* U+011F LATIN SMALL LETTER G WITH BREVE */
const KEYgcedilla uint32 = 0x03bb /* U+0123 LATIN SMALL LETTER G WITH CEDILLA */
const KEYgcircumflex uint32 = 0x02f8 /* U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX */
const KEYh uint32 = 0x0068 /* U+0068 LATIN SMALL LETTER H */
const KEYhcircumflex uint32 = 0x02b6 /* U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX */
const KEYhstroke uint32 = 0x02b1 /* U+0127 LATIN SMALL LETTER H WITH STROKE */
const KEYi uint32 = 0x0069 /* U+0069 LATIN SMALL LETTER I */
const KEYiacute uint32 = 0x00ed /* U+00ED LATIN SMALL LETTER I WITH ACUTE */
const KEYicircumflex uint32 = 0x00ee /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */
const KEYidiaeresis uint32 = 0x00ef /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */
const KEYidotless uint32 = 0x02b9 /* U+0131 LATIN SMALL LETTER DOTLESS I */
const KEYigrave uint32 = 0x00ec /* U+00EC LATIN SMALL LETTER I WITH GRAVE */
const KEYimacron uint32 = 0x03ef /* U+012B LATIN SMALL LETTER I WITH MACRON */
const KEYiogonek uint32 = 0x03e7 /* U+012F LATIN SMALL LETTER I WITH OGONEK */
const KEYitilde uint32 = 0x03b5 /* U+0129 LATIN SMALL LETTER I WITH TILDE */
const KEYj uint32 = 0x006a /* U+006A LATIN SMALL LETTER J */
const KEYjcircumflex uint32 = 0x02bc /* U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX */
const KEYk uint32 = 0x006b /* U+006B LATIN SMALL LETTER K */
const KEYkcedilla uint32 = 0x03f3 /* U+0137 LATIN SMALL LETTER K WITH CEDILLA */
const KEYkra uint32 = 0x03a2 /* U+0138 LATIN SMALL LETTER KRA */
const KEYl uint32 = 0x006c /* U+006C LATIN SMALL LETTER L */
const KEYlacute uint32 = 0x01e5 /* U+013A LATIN SMALL LETTER L WITH ACUTE */
const KEYlcaron uint32 = 0x01b5 /* U+013E LATIN SMALL LETTER L WITH CARON */
const KEYlcedilla uint32 = 0x03b6 /* U+013C LATIN SMALL LETTER L WITH CEDILLA */
const KEYlstroke uint32 = 0x01b3 /* U+0142 LATIN SMALL LETTER L WITH STROKE */
const KEYm uint32 = 0x006d /* U+006D LATIN SMALL LETTER M */
const KEYn uint32 = 0x006e /* U+006E LATIN SMALL LETTER N */
const KEYnacute uint32 = 0x01f1 /* U+0144 LATIN SMALL LETTER N WITH ACUTE */
const KEYncaron uint32 = 0x01f2 /* U+0148 LATIN SMALL LETTER N WITH CARON */
const KEYncedilla uint32 = 0x03f1 /* U+0146 LATIN SMALL LETTER N WITH CEDILLA */
const KEYntilde uint32 = 0x00f1 /* U+00F1 LATIN SMALL LETTER N WITH TILDE */
const KEYo uint32 = 0x006f /* U+006F LATIN SMALL LETTER O */
const KEYoacute uint32 = 0x00f3 /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */
const KEYocircumflex uint32 = 0x00f4 /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */
const KEYodiaeresis uint32 = 0x00f6 /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */
const KEYodoubleacute uint32 = 0x01f5 /* U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE */
const KEYoe uint32 = 0x13bd /* U+0153 LATIN SMALL LIGATURE OE */
const KEYogonek uint32 = 0x01b2 /* U+02DB OGONEK */
const KEYograve uint32 = 0x00f2 /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */
const KEYomacron uint32 = 0x03f2 /* U+014D LATIN SMALL LETTER O WITH MACRON */
const KEYooblique uint32 = 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
const KEYoslash uint32 = 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
const KEYotilde uint32 = 0x00f5 /* U+00F5 LATIN SMALL LETTER O WITH TILDE */
const KEYp uint32 = 0x0070 /* U+0070 LATIN SMALL LETTER P */
const KEYq uint32 = 0x0071 /* U+0071 LATIN SMALL LETTER Q */
const KEYr uint32 = 0x0072 /* U+0072 LATIN SMALL LETTER R */
const KEYracute uint32 = 0x01e0 /* U+0155 LATIN SMALL LETTER R WITH ACUTE */
const KEYrcaron uint32 = 0x01f8 /* U+0159 LATIN SMALL LETTER R WITH CARON */
const KEYrcedilla uint32 = 0x03b3 /* U+0157 LATIN SMALL LETTER R WITH CEDILLA */
const KEYs uint32 = 0x0073 /* U+0073 LATIN SMALL LETTER S */
const KEYsacute uint32 = 0x01b6 /* U+015B LATIN SMALL LETTER S WITH ACUTE */
const KEYscaron uint32 = 0x01b9 /* U+0161 LATIN SMALL LETTER S WITH CARON */
const KEYscedilla uint32 = 0x01ba /* U+015F LATIN SMALL LETTER S WITH CEDILLA */
const KEYscircumflex uint32 = 0x02fe /* U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX */
const KEYssharp uint32 = 0x00df /* U+00DF LATIN SMALL LETTER SHARP S */
const KEYt uint32 = 0x0074 /* U+0074 LATIN SMALL LETTER T */
const KEYtcaron uint32 = 0x01bb /* U+0165 LATIN SMALL LETTER T WITH CARON */
const KEYtcedilla uint32 = 0x01fe /* U+0163 LATIN SMALL LETTER T WITH CEDILLA */
const KEYthorn uint32 = 0x00fe /* U+00FE LATIN SMALL LETTER THORN */
const KEYtslash uint32 = 0x03bc /* U+0167 LATIN SMALL LETTER T WITH STROKE */
const KEYu uint32 = 0x0075 /* U+0075 LATIN SMALL LETTER U */
const KEYuacute uint32 = 0x00fa /* U+00FA LATIN SMALL LETTER U WITH ACUTE */
const KEYubreve uint32 = 0x02fd /* U+016D LATIN SMALL LETTER U WITH BREVE */
const KEYucircumflex uint32 = 0x00fb /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */
const KEYudiaeresis uint32 = 0x00fc /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */
const KEYudoubleacute uint32 = 0x01fb /* U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE */
const KEYugrave uint32 = 0x00f9 /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */
const KEYumacron uint32 = 0x03fe /* U+016B LATIN SMALL LETTER U WITH MACRON */
const KEYuogonek uint32 = 0x03f9 /* U+0173 LATIN SMALL LETTER U WITH OGONEK */
const KEYuring uint32 = 0x01f9 /* U+016F LATIN SMALL LETTER U WITH RING ABOVE */
const KEYutilde uint32 = 0x03fd /* U+0169 LATIN SMALL LETTER U WITH TILDE */
const KEYv uint32 = 0x0076 /* U+0076 LATIN SMALL LETTER V */
const KEYw uint32 = 0x0077 /* U+0077 LATIN SMALL LETTER W */
const KEYx uint32 = 0x0078 /* U+0078 LATIN SMALL LETTER X */
const KEYy uint32 = 0x0079 /* U+0079 LATIN SMALL LETTER Y */
const KEYyacute uint32 = 0x00fd /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */
const KEYydiaeresis uint32 = 0x00ff /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
const KEYz uint32 = 0x007a /* U+007A LATIN SMALL LETTER Z */
const KEYzabovedot uint32 = 0x01bf /* U+017C LATIN SMALL LETTER Z WITH DOT ABOVE */
const KEYzacute uint32 = 0x01bc /* U+017A LATIN SMALL LETTER Z WITH ACUTE */
const KEYzcaron uint32 = 0x01be /* U+017E LATIN SMALL LETTER Z WITH CARON */
const Key0 uint32 = 0x0030 /* U+0030 DIGIT ZERO */
const Key1 uint32 = 0x0031 /* U+0031 DIGIT ONE */
const Key2 uint32 = 0x0032 /* U+0032 DIGIT TWO */
const Key3 uint32 = 0x0033 /* U+0033 DIGIT THREE */
const Key3270Altcursor uint32 = 0xfd10
const Key3270Attn uint32 = 0xfd0e
const Key3270Backtab uint32 = 0xfd05
const Key3270Changescreen uint32 = 0xfd19
const Key3270Copy uint32 = 0xfd15
const Key3270Cursorblink uint32 = 0xfd0f
const Key3270Cursorselect uint32 = 0xfd1c
const Key3270Deleteword uint32 = 0xfd1a
const Key3270Duplicate uint32 = 0xfd01
const Key3270Enter uint32 = 0xfd1e
const Key3270Eraseeof uint32 = 0xfd06
const Key3270Eraseinput uint32 = 0xfd07
const Key3270Exselect uint32 = 0xfd1b
const Key3270Fieldmark uint32 = 0xfd02
const Key3270Ident uint32 = 0xfd13
const Key3270Jump uint32 = 0xfd12
const Key3270Keyclick uint32 = 0xfd11
const Key3270Left2 uint32 = 0xfd04
const Key3270Pa1 uint32 = 0xfd0a
const Key3270Pa2 uint32 = 0xfd0b
const Key3270Pa3 uint32 = 0xfd0c
const Key3270Play uint32 = 0xfd16
const Key3270Printscreen uint32 = 0xfd1d
const Key3270Quit uint32 = 0xfd09
const Key3270Record uint32 = 0xfd18
const Key3270Reset uint32 = 0xfd08
const Key3270Right2 uint32 = 0xfd03
const Key3270Rule uint32 = 0xfd14
const Key3270Setup uint32 = 0xfd17
const Key3270Test uint32 = 0xfd0d
const Key4 uint32 = 0x0034 /* U+0034 DIGIT FOUR */
const Key5 uint32 = 0x0035 /* U+0035 DIGIT FIVE */
const Key6 uint32 = 0x0036 /* U+0036 DIGIT SIX */
const Key7 uint32 = 0x0037 /* U+0037 DIGIT SEVEN */
const Key8 uint32 = 0x0038 /* U+0038 DIGIT EIGHT */
const Key9 uint32 = 0x0039 /* U+0039 DIGIT NINE */
const KeyA uint32 = 0x0041 /* U+0041 LATIN CAPITAL LETTER A */
const KeyAE uint32 = 0x00c6 /* U+00C6 LATIN CAPITAL LETTER AE */
const KeyAacute uint32 = 0x00c1 /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */
const KeyAbelowdot uint32 = 0x1001ea0 /* U+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW */
const KeyAbreve uint32 = 0x01c3 /* U+0102 LATIN CAPITAL LETTER A WITH BREVE */
const KeyAbreveacute uint32 = 0x1001eae /* U+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE */
const KeyAbrevebelowdot uint32 = 0x1001eb6 /* U+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */
const KeyAbrevegrave uint32 = 0x1001eb0 /* U+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE */
const KeyAbrevehook uint32 = 0x1001eb2 /* U+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE */
const KeyAbrevetilde uint32 = 0x1001eb4 /* U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE */
const KeyAccessxEnable uint32 = 0xfe70
const KeyAccessxFeedbackEnable uint32 = 0xfe71
const KeyAcircumflex uint32 = 0x00c2 /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
const KeyAcircumflexacute uint32 = 0x1001ea4 /* U+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE */
const KeyAcircumflexbelowdot uint32 = 0x1001eac /* U+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
const KeyAcircumflexgrave uint32 = 0x1001ea6 /* U+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE */
const KeyAcircumflexhook uint32 = 0x1001ea8 /* U+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
const KeyAcircumflextilde uint32 = 0x1001eaa /* U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE */
const KeyAcute uint32 = 0x00b4 /* U+00B4 ACUTE ACCENT */
const KeyAdiaeresis uint32 = 0x00c4 /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */
const KeyAgrave uint32 = 0x00c0 /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */
const KeyAhook uint32 = 0x1001ea2 /* U+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE */
const KeyAltL uint32 = 0xffe9 /* Left alt */
const KeyAltR uint32 = 0xffea /* Right alt */
const KeyAmacron uint32 = 0x03c0 /* U+0100 LATIN CAPITAL LETTER A WITH MACRON */
const KeyAmpersand uint32 = 0x0026 /* U+0026 AMPERSAND */
const KeyAogonek uint32 = 0x01a1 /* U+0104 LATIN CAPITAL LETTER A WITH OGONEK */
const KeyApostrophe uint32 = 0x0027 /* U+0027 APOSTROPHE */
const KeyApproxeq uint32 = 0x1002248 /* U+2245 ALMOST EQUAL TO */
const KeyApproximate uint32 = 0x08c8 /* U+223C TILDE OPERATOR */
const KeyArabic0 uint32 = 0x1000660 /* U+0660 ARABIC-INDIC DIGIT ZERO */
const KeyArabic1 uint32 = 0x1000661 /* U+0661 ARABIC-INDIC DIGIT ONE */
const KeyArabic2 uint32 = 0x1000662 /* U+0662 ARABIC-INDIC DIGIT TWO */
const KeyArabic3 uint32 = 0x1000663 /* U+0663 ARABIC-INDIC DIGIT THREE */
const KeyArabic4 uint32 = 0x1000664 /* U+0664 ARABIC-INDIC DIGIT FOUR */
const KeyArabic5 uint32 = 0x1000665 /* U+0665 ARABIC-INDIC DIGIT FIVE */
const KeyArabic6 uint32 = 0x1000666 /* U+0666 ARABIC-INDIC DIGIT SIX */
const KeyArabic7 uint32 = 0x1000667 /* U+0667 ARABIC-INDIC DIGIT SEVEN */
const KeyArabic8 uint32 = 0x1000668 /* U+0668 ARABIC-INDIC DIGIT EIGHT */
const KeyArabic9 uint32 = 0x1000669 /* U+0669 ARABIC-INDIC DIGIT NINE */
const KeyArabicAin uint32 = 0x05d9 /* U+0639 ARABIC LETTER AIN */
const KeyArabicAlef uint32 = 0x05c7 /* U+0627 ARABIC LETTER ALEF */
const KeyArabicAlefmaksura uint32 = 0x05e9 /* U+0649 ARABIC LETTER ALEF MAKSURA */
const KeyArabicBeh uint32 = 0x05c8 /* U+0628 ARABIC LETTER BEH */
const KeyArabicComma uint32 = 0x05ac /* U+060C ARABIC COMMA */
const KeyArabicDad uint32 = 0x05d6 /* U+0636 ARABIC LETTER DAD */
const KeyArabicDal uint32 = 0x05cf /* U+062F ARABIC LETTER DAL */
const KeyArabicDamma uint32 = 0x05ef /* U+064F ARABIC DAMMA */
const KeyArabicDammatan uint32 = 0x05ec /* U+064C ARABIC DAMMATAN */
const KeyArabicDdal uint32 = 0x1000688 /* U+0688 ARABIC LETTER DDAL */
const KeyArabicFarsiYeh uint32 = 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
const KeyArabicFatha uint32 = 0x05ee /* U+064E ARABIC FATHA */
const KeyArabicFathatan uint32 = 0x05eb /* U+064B ARABIC FATHATAN */
const KeyArabicFeh uint32 = 0x05e1 /* U+0641 ARABIC LETTER FEH */
const KeyArabicFullstop uint32 = 0x10006d4 /* U+06D4 ARABIC FULL STOP */
const KeyArabicGaf uint32 = 0x10006af /* U+06AF ARABIC LETTER GAF */
const KeyArabicGhain uint32 = 0x05da /* U+063A ARABIC LETTER GHAIN */
const KeyArabicHa uint32 = 0x05e7 /* U+0647 ARABIC LETTER HEH */
const KeyArabicHah uint32 = 0x05cd /* U+062D ARABIC LETTER HAH */
const KeyArabicHamza uint32 = 0x05c1 /* U+0621 ARABIC LETTER HAMZA */
const KeyArabicHamzaAbove uint32 = 0x1000654 /* U+0654 ARABIC HAMZA ABOVE */
const KeyArabicHamzaBelow uint32 = 0x1000655 /* U+0655 ARABIC HAMZA BELOW */
const KeyArabicHamzaonalef uint32 = 0x05c3 /* U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE */
const KeyArabicHamzaonwaw uint32 = 0x05c4 /* U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE */
const KeyArabicHamzaonyeh uint32 = 0x05c6 /* U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE */
const KeyArabicHamzaunderalef uint32 = 0x05c5 /* U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW */
const KeyArabicHehDoachashmee uint32 = 0x10006be /* U+06BE ARABIC LETTER HEH DOACHASHMEE */
const KeyArabicHehGoal uint32 = 0x10006c1 /* U+06C1 ARABIC LETTER HEH GOAL */
const KeyArabicJeem uint32 = 0x05cc /* U+062C ARABIC LETTER JEEM */
const KeyArabicJeh uint32 = 0x1000698 /* U+0698 ARABIC LETTER JEH */
const KeyArabicKaf uint32 = 0x05e3 /* U+0643 ARABIC LETTER KAF */
const KeyArabicKasra uint32 = 0x05f0 /* U+0650 ARABIC KASRA */
const KeyArabicKasratan uint32 = 0x05ed /* U+064D ARABIC KASRATAN */
const KeyArabicKeheh uint32 = 0x10006a9 /* U+06A9 ARABIC LETTER KEHEH */
const KeyArabicKhah uint32 = 0x05ce /* U+062E ARABIC LETTER KHAH */
const KeyArabicLam uint32 = 0x05e4 /* U+0644 ARABIC LETTER LAM */
const KeyArabicMaddaAbove uint32 = 0x1000653 /* U+0653 ARABIC MADDAH ABOVE */
const KeyArabicMaddaonalef uint32 = 0x05c2 /* U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE */
const KeyArabicMeem uint32 = 0x05e5 /* U+0645 ARABIC LETTER MEEM */
const KeyArabicNoon uint32 = 0x05e6 /* U+0646 ARABIC LETTER NOON */
const KeyArabicNoonGhunna uint32 = 0x10006ba /* U+06BA ARABIC LETTER NOON GHUNNA */
const KeyArabicPeh uint32 = 0x100067e /* U+067E ARABIC LETTER PEH */
const KeyArabicPercent uint32 = 0x100066a /* U+066A ARABIC PERCENT SIGN */
const KeyArabicQaf uint32 = 0x05e2 /* U+0642 ARABIC LETTER QAF */
const KeyArabicQuestionMark uint32 = 0x05bf /* U+061F ARABIC QUESTION MARK */
const KeyArabicRa uint32 = 0x05d1 /* U+0631 ARABIC LETTER REH */
const KeyArabicRreh uint32 = 0x1000691 /* U+0691 ARABIC LETTER RREH */
const KeyArabicSad uint32 = 0x05d5 /* U+0635 ARABIC LETTER SAD */
const KeyArabicSeen uint32 = 0x05d3 /* U+0633 ARABIC LETTER SEEN */
const KeyArabicSemicolon uint32 = 0x05bb /* U+061B ARABIC SEMICOLON */
const KeyArabicShadda uint32 = 0x05f1 /* U+0651 ARABIC SHADDA */
const KeyArabicSheen uint32 = 0x05d4 /* U+0634 ARABIC LETTER SHEEN */
const KeyArabicSukun uint32 = 0x05f2 /* U+0652 ARABIC SUKUN */
const KeyArabicSuperscriptAlef uint32 = 0x1000670 /* U+0670 ARABIC LETTER SUPERSCRIPT ALEF */
const KeyArabicSwitch uint32 = 0xff7e /* Alias for mode_switch */
const KeyArabicTah uint32 = 0x05d7 /* U+0637 ARABIC LETTER TAH */
const KeyArabicTatweel uint32 = 0x05e0 /* U+0640 ARABIC TATWEEL */
const KeyArabicTcheh uint32 = 0x1000686 /* U+0686 ARABIC LETTER TCHEH */
const KeyArabicTeh uint32 = 0x05ca /* U+062A ARABIC LETTER TEH */
const KeyArabicTehmarbuta uint32 = 0x05c9 /* U+0629 ARABIC LETTER TEH MARBUTA */
const KeyArabicThal uint32 = 0x05d0 /* U+0630 ARABIC LETTER THAL */
const KeyArabicTheh uint32 = 0x05cb /* U+062B ARABIC LETTER THEH */
const KeyArabicTteh uint32 = 0x1000679 /* U+0679 ARABIC LETTER TTEH */
const KeyArabicVeh uint32 = 0x10006a4 /* U+06A4 ARABIC LETTER VEH */
const KeyArabicWaw uint32 = 0x05e8 /* U+0648 ARABIC LETTER WAW */
const KeyArabicYeh uint32 = 0x05ea /* U+064A ARABIC LETTER YEH */
const KeyArabicYehBaree uint32 = 0x10006d2 /* U+06D2 ARABIC LETTER YEH BARREE */
const KeyArabicZah uint32 = 0x05d8 /* U+0638 ARABIC LETTER ZAH */
const KeyArabicZain uint32 = 0x05d2 /* U+0632 ARABIC LETTER ZAIN */
const KeyAring uint32 = 0x00c5 /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */
const KeyArmenianAT uint32 = 0x1000538 /* U+0538 ARMENIAN CAPITAL LETTER ET */
const KeyArmenianAYB uint32 = 0x1000531 /* U+0531 ARMENIAN CAPITAL LETTER AYB */
const KeyArmenianAccent uint32 = 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
const KeyArmenianAmanak uint32 = 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
const KeyArmenianBEN uint32 = 0x1000532 /* U+0532 ARMENIAN CAPITAL LETTER BEN */
const KeyArmenianBut uint32 = 0x100055d /* U+055D ARMENIAN COMMA */
const KeyArmenianCHA uint32 = 0x1000549 /* U+0549 ARMENIAN CAPITAL LETTER CHA */
const KeyArmenianDA uint32 = 0x1000534 /* U+0534 ARMENIAN CAPITAL LETTER DA */
const KeyArmenianDZA uint32 = 0x1000541 /* U+0541 ARMENIAN CAPITAL LETTER JA */
const KeyArmenianE uint32 = 0x1000537 /* U+0537 ARMENIAN CAPITAL LETTER EH */
const KeyArmenianExclam uint32 = 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
const KeyArmenianFE uint32 = 0x1000556 /* U+0556 ARMENIAN CAPITAL LETTER FEH */
const KeyArmenianFullStop uint32 = 0x1000589 /* U+0589 ARMENIAN FULL STOP */
const KeyArmenianGHAT uint32 = 0x1000542 /* U+0542 ARMENIAN CAPITAL LETTER GHAD */
const KeyArmenianGIM uint32 = 0x1000533 /* U+0533 ARMENIAN CAPITAL LETTER GIM */
const KeyArmenianHI uint32 = 0x1000545 /* U+0545 ARMENIAN CAPITAL LETTER YI */
const KeyArmenianHO uint32 = 0x1000540 /* U+0540 ARMENIAN CAPITAL LETTER HO */
const KeyArmenianHyphen uint32 = 0x100058a /* U+058A ARMENIAN HYPHEN */
const KeyArmenianINI uint32 = 0x100053b /* U+053B ARMENIAN CAPITAL LETTER INI */
const KeyArmenianJE uint32 = 0x100054b /* U+054B ARMENIAN CAPITAL LETTER JHEH */
const KeyArmenianKE uint32 = 0x1000554 /* U+0554 ARMENIAN CAPITAL LETTER KEH */
const KeyArmenianKEN uint32 = 0x100053f /* U+053F ARMENIAN CAPITAL LETTER KEN */
const KeyArmenianKHE uint32 = 0x100053d /* U+053D ARMENIAN CAPITAL LETTER XEH */
const KeyArmenianLYUN uint32 = 0x100053c /* U+053C ARMENIAN CAPITAL LETTER LIWN */
const KeyArmenianLigatureEw uint32 = 0x1000587 /* U+0587 ARMENIAN SMALL LIGATURE ECH YIWN */
const KeyArmenianMEN uint32 = 0x1000544 /* U+0544 ARMENIAN CAPITAL LETTER MEN */
const KeyArmenianNU uint32 = 0x1000546 /* U+0546 ARMENIAN CAPITAL LETTER NOW */
const KeyArmenianO uint32 = 0x1000555 /* U+0555 ARMENIAN CAPITAL LETTER OH */
const KeyArmenianPE uint32 = 0x100054a /* U+054A ARMENIAN CAPITAL LETTER PEH */
const KeyArmenianPYUR uint32 = 0x1000553 /* U+0553 ARMENIAN CAPITAL LETTER PIWR */
const KeyArmenianParuyk uint32 = 0x100055e /* U+055E ARMENIAN QUESTION MARK */
const KeyArmenianQuestion uint32 = 0x100055e /* U+055E ARMENIAN QUESTION MARK */
const KeyArmenianRA uint32 = 0x100054c /* U+054C ARMENIAN CAPITAL LETTER RA */
const KeyArmenianRE uint32 = 0x1000550 /* U+0550 ARMENIAN CAPITAL LETTER REH */
const KeyArmenianSE uint32 = 0x100054d /* U+054D ARMENIAN CAPITAL LETTER SEH */
const KeyArmenianSHA uint32 = 0x1000547 /* U+0547 ARMENIAN CAPITAL LETTER SHA */
const KeyArmenianSeparationMark uint32 = 0x100055d /* U+055D ARMENIAN COMMA */
const KeyArmenianShesht uint32 = 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
const KeyArmenianTCHE uint32 = 0x1000543 /* U+0543 ARMENIAN CAPITAL LETTER CHEH */
const KeyArmenianTO uint32 = 0x1000539 /* U+0539 ARMENIAN CAPITAL LETTER TO */
const KeyArmenianTSA uint32 = 0x100053e /* U+053E ARMENIAN CAPITAL LETTER CA */
const KeyArmenianTSO uint32 = 0x1000551 /* U+0551 ARMENIAN CAPITAL LETTER CO */
const KeyArmenianTYUN uint32 = 0x100054f /* U+054F ARMENIAN CAPITAL LETTER TIWN */
const KeyArmenianVEV uint32 = 0x100054e /* U+054E ARMENIAN CAPITAL LETTER VEW */
const KeyArmenianVO uint32 = 0x1000548 /* U+0548 ARMENIAN CAPITAL LETTER VO */
const KeyArmenianVYUN uint32 = 0x1000552 /* U+0552 ARMENIAN CAPITAL LETTER YIWN */
const KeyArmenianVerjaket uint32 = 0x1000589 /* U+0589 ARMENIAN FULL STOP */
const KeyArmenianYECH uint32 = 0x1000535 /* U+0535 ARMENIAN CAPITAL LETTER ECH */
const KeyArmenianYentamna uint32 = 0x100058a /* U+058A ARMENIAN HYPHEN */
const KeyArmenianZA uint32 = 0x1000536 /* U+0536 ARMENIAN CAPITAL LETTER ZA */
const KeyArmenianZHE uint32 = 0x100053a /* U+053A ARMENIAN CAPITAL LETTER ZHE */
const KeyArmenianapostrophe uint32 = 0x100055a /* U+055A ARMENIAN APOSTROPHE */
const KeyArmenianat uint32 = 0x1000568 /* U+0568 ARMENIAN SMALL LETTER ET */
const KeyArmenianayb uint32 = 0x1000561 /* U+0561 ARMENIAN SMALL LETTER AYB */
const KeyArmenianben uint32 = 0x1000562 /* U+0562 ARMENIAN SMALL LETTER BEN */
const KeyArmeniancha uint32 = 0x1000579 /* U+0579 ARMENIAN SMALL LETTER CHA */
const KeyArmenianda uint32 = 0x1000564 /* U+0564 ARMENIAN SMALL LETTER DA */
const KeyArmeniandza uint32 = 0x1000571 /* U+0571 ARMENIAN SMALL LETTER JA */
const KeyArmeniane uint32 = 0x1000567 /* U+0567 ARMENIAN SMALL LETTER EH */
const KeyArmenianfe uint32 = 0x1000586 /* U+0586 ARMENIAN SMALL LETTER FEH */
const KeyArmenianghat uint32 = 0x1000572 /* U+0572 ARMENIAN SMALL LETTER GHAD */
const KeyArmeniangim uint32 = 0x1000563 /* U+0563 ARMENIAN SMALL LETTER GIM */
const KeyArmenianhi uint32 = 0x1000575 /* U+0575 ARMENIAN SMALL LETTER YI */
const KeyArmenianho uint32 = 0x1000570 /* U+0570 ARMENIAN SMALL LETTER HO */
const KeyArmenianini uint32 = 0x100056b /* U+056B ARMENIAN SMALL LETTER INI */
const KeyArmenianje uint32 = 0x100057b /* U+057B ARMENIAN SMALL LETTER JHEH */
const KeyArmenianke uint32 = 0x1000584 /* U+0584 ARMENIAN SMALL LETTER KEH */
const KeyArmenianken uint32 = 0x100056f /* U+056F ARMENIAN SMALL LETTER KEN */
const KeyArmeniankhe uint32 = 0x100056d /* U+056D ARMENIAN SMALL LETTER XEH */
const KeyArmenianlyun uint32 = 0x100056c /* U+056C ARMENIAN SMALL LETTER LIWN */
const KeyArmenianmen uint32 = 0x1000574 /* U+0574 ARMENIAN SMALL LETTER MEN */
const KeyArmeniannu uint32 = 0x1000576 /* U+0576 ARMENIAN SMALL LETTER NOW */
const KeyArmeniano uint32 = 0x1000585 /* U+0585 ARMENIAN SMALL LETTER OH */
const KeyArmenianpe uint32 = 0x100057a /* U+057A ARMENIAN SMALL LETTER PEH */
const KeyArmenianpyur uint32 = 0x1000583 /* U+0583 ARMENIAN SMALL LETTER PIWR */
const KeyArmenianra uint32 = 0x100057c /* U+057C ARMENIAN SMALL LETTER RA */
const KeyArmenianre uint32 = 0x1000580 /* U+0580 ARMENIAN SMALL LETTER REH */
const KeyArmenianse uint32 = 0x100057d /* U+057D ARMENIAN SMALL LETTER SEH */
const KeyArmeniansha uint32 = 0x1000577 /* U+0577 ARMENIAN SMALL LETTER SHA */
const KeyArmeniantche uint32 = 0x1000573 /* U+0573 ARMENIAN SMALL LETTER CHEH */
const KeyArmenianto uint32 = 0x1000569 /* U+0569 ARMENIAN SMALL LETTER TO */
const KeyArmeniantsa uint32 = 0x100056e /* U+056E ARMENIAN SMALL LETTER CA */
const KeyArmeniantso uint32 = 0x1000581 /* U+0581 ARMENIAN SMALL LETTER CO */
const KeyArmeniantyun uint32 = 0x100057f /* U+057F ARMENIAN SMALL LETTER TIWN */
const KeyArmenianvev uint32 = 0x100057e /* U+057E ARMENIAN SMALL LETTER VEW */
const KeyArmenianvo uint32 = 0x1000578 /* U+0578 ARMENIAN SMALL LETTER VO */
const KeyArmenianvyun uint32 = 0x1000582 /* U+0582 ARMENIAN SMALL LETTER YIWN */
const KeyArmenianyech uint32 = 0x1000565 /* U+0565 ARMENIAN SMALL LETTER ECH */
const KeyArmenianza uint32 = 0x1000566 /* U+0566 ARMENIAN SMALL LETTER ZA */
const KeyArmenianzhe uint32 = 0x100056a /* U+056A ARMENIAN SMALL LETTER ZHE */
const KeyAsciicircum uint32 = 0x005e /* U+005E CIRCUMFLEX ACCENT */
const KeyAsciitilde uint32 = 0x007e /* U+007E TILDE */
const KeyAsterisk uint32 = 0x002a /* U+002A ASTERISK */
const KeyAt uint32 = 0x0040 /* U+0040 COMMERCIAL AT */
const KeyAtilde uint32 = 0x00c3 /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */
const KeyAudiblebellEnable uint32 = 0xfe7a
const KeyB uint32 = 0x0042 /* U+0042 LATIN CAPITAL LETTER B */
const KeyBabovedot uint32 = 0x1001e02 /* U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE */
const KeyBackslash uint32 = 0x005c /* U+005C REVERSE SOLIDUS */
const KeyBackspace uint32 = 0xff08 /* Back space, back char */
const KeyBallotcross uint32 = 0x0af4 /* U+2717 BALLOT X */
const KeyBar uint32 = 0x007c /* U+007C VERTICAL LINE */
const KeyBecause uint32 = 0x1002235 /* U+2235 BECAUSE */
const KeyBegin uint32 = 0xff58 /* BOL */
const KeyBlank uint32 = 0x09df
const KeyBotintegral uint32 = 0x08a5 /* U+2321 BOTTOM HALF INTEGRAL */
const KeyBotleftparens uint32 = 0x08ac /* U+239D LEFT PARENTHESIS LOWER HOOK */
const KeyBotleftsqbracket uint32 = 0x08a8 /* U+23A3 LEFT SQUARE BRACKET LOWER CORNER */
const KeyBotleftsummation uint32 = 0x08b2
const KeyBotrightparens uint32 = 0x08ae /* U+23A0 RIGHT PARENTHESIS LOWER HOOK */
const KeyBotrightsqbracket uint32 = 0x08aa /* U+23A6 RIGHT SQUARE BRACKET LOWER CORNER */
const KeyBotrightsummation uint32 = 0x08b6
const KeyBott uint32 = 0x09f6 /* U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL */
const KeyBotvertsummationconnector uint32 = 0x08b4
const KeyBouncekeysEnable uint32 = 0xfe74
const KeyBraceleft uint32 = 0x007b /* U+007B LEFT CURLY BRACKET */
const KeyBraceright uint32 = 0x007d /* U+007D RIGHT CURLY BRACKET */
const KeyBracketleft uint32 = 0x005b /* U+005B LEFT SQUARE BRACKET */
const KeyBracketright uint32 = 0x005d /* U+005D RIGHT SQUARE BRACKET */
const KeyBrailleBlank uint32 = 0x1002800 /* U+2800 BRAILLE PATTERN BLANK */
const KeyBrailleDot1 uint32 = 0xfff1
const KeyBrailleDot10 uint32 = 0xfffa
const KeyBrailleDot2 uint32 = 0xfff2
const KeyBrailleDot3 uint32 = 0xfff3
const KeyBrailleDot4 uint32 = 0xfff4
const KeyBrailleDot5 uint32 = 0xfff5
const KeyBrailleDot6 uint32 = 0xfff6
const KeyBrailleDot7 uint32 = 0xfff7
const KeyBrailleDot8 uint32 = 0xfff8
const KeyBrailleDot9 uint32 = 0xfff9
const KeyBrailleDots1 uint32 = 0x1002801 /* U+2801 BRAILLE PATTERN DOTS-1 */
const KeyBrailleDots12 uint32 = 0x1002803 /* U+2803 BRAILLE PATTERN DOTS-12 */
const KeyBrailleDots123 uint32 = 0x1002807 /* U+2807 BRAILLE PATTERN DOTS-123 */
const KeyBrailleDots1234 uint32 = 0x100280f /* U+280f BRAILLE PATTERN DOTS-1234 */
const KeyBrailleDots12345 uint32 = 0x100281f /* U+281f BRAILLE PATTERN DOTS-12345 */
const KeyBrailleDots123456 uint32 = 0x100283f /* U+283f BRAILLE PATTERN DOTS-123456 */
const KeyBrailleDots1234567 uint32 = 0x100287f /* U+287f BRAILLE PATTERN DOTS-1234567 */
const KeyBrailleDots12345678 uint32 = 0x10028ff /* U+28ff BRAILLE PATTERN DOTS-12345678 */
const KeyBrailleDots1234568 uint32 = 0x10028bf /* U+28bf BRAILLE PATTERN DOTS-1234568 */
const KeyBrailleDots123457 uint32 = 0x100285f /* U+285f BRAILLE PATTERN DOTS-123457 */
const KeyBrailleDots1234578 uint32 = 0x10028df /* U+28df BRAILLE PATTERN DOTS-1234578 */
const KeyBrailleDots123458 uint32 = 0x100289f /* U+289f BRAILLE PATTERN DOTS-123458 */
const KeyBrailleDots12346 uint32 = 0x100282f /* U+282f BRAILLE PATTERN DOTS-12346 */
const KeyBrailleDots123467 uint32 = 0x100286f /* U+286f BRAILLE PATTERN DOTS-123467 */
const KeyBrailleDots1234678 uint32 = 0x10028ef /* U+28ef BRAILLE PATTERN DOTS-1234678 */
const KeyBrailleDots123468 uint32 = 0x10028af /* U+28af BRAILLE PATTERN DOTS-123468 */
const KeyBrailleDots12347 uint32 = 0x100284f /* U+284f BRAILLE PATTERN DOTS-12347 */
const KeyBrailleDots123478 uint32 = 0x10028cf /* U+28cf BRAILLE PATTERN DOTS-123478 */
const KeyBrailleDots12348 uint32 = 0x100288f /* U+288f BRAILLE PATTERN DOTS-12348 */
const KeyBrailleDots1235 uint32 = 0x1002817 /* U+2817 BRAILLE PATTERN DOTS-1235 */
const KeyBrailleDots12356 uint32 = 0x1002837 /* U+2837 BRAILLE PATTERN DOTS-12356 */
const KeyBrailleDots123567 uint32 = 0x1002877 /* U+2877 BRAILLE PATTERN DOTS-123567 */
const KeyBrailleDots1235678 uint32 = 0x10028f7 /* U+28f7 BRAILLE PATTERN DOTS-1235678 */
const KeyBrailleDots123568 uint32 = 0x10028b7 /* U+28b7 BRAILLE PATTERN DOTS-123568 */
const KeyBrailleDots12357 uint32 = 0x1002857 /* U+2857 BRAILLE PATTERN DOTS-12357 */
const KeyBrailleDots123578 uint32 = 0x10028d7 /* U+28d7 BRAILLE PATTERN DOTS-123578 */
const KeyBrailleDots12358 uint32 = 0x1002897 /* U+2897 BRAILLE PATTERN DOTS-12358 */
const KeyBrailleDots1236 uint32 = 0x1002827 /* U+2827 BRAILLE PATTERN DOTS-1236 */
const KeyBrailleDots12367 uint32 = 0x1002867 /* U+2867 BRAILLE PATTERN DOTS-12367 */
const KeyBrailleDots123678 uint32 = 0x10028e7 /* U+28e7 BRAILLE PATTERN DOTS-123678 */
const KeyBrailleDots12368 uint32 = 0x10028a7 /* U+28a7 BRAILLE PATTERN DOTS-12368 */
const KeyBrailleDots1237 uint32 = 0x1002847 /* U+2847 BRAILLE PATTERN DOTS-1237 */
const KeyBrailleDots12378 uint32 = 0x10028c7 /* U+28c7 BRAILLE PATTERN DOTS-12378 */
const KeyBrailleDots1238 uint32 = 0x1002887 /* U+2887 BRAILLE PATTERN DOTS-1238 */
const KeyBrailleDots124 uint32 = 0x100280b /* U+280b BRAILLE PATTERN DOTS-124 */
const KeyBrailleDots1245 uint32 = 0x100281b /* U+281b BRAILLE PATTERN DOTS-1245 */
const KeyBrailleDots12456 uint32 = 0x100283b /* U+283b BRAILLE PATTERN DOTS-12456 */
const KeyBrailleDots124567 uint32 = 0x100287b /* U+287b BRAILLE PATTERN DOTS-124567 */
const KeyBrailleDots1245678 uint32 = 0x10028fb /* U+28fb BRAILLE PATTERN DOTS-1245678 */
const KeyBrailleDots124568 uint32 = 0x10028bb /* U+28bb BRAILLE PATTERN DOTS-124568 */
const KeyBrailleDots12457 uint32 = 0x100285b /* U+285b BRAILLE PATTERN DOTS-12457 */
const KeyBrailleDots124578 uint32 = 0x10028db /* U+28db BRAILLE PATTERN DOTS-124578 */
const KeyBrailleDots12458 uint32 = 0x100289b /* U+289b BRAILLE PATTERN DOTS-12458 */
const KeyBrailleDots1246 uint32 = 0x100282b /* U+282b BRAILLE PATTERN DOTS-1246 */
const KeyBrailleDots12467 uint32 = 0x100286b /* U+286b BRAILLE PATTERN DOTS-12467 */
const KeyBrailleDots124678 uint32 = 0x10028eb /* U+28eb BRAILLE PATTERN DOTS-124678 */
const KeyBrailleDots12468 uint32 = 0x10028ab /* U+28ab BRAILLE PATTERN DOTS-12468 */
const KeyBrailleDots1247 uint32 = 0x100284b /* U+284b BRAILLE PATTERN DOTS-1247 */
const KeyBrailleDots12478 uint32 = 0x10028cb /* U+28cb BRAILLE PATTERN DOTS-12478 */
const KeyBrailleDots1248 uint32 = 0x100288b /* U+288b BRAILLE PATTERN DOTS-1248 */
const KeyBrailleDots125 uint32 = 0x1002813 /* U+2813 BRAILLE PATTERN DOTS-125 */
const KeyBrailleDots1256 uint32 = 0x1002833 /* U+2833 BRAILLE PATTERN DOTS-1256 */
const KeyBrailleDots12567 uint32 = 0x1002873 /* U+2873 BRAILLE PATTERN DOTS-12567 */
const KeyBrailleDots125678 uint32 = 0x10028f3 /* U+28f3 BRAILLE PATTERN DOTS-125678 */
const KeyBrailleDots12568 uint32 = 0x10028b3 /* U+28b3 BRAILLE PATTERN DOTS-12568 */
const KeyBrailleDots1257 uint32 = 0x1002853 /* U+2853 BRAILLE PATTERN DOTS-1257 */
const KeyBrailleDots12578 uint32 = 0x10028d3 /* U+28d3 BRAILLE PATTERN DOTS-12578 */
const KeyBrailleDots1258 uint32 = 0x1002893 /* U+2893 BRAILLE PATTERN DOTS-1258 */
const KeyBrailleDots126 uint32 = 0x1002823 /* U+2823 BRAILLE PATTERN DOTS-126 */
const KeyBrailleDots1267 uint32 = 0x1002863 /* U+2863 BRAILLE PATTERN DOTS-1267 */
const KeyBrailleDots12678 uint32 = 0x10028e3 /* U+28e3 BRAILLE PATTERN DOTS-12678 */
const KeyBrailleDots1268 uint32 = 0x10028a3 /* U+28a3 BRAILLE PATTERN DOTS-1268 */
const KeyBrailleDots127 uint32 = 0x1002843 /* U+2843 BRAILLE PATTERN DOTS-127 */
const KeyBrailleDots1278 uint32 = 0x10028c3 /* U+28c3 BRAILLE PATTERN DOTS-1278 */
const KeyBrailleDots128 uint32 = 0x1002883 /* U+2883 BRAILLE PATTERN DOTS-128 */
const KeyBrailleDots13 uint32 = 0x1002805 /* U+2805 BRAILLE PATTERN DOTS-13 */
const KeyBrailleDots134 uint32 = 0x100280d /* U+280d BRAILLE PATTERN DOTS-134 */
const KeyBrailleDots1345 uint32 = 0x100281d /* U+281d BRAILLE PATTERN DOTS-1345 */
const KeyBrailleDots13456 uint32 = 0x100283d /* U+283d BRAILLE PATTERN DOTS-13456 */
const KeyBrailleDots134567 uint32 = 0x100287d /* U+287d BRAILLE PATTERN DOTS-134567 */
const KeyBrailleDots1345678 uint32 = 0x10028fd /* U+28fd BRAILLE PATTERN DOTS-1345678 */
const KeyBrailleDots134568 uint32 = 0x10028bd /* U+28bd BRAILLE PATTERN DOTS-134568 */
const KeyBrailleDots13457 uint32 = 0x100285d /* U+285d BRAILLE PATTERN DOTS-13457 */
const KeyBrailleDots134578 uint32 = 0x10028dd /* U+28dd BRAILLE PATTERN DOTS-134578 */
const KeyBrailleDots13458 uint32 = 0x100289d /* U+289d BRAILLE PATTERN DOTS-13458 */
const KeyBrailleDots1346 uint32 = 0x100282d /* U+282d BRAILLE PATTERN DOTS-1346 */
const KeyBrailleDots13467 uint32 = 0x100286d /* U+286d BRAILLE PATTERN DOTS-13467 */
const KeyBrailleDots134678 uint32 = 0x10028ed /* U+28ed BRAILLE PATTERN DOTS-134678 */
const KeyBrailleDots13468 uint32 = 0x10028ad /* U+28ad BRAILLE PATTERN DOTS-13468 */
const KeyBrailleDots1347 uint32 = 0x100284d /* U+284d BRAILLE PATTERN DOTS-1347 */
const KeyBrailleDots13478 uint32 = 0x10028cd /* U+28cd BRAILLE PATTERN DOTS-13478 */
const KeyBrailleDots1348 uint32 = 0x100288d /* U+288d BRAILLE PATTERN DOTS-1348 */
const KeyBrailleDots135 uint32 = 0x1002815 /* U+2815 BRAILLE PATTERN DOTS-135 */
const KeyBrailleDots1356 uint32 = 0x1002835 /* U+2835 BRAILLE PATTERN DOTS-1356 */
const KeyBrailleDots13567 uint32 = 0x1002875 /* U+2875 BRAILLE PATTERN DOTS-13567 */
const KeyBrailleDots135678 uint32 = 0x10028f5 /* U+28f5 BRAILLE PATTERN DOTS-135678 */
const KeyBrailleDots13568 uint32 = 0x10028b5 /* U+28b5 BRAILLE PATTERN DOTS-13568 */
const KeyBrailleDots1357 uint32 = 0x1002855 /* U+2855 BRAILLE PATTERN DOTS-1357 */
const KeyBrailleDots13578 uint32 = 0x10028d5 /* U+28d5 BRAILLE PATTERN DOTS-13578 */
const KeyBrailleDots1358 uint32 = 0x1002895 /* U+2895 BRAILLE PATTERN DOTS-1358 */
const KeyBrailleDots136 uint32 = 0x1002825 /* U+2825 BRAILLE PATTERN DOTS-136 */
const KeyBrailleDots1367 uint32 = 0x1002865 /* U+2865 BRAILLE PATTERN DOTS-1367 */
const KeyBrailleDots13678 uint32 = 0x10028e5 /* U+28e5 BRAILLE PATTERN DOTS-13678 */
const KeyBrailleDots1368 uint32 = 0x10028a5 /* U+28a5 BRAILLE PATTERN DOTS-1368 */
const KeyBrailleDots137 uint32 = 0x1002845 /* U+2845 BRAILLE PATTERN DOTS-137 */
const KeyBrailleDots1378 uint32 = 0x10028c5 /* U+28c5 BRAILLE PATTERN DOTS-1378 */
const KeyBrailleDots138 uint32 = 0x1002885 /* U+2885 BRAILLE PATTERN DOTS-138 */
const KeyBrailleDots14 uint32 = 0x1002809 /* U+2809 BRAILLE PATTERN DOTS-14 */
const KeyBrailleDots145 uint32 = 0x1002819 /* U+2819 BRAILLE PATTERN DOTS-145 */
const KeyBrailleDots1456 uint32 = 0x1002839 /* U+2839 BRAILLE PATTERN DOTS-1456 */
const KeyBrailleDots14567 uint32 = 0x1002879 /* U+2879 BRAILLE PATTERN DOTS-14567 */
const KeyBrailleDots145678 uint32 = 0x10028f9 /* U+28f9 BRAILLE PATTERN DOTS-145678 */
const KeyBrailleDots14568 uint32 = 0x10028b9 /* U+28b9 BRAILLE PATTERN DOTS-14568 */
const KeyBrailleDots1457 uint32 = 0x1002859 /* U+2859 BRAILLE PATTERN DOTS-1457 */
const KeyBrailleDots14578 uint32 = 0x10028d9 /* U+28d9 BRAILLE PATTERN DOTS-14578 */
const KeyBrailleDots1458 uint32 = 0x1002899 /* U+2899 BRAILLE PATTERN DOTS-1458 */
const KeyBrailleDots146 uint32 = 0x1002829 /* U+2829 BRAILLE PATTERN DOTS-146 */
const KeyBrailleDots1467 uint32 = 0x1002869 /* U+2869 BRAILLE PATTERN DOTS-1467 */
const KeyBrailleDots14678 uint32 = 0x10028e9 /* U+28e9 BRAILLE PATTERN DOTS-14678 */
const KeyBrailleDots1468 uint32 = 0x10028a9 /* U+28a9 BRAILLE PATTERN DOTS-1468 */
const KeyBrailleDots147 uint32 = 0x1002849 /* U+2849 BRAILLE PATTERN DOTS-147 */
const KeyBrailleDots1478 uint32 = 0x10028c9 /* U+28c9 BRAILLE PATTERN DOTS-1478 */
const KeyBrailleDots148 uint32 = 0x1002889 /* U+2889 BRAILLE PATTERN DOTS-148 */
const KeyBrailleDots15 uint32 = 0x1002811 /* U+2811 BRAILLE PATTERN DOTS-15 */
const KeyBrailleDots156 uint32 = 0x1002831 /* U+2831 BRAILLE PATTERN DOTS-156 */
const KeyBrailleDots1567 uint32 = 0x1002871 /* U+2871 BRAILLE PATTERN DOTS-1567 */
const KeyBrailleDots15678 uint32 = 0x10028f1 /* U+28f1 BRAILLE PATTERN DOTS-15678 */
const KeyBrailleDots1568 uint32 = 0x10028b1 /* U+28b1 BRAILLE PATTERN DOTS-1568 */
const KeyBrailleDots157 uint32 = 0x1002851 /* U+2851 BRAILLE PATTERN DOTS-157 */
const KeyBrailleDots1578 uint32 = 0x10028d1 /* U+28d1 BRAILLE PATTERN DOTS-1578 */
const KeyBrailleDots158 uint32 = 0x1002891 /* U+2891 BRAILLE PATTERN DOTS-158 */
const KeyBrailleDots16 uint32 = 0x1002821 /* U+2821 BRAILLE PATTERN DOTS-16 */
const KeyBrailleDots167 uint32 = 0x1002861 /* U+2861 BRAILLE PATTERN DOTS-167 */
const KeyBrailleDots1678 uint32 = 0x10028e1 /* U+28e1 BRAILLE PATTERN DOTS-1678 */
const KeyBrailleDots168 uint32 = 0x10028a1 /* U+28a1 BRAILLE PATTERN DOTS-168 */
const KeyBrailleDots17 uint32 = 0x1002841 /* U+2841 BRAILLE PATTERN DOTS-17 */
const KeyBrailleDots178 uint32 = 0x10028c1 /* U+28c1 BRAILLE PATTERN DOTS-178 */
const KeyBrailleDots18 uint32 = 0x1002881 /* U+2881 BRAILLE PATTERN DOTS-18 */
const KeyBrailleDots2 uint32 = 0x1002802 /* U+2802 BRAILLE PATTERN DOTS-2 */
const KeyBrailleDots23 uint32 = 0x1002806 /* U+2806 BRAILLE PATTERN DOTS-23 */
const KeyBrailleDots234 uint32 = 0x100280e /* U+280e BRAILLE PATTERN DOTS-234 */
const KeyBrailleDots2345 uint32 = 0x100281e /* U+281e BRAILLE PATTERN DOTS-2345 */
const KeyBrailleDots23456 uint32 = 0x100283e /* U+283e BRAILLE PATTERN DOTS-23456 */
const KeyBrailleDots234567 uint32 = 0x100287e /* U+287e BRAILLE PATTERN DOTS-234567 */
const KeyBrailleDots2345678 uint32 = 0x10028fe /* U+28fe BRAILLE PATTERN DOTS-2345678 */
const KeyBrailleDots234568 uint32 = 0x10028be /* U+28be BRAILLE PATTERN DOTS-234568 */
const KeyBrailleDots23457 uint32 = 0x100285e /* U+285e BRAILLE PATTERN DOTS-23457 */
const KeyBrailleDots234578 uint32 = 0x10028de /* U+28de BRAILLE PATTERN DOTS-234578 */
const KeyBrailleDots23458 uint32 = 0x100289e /* U+289e BRAILLE PATTERN DOTS-23458 */
const KeyBrailleDots2346 uint32 = 0x100282e /* U+282e BRAILLE PATTERN DOTS-2346 */
const KeyBrailleDots23467 uint32 = 0x100286e /* U+286e BRAILLE PATTERN DOTS-23467 */
const KeyBrailleDots234678 uint32 = 0x10028ee /* U+28ee BRAILLE PATTERN DOTS-234678 */
const KeyBrailleDots23468 uint32 = 0x10028ae /* U+28ae BRAILLE PATTERN DOTS-23468 */
const KeyBrailleDots2347 uint32 = 0x100284e /* U+284e BRAILLE PATTERN DOTS-2347 */
const KeyBrailleDots23478 uint32 = 0x10028ce /* U+28ce BRAILLE PATTERN DOTS-23478 */
const KeyBrailleDots2348 uint32 = 0x100288e /* U+288e BRAILLE PATTERN DOTS-2348 */
const KeyBrailleDots235 uint32 = 0x1002816 /* U+2816 BRAILLE PATTERN DOTS-235 */
const KeyBrailleDots2356 uint32 = 0x1002836 /* U+2836 BRAILLE PATTERN DOTS-2356 */
const KeyBrailleDots23567 uint32 = 0x1002876 /* U+2876 BRAILLE PATTERN DOTS-23567 */
const KeyBrailleDots235678 uint32 = 0x10028f6 /* U+28f6 BRAILLE PATTERN DOTS-235678 */
const KeyBrailleDots23568 uint32 = 0x10028b6 /* U+28b6 BRAILLE PATTERN DOTS-23568 */
const KeyBrailleDots2357 uint32 = 0x1002856 /* U+2856 BRAILLE PATTERN DOTS-2357 */
const KeyBrailleDots23578 uint32 = 0x10028d6 /* U+28d6 BRAILLE PATTERN DOTS-23578 */
const KeyBrailleDots2358 uint32 = 0x1002896 /* U+2896 BRAILLE PATTERN DOTS-2358 */
const KeyBrailleDots236 uint32 = 0x1002826 /* U+2826 BRAILLE PATTERN DOTS-236 */
const KeyBrailleDots2367 uint32 = 0x1002866 /* U+2866 BRAILLE PATTERN DOTS-2367 */
const KeyBrailleDots23678 uint32 = 0x10028e6 /* U+28e6 BRAILLE PATTERN DOTS-23678 */
const KeyBrailleDots2368 uint32 = 0x10028a6 /* U+28a6 BRAILLE PATTERN DOTS-2368 */
const KeyBrailleDots237 uint32 = 0x1002846 /* U+2846 BRAILLE PATTERN DOTS-237 */
const KeyBrailleDots2378 uint32 = 0x10028c6 /* U+28c6 BRAILLE PATTERN DOTS-2378 */
const KeyBrailleDots238 uint32 = 0x1002886 /* U+2886 BRAILLE PATTERN DOTS-238 */
const KeyBrailleDots24 uint32 = 0x100280a /* U+280a BRAILLE PATTERN DOTS-24 */
const KeyBrailleDots245 uint32 = 0x100281a /* U+281a BRAILLE PATTERN DOTS-245 */
const KeyBrailleDots2456 uint32 = 0x100283a /* U+283a BRAILLE PATTERN DOTS-2456 */
const KeyBrailleDots24567 uint32 = 0x100287a /* U+287a BRAILLE PATTERN DOTS-24567 */
const KeyBrailleDots245678 uint32 = 0x10028fa /* U+28fa BRAILLE PATTERN DOTS-245678 */
const KeyBrailleDots24568 uint32 = 0x10028ba /* U+28ba BRAILLE PATTERN DOTS-24568 */
const KeyBrailleDots2457 uint32 = 0x100285a /* U+285a BRAILLE PATTERN DOTS-2457 */
const KeyBrailleDots24578 uint32 = 0x10028da /* U+28da BRAILLE PATTERN DOTS-24578 */
const KeyBrailleDots2458 uint32 = 0x100289a /* U+289a BRAILLE PATTERN DOTS-2458 */
const KeyBrailleDots246 uint32 = 0x100282a /* U+282a BRAILLE PATTERN DOTS-246 */
const KeyBrailleDots2467 uint32 = 0x100286a /* U+286a BRAILLE PATTERN DOTS-2467 */
const KeyBrailleDots24678 uint32 = 0x10028ea /* U+28ea BRAILLE PATTERN DOTS-24678 */
const KeyBrailleDots2468 uint32 = 0x10028aa /* U+28aa BRAILLE PATTERN DOTS-2468 */
const KeyBrailleDots247 uint32 = 0x100284a /* U+284a BRAILLE PATTERN DOTS-247 */
const KeyBrailleDots2478 uint32 = 0x10028ca /* U+28ca BRAILLE PATTERN DOTS-2478 */
const KeyBrailleDots248 uint32 = 0x100288a /* U+288a BRAILLE PATTERN DOTS-248 */
const KeyBrailleDots25 uint32 = 0x1002812 /* U+2812 BRAILLE PATTERN DOTS-25 */
const KeyBrailleDots256 uint32 = 0x1002832 /* U+2832 BRAILLE PATTERN DOTS-256 */
const KeyBrailleDots2567 uint32 = 0x1002872 /* U+2872 BRAILLE PATTERN DOTS-2567 */
const KeyBrailleDots25678 uint32 = 0x10028f2 /* U+28f2 BRAILLE PATTERN DOTS-25678 */
const KeyBrailleDots2568 uint32 = 0x10028b2 /* U+28b2 BRAILLE PATTERN DOTS-2568 */
const KeyBrailleDots257 uint32 = 0x1002852 /* U+2852 BRAILLE PATTERN DOTS-257 */
const KeyBrailleDots2578 uint32 = 0x10028d2 /* U+28d2 BRAILLE PATTERN DOTS-2578 */
const KeyBrailleDots258 uint32 = 0x1002892 /* U+2892 BRAILLE PATTERN DOTS-258 */
const KeyBrailleDots26 uint32 = 0x1002822 /* U+2822 BRAILLE PATTERN DOTS-26 */
const KeyBrailleDots267 uint32 = 0x1002862 /* U+2862 BRAILLE PATTERN DOTS-267 */
const KeyBrailleDots2678 uint32 = 0x10028e2 /* U+28e2 BRAILLE PATTERN DOTS-2678 */
const KeyBrailleDots268 uint32 = 0x10028a2 /* U+28a2 BRAILLE PATTERN DOTS-268 */
const KeyBrailleDots27 uint32 = 0x1002842 /* U+2842 BRAILLE PATTERN DOTS-27 */
const KeyBrailleDots278 uint32 = 0x10028c2 /* U+28c2 BRAILLE PATTERN DOTS-278 */
const KeyBrailleDots28 uint32 = 0x1002882 /* U+2882 BRAILLE PATTERN DOTS-28 */
const KeyBrailleDots3 uint32 = 0x1002804 /* U+2804 BRAILLE PATTERN DOTS-3 */
const KeyBrailleDots34 uint32 = 0x100280c /* U+280c BRAILLE PATTERN DOTS-34 */
const KeyBrailleDots345 uint32 = 0x100281c /* U+281c BRAILLE PATTERN DOTS-345 */
const KeyBrailleDots3456 uint32 = 0x100283c /* U+283c BRAILLE PATTERN DOTS-3456 */
const KeyBrailleDots34567 uint32 = 0x100287c /* U+287c BRAILLE PATTERN DOTS-34567 */
const KeyBrailleDots345678 uint32 = 0x10028fc /* U+28fc BRAILLE PATTERN DOTS-345678 */
const KeyBrailleDots34568 uint32 = 0x10028bc /* U+28bc BRAILLE PATTERN DOTS-34568 */
const KeyBrailleDots3457 uint32 = 0x100285c /* U+285c BRAILLE PATTERN DOTS-3457 */
const KeyBrailleDots34578 uint32 = 0x10028dc /* U+28dc BRAILLE PATTERN DOTS-34578 */
const KeyBrailleDots3458 uint32 = 0x100289c /* U+289c BRAILLE PATTERN DOTS-3458 */
const KeyBrailleDots346 uint32 = 0x100282c /* U+282c BRAILLE PATTERN DOTS-346 */
const KeyBrailleDots3467 uint32 = 0x100286c /* U+286c BRAILLE PATTERN DOTS-3467 */
const KeyBrailleDots34678 uint32 = 0x10028ec /* U+28ec BRAILLE PATTERN DOTS-34678 */
const KeyBrailleDots3468 uint32 = 0x10028ac /* U+28ac BRAILLE PATTERN DOTS-3468 */
const KeyBrailleDots347 uint32 = 0x100284c /* U+284c BRAILLE PATTERN DOTS-347 */
const KeyBrailleDots3478 uint32 = 0x10028cc /* U+28cc BRAILLE PATTERN DOTS-3478 */
const KeyBrailleDots348 uint32 = 0x100288c /* U+288c BRAILLE PATTERN DOTS-348 */
const KeyBrailleDots35 uint32 = 0x1002814 /* U+2814 BRAILLE PATTERN DOTS-35 */
const KeyBrailleDots356 uint32 = 0x1002834 /* U+2834 BRAILLE PATTERN DOTS-356 */
const KeyBrailleDots3567 uint32 = 0x1002874 /* U+2874 BRAILLE PATTERN DOTS-3567 */
const KeyBrailleDots35678 uint32 = 0x10028f4 /* U+28f4 BRAILLE PATTERN DOTS-35678 */
const KeyBrailleDots3568 uint32 = 0x10028b4 /* U+28b4 BRAILLE PATTERN DOTS-3568 */
const KeyBrailleDots357 uint32 = 0x1002854 /* U+2854 BRAILLE PATTERN DOTS-357 */
const KeyBrailleDots3578 uint32 = 0x10028d4 /* U+28d4 BRAILLE PATTERN DOTS-3578 */
const KeyBrailleDots358 uint32 = 0x1002894 /* U+2894 BRAILLE PATTERN DOTS-358 */
const KeyBrailleDots36 uint32 = 0x1002824 /* U+2824 BRAILLE PATTERN DOTS-36 */
const KeyBrailleDots367 uint32 = 0x1002864 /* U+2864 BRAILLE PATTERN DOTS-367 */
const KeyBrailleDots3678 uint32 = 0x10028e4 /* U+28e4 BRAILLE PATTERN DOTS-3678 */
const KeyBrailleDots368 uint32 = 0x10028a4 /* U+28a4 BRAILLE PATTERN DOTS-368 */
const KeyBrailleDots37 uint32 = 0x1002844 /* U+2844 BRAILLE PATTERN DOTS-37 */
const KeyBrailleDots378 uint32 = 0x10028c4 /* U+28c4 BRAILLE PATTERN DOTS-378 */
const KeyBrailleDots38 uint32 = 0x1002884 /* U+2884 BRAILLE PATTERN DOTS-38 */
const KeyBrailleDots4 uint32 = 0x1002808 /* U+2808 BRAILLE PATTERN DOTS-4 */
const KeyBrailleDots45 uint32 = 0x1002818 /* U+2818 BRAILLE PATTERN DOTS-45 */
const KeyBrailleDots456 uint32 = 0x1002838 /* U+2838 BRAILLE PATTERN DOTS-456 */
const KeyBrailleDots4567 uint32 = 0x1002878 /* U+2878 BRAILLE PATTERN DOTS-4567 */
const KeyBrailleDots45678 uint32 = 0x10028f8 /* U+28f8 BRAILLE PATTERN DOTS-45678 */
const KeyBrailleDots4568 uint32 = 0x10028b8 /* U+28b8 BRAILLE PATTERN DOTS-4568 */
const KeyBrailleDots457 uint32 = 0x1002858 /* U+2858 BRAILLE PATTERN DOTS-457 */
const KeyBrailleDots4578 uint32 = 0x10028d8 /* U+28d8 BRAILLE PATTERN DOTS-4578 */
const KeyBrailleDots458 uint32 = 0x1002898 /* U+2898 BRAILLE PATTERN DOTS-458 */
const KeyBrailleDots46 uint32 = 0x1002828 /* U+2828 BRAILLE PATTERN DOTS-46 */
const KeyBrailleDots467 uint32 = 0x1002868 /* U+2868 BRAILLE PATTERN DOTS-467 */
const KeyBrailleDots4678 uint32 = 0x10028e8 /* U+28e8 BRAILLE PATTERN DOTS-4678 */
const KeyBrailleDots468 uint32 = 0x10028a8 /* U+28a8 BRAILLE PATTERN DOTS-468 */
const KeyBrailleDots47 uint32 = 0x1002848 /* U+2848 BRAILLE PATTERN DOTS-47 */
const KeyBrailleDots478 uint32 = 0x10028c8 /* U+28c8 BRAILLE PATTERN DOTS-478 */
const KeyBrailleDots48 uint32 = 0x1002888 /* U+2888 BRAILLE PATTERN DOTS-48 */
const KeyBrailleDots5 uint32 = 0x1002810 /* U+2810 BRAILLE PATTERN DOTS-5 */
const KeyBrailleDots56 uint32 = 0x1002830 /* U+2830 BRAILLE PATTERN DOTS-56 */
const KeyBrailleDots567 uint32 = 0x1002870 /* U+2870 BRAILLE PATTERN DOTS-567 */
const KeyBrailleDots5678 uint32 = 0x10028f0 /* U+28f0 BRAILLE PATTERN DOTS-5678 */
const KeyBrailleDots568 uint32 = 0x10028b0 /* U+28b0 BRAILLE PATTERN DOTS-568 */
const KeyBrailleDots57 uint32 = 0x1002850 /* U+2850 BRAILLE PATTERN DOTS-57 */
const KeyBrailleDots578 uint32 = 0x10028d0 /* U+28d0 BRAILLE PATTERN DOTS-578 */
const KeyBrailleDots58 uint32 = 0x1002890 /* U+2890 BRAILLE PATTERN DOTS-58 */
const KeyBrailleDots6 uint32 = 0x1002820 /* U+2820 BRAILLE PATTERN DOTS-6 */
const KeyBrailleDots67 uint32 = 0x1002860 /* U+2860 BRAILLE PATTERN DOTS-67 */
const KeyBrailleDots678 uint32 = 0x10028e0 /* U+28e0 BRAILLE PATTERN DOTS-678 */
const KeyBrailleDots68 uint32 = 0x10028a0 /* U+28a0 BRAILLE PATTERN DOTS-68 */
const KeyBrailleDots7 uint32 = 0x1002840 /* U+2840 BRAILLE PATTERN DOTS-7 */
const KeyBrailleDots78 uint32 = 0x10028c0 /* U+28c0 BRAILLE PATTERN DOTS-78 */
const KeyBrailleDots8 uint32 = 0x1002880 /* U+2880 BRAILLE PATTERN DOTS-8 */
const KeyBreak uint32 = 0xff6b
const KeyBrokenbar uint32 = 0x00a6 /* U+00A6 BROKEN BAR */
const KeyByelorussianShortU uint32 = 0x06be /* U+040E CYRILLIC CAPITAL LETTER SHORT U */
const KeyByelorussianShortu uint32 = 0x06ae /* U+045E CYRILLIC SMALL LETTER SHORT U */
const KeyC uint32 = 0x0043 /* U+0043 LATIN CAPITAL LETTER C */
const KeyCH uint32 = 0xfea2 // CH
const KeyCabovedot uint32 = 0x02c5 /* U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE */
const KeyCacute uint32 = 0x01c6 /* U+0106 LATIN CAPITAL LETTER C WITH ACUTE */
const KeyCancel uint32 = 0xff69 /* Cancel, stop, abort, exit */
const KeyCapostropheH uint32 = 0xfea5 // C H / C'H / C_H
const KeyCapostropheh uint32 = 0xfea4 // C h / C'h / C_h
const KeyCapsLock uint32 = 0xffe5 /* Caps lock */
const KeyCareof uint32 = 0x0ab8 /* U+2105 CARE OF */
const KeyCaret uint32 = 0x0afc /* U+2038 CARET */
const KeyCcaron uint32 = 0x01c8 /* U+010C LATIN CAPITAL LETTER C WITH CARON */
const KeyCcedilla uint32 = 0x00c7 /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */
const KeyCcircumflex uint32 = 0x02c6 /* U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
const KeyCedilla uint32 = 0x00b8 /* U+00B8 CEDILLA */
const KeyCent uint32 = 0x00a2 /* U+00A2 CENT SIGN */
const KeyCh uint32 = 0xfea1 // Ch
const KeyCheckerboard uint32 = 0x09e1 /* U+2592 MEDIUM SHADE */
const KeyCheckmark uint32 = 0x0af3 /* U+2713 CHECK MARK */
const KeyCircle uint32 = 0x0bcf /* U+25CB WHITE CIRCLE */
const KeyClear uint32 = 0xff0b
const KeyClub uint32 = 0x0aec /* U+2663 BLACK CLUB SUIT */
const KeyCodeInvalid = 0xffffffff
KeyCodeInvalid is a special value indicating that Key Code is invalid
const KeyCodeMax = 0xffffffff - 1
KeyCodeMax is the maximum KeyCode possible
const KeyCodeinput uint32 = 0xff37
const KeyColon uint32 = 0x003a /* U+003A COLON */
const KeyColonsign uint32 = 0x10020a1 /* U+20A1 COLON SIGN */
const KeyCombiningAcute uint32 = 0x1000301 /* U+0301 COMBINING ACUTE ACCENT */
const KeyCombiningBelowdot uint32 = 0x1000323 /* U+0323 COMBINING DOT BELOW */
const KeyCombiningGrave uint32 = 0x1000300 /* U+0300 COMBINING GRAVE ACCENT */
const KeyCombiningHook uint32 = 0x1000309 /* U+0309 COMBINING HOOK ABOVE */
const KeyCombiningTilde uint32 = 0x1000303 /* U+0303 COMBINING TILDE */
const KeyComma uint32 = 0x002c /* U+002C COMMA */
const KeyContainsas uint32 = 0x100220B /* U+220B CONTAINS AS MEMBER */
const KeyControlL uint32 = 0xffe3 /* Left control */
const KeyControlR uint32 = 0xffe4 /* Right control */
const KeyCopyright uint32 = 0x00a9 /* U+00A9 COPYRIGHT SIGN */
const KeyCr uint32 = 0x09e4 /* U+240D SYMBOL FOR CARRIAGE RETURN */
const KeyCrossinglines uint32 = 0x09ee /* U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
const KeyCruzeirosign uint32 = 0x10020a2 /* U+20A2 CRUZEIRO SIGN */
const KeyCuberoot uint32 = 0x100221B /* U+221B CUBE ROOT */
const KeyCurrency uint32 = 0x00a4 /* U+00A4 CURRENCY SIGN */
const KeyCursor uint32 = 0x0aff
const KeyCyrillicA uint32 = 0x06e1 /* U+0410 CYRILLIC CAPITAL LETTER A */
const KeyCyrillicBE uint32 = 0x06e2 /* U+0411 CYRILLIC CAPITAL LETTER BE */
const KeyCyrillicCHE uint32 = 0x06fe /* U+0427 CYRILLIC CAPITAL LETTER CHE */
const KeyCyrillicCHEDescender uint32 = 0x10004b6 /* U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */
const KeyCyrillicCHEVertStroke uint32 = 0x10004b8 /* U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */
const KeyCyrillicDE uint32 = 0x06e4 /* U+0414 CYRILLIC CAPITAL LETTER DE */
const KeyCyrillicDZHE uint32 = 0x06bf /* U+040F CYRILLIC CAPITAL LETTER DZHE */
const KeyCyrillicE uint32 = 0x06fc /* U+042D CYRILLIC CAPITAL LETTER E */
const KeyCyrillicEF uint32 = 0x06e6 /* U+0424 CYRILLIC CAPITAL LETTER EF */
const KeyCyrillicEL uint32 = 0x06ec /* U+041B CYRILLIC CAPITAL LETTER EL */
const KeyCyrillicEM uint32 = 0x06ed /* U+041C CYRILLIC CAPITAL LETTER EM */
const KeyCyrillicEN uint32 = 0x06ee /* U+041D CYRILLIC CAPITAL LETTER EN */
const KeyCyrillicENDescender uint32 = 0x10004a2 /* U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER */
const KeyCyrillicER uint32 = 0x06f2 /* U+0420 CYRILLIC CAPITAL LETTER ER */
const KeyCyrillicES uint32 = 0x06f3 /* U+0421 CYRILLIC CAPITAL LETTER ES */
const KeyCyrillicGHE uint32 = 0x06e7 /* U+0413 CYRILLIC CAPITAL LETTER GHE */
const KeyCyrillicGHEBar uint32 = 0x1000492 /* U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE */
const KeyCyrillicHA uint32 = 0x06e8 /* U+0425 CYRILLIC CAPITAL LETTER HA */
const KeyCyrillicHADescender uint32 = 0x10004b2 /* U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER */
const KeyCyrillicHARDSIGN uint32 = 0x06ff /* U+042A CYRILLIC CAPITAL LETTER HARD SIGN */
const KeyCyrillicI uint32 = 0x06e9 /* U+0418 CYRILLIC CAPITAL LETTER I */
const KeyCyrillicIE uint32 = 0x06e5 /* U+0415 CYRILLIC CAPITAL LETTER IE */
const KeyCyrillicIO uint32 = 0x06b3 /* U+0401 CYRILLIC CAPITAL LETTER IO */
const KeyCyrillicImacron uint32 = 0x10004e2 /* U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON */
const KeyCyrillicJE uint32 = 0x06b8 /* U+0408 CYRILLIC CAPITAL LETTER JE */
const KeyCyrillicKA uint32 = 0x06eb /* U+041A CYRILLIC CAPITAL LETTER KA */
const KeyCyrillicKADescender uint32 = 0x100049a /* U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER */
const KeyCyrillicKAVertStroke uint32 = 0x100049c /* U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */
const KeyCyrillicLJE uint32 = 0x06b9 /* U+0409 CYRILLIC CAPITAL LETTER LJE */
const KeyCyrillicNJE uint32 = 0x06ba /* U+040A CYRILLIC CAPITAL LETTER NJE */
const KeyCyrillicO uint32 = 0x06ef /* U+041E CYRILLIC CAPITAL LETTER O */
const KeyCyrillicOBar uint32 = 0x10004e8 /* U+04E8 CYRILLIC CAPITAL LETTER BARRED O */
const KeyCyrillicPE uint32 = 0x06f0 /* U+041F CYRILLIC CAPITAL LETTER PE */
const KeyCyrillicSCHWA uint32 = 0x10004d8 /* U+04D8 CYRILLIC CAPITAL LETTER SCHWA */
const KeyCyrillicSHA uint32 = 0x06fb /* U+0428 CYRILLIC CAPITAL LETTER SHA */
const KeyCyrillicSHCHA uint32 = 0x06fd /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
const KeyCyrillicSHHA uint32 = 0x10004ba /* U+04BA CYRILLIC CAPITAL LETTER SHHA */
const KeyCyrillicSHORTI uint32 = 0x06ea /* U+0419 CYRILLIC CAPITAL LETTER SHORT I */
const KeyCyrillicSOFTSIGN uint32 = 0x06f8 /* U+042C CYRILLIC CAPITAL LETTER SOFT SIGN */
const KeyCyrillicTE uint32 = 0x06f4 /* U+0422 CYRILLIC CAPITAL LETTER TE */
const KeyCyrillicTSE uint32 = 0x06e3 /* U+0426 CYRILLIC CAPITAL LETTER TSE */
const KeyCyrillicU uint32 = 0x06f5 /* U+0423 CYRILLIC CAPITAL LETTER U */
const KeyCyrillicUStraight uint32 = 0x10004ae /* U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U */
const KeyCyrillicUStraightBar uint32 = 0x10004b0 /* U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */
const KeyCyrillicUmacron uint32 = 0x10004ee /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */
const KeyCyrillicVE uint32 = 0x06f7 /* U+0412 CYRILLIC CAPITAL LETTER VE */
const KeyCyrillicYA uint32 = 0x06f1 /* U+042F CYRILLIC CAPITAL LETTER YA */
const KeyCyrillicYERU uint32 = 0x06f9 /* U+042B CYRILLIC CAPITAL LETTER YERU */
const KeyCyrillicYU uint32 = 0x06e0 /* U+042E CYRILLIC CAPITAL LETTER YU */
const KeyCyrillicZE uint32 = 0x06fa /* U+0417 CYRILLIC CAPITAL LETTER ZE */
const KeyCyrillicZHE uint32 = 0x06f6 /* U+0416 CYRILLIC CAPITAL LETTER ZHE */
const KeyCyrillicZHEDescender uint32 = 0x1000496 /* U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */
const KeyCyrillica uint32 = 0x06c1 /* U+0430 CYRILLIC SMALL LETTER A */
const KeyCyrillicbe uint32 = 0x06c2 /* U+0431 CYRILLIC SMALL LETTER BE */
const KeyCyrillicche uint32 = 0x06de /* U+0447 CYRILLIC SMALL LETTER CHE */
const KeyCyrilliccheDescender uint32 = 0x10004b7 /* U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER */
const KeyCyrilliccheVertStroke uint32 = 0x10004b9 /* U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */
const KeyCyrillicde uint32 = 0x06c4 /* U+0434 CYRILLIC SMALL LETTER DE */
const KeyCyrillicdzhe uint32 = 0x06af /* U+045F CYRILLIC SMALL LETTER DZHE */
const KeyCyrillice uint32 = 0x06dc /* U+044D CYRILLIC SMALL LETTER E */
const KeyCyrillicef uint32 = 0x06c6 /* U+0444 CYRILLIC SMALL LETTER EF */
const KeyCyrillicel uint32 = 0x06cc /* U+043B CYRILLIC SMALL LETTER EL */
const KeyCyrillicem uint32 = 0x06cd /* U+043C CYRILLIC SMALL LETTER EM */
const KeyCyrillicen uint32 = 0x06ce /* U+043D CYRILLIC SMALL LETTER EN */
const KeyCyrillicenDescender uint32 = 0x10004a3 /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */
const KeyCyrillicer uint32 = 0x06d2 /* U+0440 CYRILLIC SMALL LETTER ER */
const KeyCyrillices uint32 = 0x06d3 /* U+0441 CYRILLIC SMALL LETTER ES */
const KeyCyrillicghe uint32 = 0x06c7 /* U+0433 CYRILLIC SMALL LETTER GHE */
const KeyCyrillicgheBar uint32 = 0x1000493 /* U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE */
const KeyCyrillicha uint32 = 0x06c8 /* U+0445 CYRILLIC SMALL LETTER HA */
const KeyCyrillichaDescender uint32 = 0x10004b3 /* U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER */
const KeyCyrillichardsign uint32 = 0x06df /* U+044A CYRILLIC SMALL LETTER HARD SIGN */
const KeyCyrillici uint32 = 0x06c9 /* U+0438 CYRILLIC SMALL LETTER I */
const KeyCyrillicie uint32 = 0x06c5 /* U+0435 CYRILLIC SMALL LETTER IE */
const KeyCyrillicimacron uint32 = 0x10004e3 /* U+04E3 CYRILLIC SMALL LETTER I WITH MACRON */
const KeyCyrillicio uint32 = 0x06a3 /* U+0451 CYRILLIC SMALL LETTER IO */
const KeyCyrillicje uint32 = 0x06a8 /* U+0458 CYRILLIC SMALL LETTER JE */
const KeyCyrillicka uint32 = 0x06cb /* U+043A CYRILLIC SMALL LETTER KA */
const KeyCyrillickaDescender uint32 = 0x100049b /* U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER */
const KeyCyrillickaVertStroke uint32 = 0x100049d /* U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */
const KeyCyrilliclje uint32 = 0x06a9 /* U+0459 CYRILLIC SMALL LETTER LJE */
const KeyCyrillicnje uint32 = 0x06aa /* U+045A CYRILLIC SMALL LETTER NJE */
const KeyCyrillico uint32 = 0x06cf /* U+043E CYRILLIC SMALL LETTER O */
const KeyCyrillicoBar uint32 = 0x10004e9 /* U+04E9 CYRILLIC SMALL LETTER BARRED O */
const KeyCyrillicpe uint32 = 0x06d0 /* U+043F CYRILLIC SMALL LETTER PE */
const KeyCyrillicschwa uint32 = 0x10004d9 /* U+04D9 CYRILLIC SMALL LETTER SCHWA */
const KeyCyrillicsha uint32 = 0x06db /* U+0448 CYRILLIC SMALL LETTER SHA */
const KeyCyrillicshcha uint32 = 0x06dd /* U+0449 CYRILLIC SMALL LETTER SHCHA */
const KeyCyrillicshha uint32 = 0x10004bb /* U+04BB CYRILLIC SMALL LETTER SHHA */
const KeyCyrillicshorti uint32 = 0x06ca /* U+0439 CYRILLIC SMALL LETTER SHORT I */
const KeyCyrillicsoftsign uint32 = 0x06d8 /* U+044C CYRILLIC SMALL LETTER SOFT SIGN */
const KeyCyrillicte uint32 = 0x06d4 /* U+0442 CYRILLIC SMALL LETTER TE */
const KeyCyrillictse uint32 = 0x06c3 /* U+0446 CYRILLIC SMALL LETTER TSE */
const KeyCyrillicu uint32 = 0x06d5 /* U+0443 CYRILLIC SMALL LETTER U */
const KeyCyrillicuStraight uint32 = 0x10004af /* U+04AF CYRILLIC SMALL LETTER STRAIGHT U */
const KeyCyrillicuStraightBar uint32 = 0x10004b1 /* U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */
const KeyCyrillicumacron uint32 = 0x10004ef /* U+04EF CYRILLIC SMALL LETTER U WITH MACRON */
const KeyCyrillicve uint32 = 0x06d7 /* U+0432 CYRILLIC SMALL LETTER VE */
const KeyCyrillicya uint32 = 0x06d1 /* U+044F CYRILLIC SMALL LETTER YA */
const KeyCyrillicyeru uint32 = 0x06d9 /* U+044B CYRILLIC SMALL LETTER YERU */
const KeyCyrillicyu uint32 = 0x06c0 /* U+044E CYRILLIC SMALL LETTER YU */
const KeyCyrillicze uint32 = 0x06da /* U+0437 CYRILLIC SMALL LETTER ZE */
const KeyCyrilliczhe uint32 = 0x06d6 /* U+0436 CYRILLIC SMALL LETTER ZHE */
const KeyCyrilliczheDescender uint32 = 0x1000497 /* U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER */
const KeyD uint32 = 0x0044 /* U+0044 LATIN CAPITAL LETTER D */
const KeyDabovedot uint32 = 0x1001e0a /* U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE */
const KeyDacuteAccent uint32 = 0x1000FE27
const KeyDagger uint32 = 0x0af1 /* U+2020 DAGGER */
const KeyDcaron uint32 = 0x01cf /* U+010E LATIN CAPITAL LETTER D WITH CARON */
const KeyDcedillaAccent uint32 = 0x1000FE2C
const KeyDcircumflexAccent uint32 = 0x1000FE5E
const KeyDdiaeresis uint32 = 0x1000FE22
const KeyDeadA uint32 = 0xfe81
const KeyDeadAbovecomma uint32 = 0xfe64
const KeyDeadAbovedot uint32 = 0xfe56
const KeyDeadAbovereversedcomma uint32 = 0xfe65
const KeyDeadAbovering uint32 = 0xfe58
const KeyDeadAboveverticalline uint32 = 0xfe91
const KeyDeadAcute uint32 = 0xfe51
const KeyDeadBelowbreve uint32 = 0xfe6b
const KeyDeadBelowcircumflex uint32 = 0xfe69
const KeyDeadBelowcomma uint32 = 0xfe6e
const KeyDeadBelowdiaeresis uint32 = 0xfe6c
const KeyDeadBelowdot uint32 = 0xfe60
const KeyDeadBelowmacron uint32 = 0xfe68
const KeyDeadBelowring uint32 = 0xfe67
const KeyDeadBelowtilde uint32 = 0xfe6a
const KeyDeadBelowverticalline uint32 = 0xfe92
const KeyDeadBreve uint32 = 0xfe55
const KeyDeadCapitalSchwa uint32 = 0xfe8b
const KeyDeadCaron uint32 = 0xfe5a
const KeyDeadCedilla uint32 = 0xfe5b
const KeyDeadCircumflex uint32 = 0xfe52
const KeyDeadCurrency uint32 = 0xfe6f
const KeyDeadDasia uint32 = 0xfe65 /* alias for dead_abovereversedcomma */
const KeyDeadDiaeresis uint32 = 0xfe57
const KeyDeadDoubleacute uint32 = 0xfe59
const KeyDeadDoublegrave uint32 = 0xfe66
const KeyDeadE uint32 = 0xfe83
const KeyDeadGrave uint32 = 0xfe50
const KeyDeadGreek uint32 = 0xfe8c
const KeyDeadHook uint32 = 0xfe61
const KeyDeadHorn uint32 = 0xfe62
const KeyDeadI uint32 = 0xfe85
const KeyDeadInvertedbreve uint32 = 0xfe6d
const KeyDeadIota uint32 = 0xfe5d
const KeyDeadLongsolidusoverlay uint32 = 0xfe93
const KeyDeadLowline uint32 = 0xfe90
const KeyDeadMacron uint32 = 0xfe54
const KeyDeadO uint32 = 0xfe87
const KeyDeadOgonek uint32 = 0xfe5c
const KeyDeadPerispomeni uint32 = 0xfe53 /* alias for dead_tilde */
const KeyDeadPsili uint32 = 0xfe64 /* alias for dead_abovecomma */
const KeyDeadSemivoicedSound uint32 = 0xfe5f
const KeyDeadSmallSchwa uint32 = 0xfe8a
const KeyDeadStroke uint32 = 0xfe63
const KeyDeadTilde uint32 = 0xfe53
const KeyDeadU uint32 = 0xfe89
const KeyDeadVoicedSound uint32 = 0xfe5e
const KeyDeada uint32 = 0xfe80
const KeyDeade uint32 = 0xfe82
const KeyDeadi uint32 = 0xfe84
const KeyDeado uint32 = 0xfe86
const KeyDeadu uint32 = 0xfe88
const KeyDecimalpoint uint32 = 0x0abd /*(U+002E FULL STOP)*/
const KeyDegree uint32 = 0x00b0 /* U+00B0 DEGREE SIGN */
const KeyDelete uint32 = 0xffff /* Delete, rubout */
const KeyDgraveAccent uint32 = 0x1000FE60
const KeyDiaeresis uint32 = 0x00a8 /* U+00A8 DIAERESIS */
const KeyDiamond uint32 = 0x0aed /* U+2666 BLACK DIAMOND SUIT */
const KeyDigitspace uint32 = 0x0aa5 /* U+2007 FIGURE SPACE */
const KeyDintegral uint32 = 0x100222C /* U+222C DOUBLE INTEGRAL */
const KeyDollar uint32 = 0x0024 /* U+0024 DOLLAR SIGN */
const KeyDongsign uint32 = 0x10020ab /* U+20AB DONG SIGN */
const KeyDoubbaselinedot uint32 = 0x0aaf /* U+2025 TWO DOT LEADER */
const KeyDoubledagger uint32 = 0x0af2 /* U+2021 DOUBLE DAGGER */
const KeyDoublelowquotemark uint32 = 0x0afe /* U+201E DOUBLE LOW-9 QUOTATION MARK */
const KeyDown uint32 = 0xff54 /* Move down, down arrow */
const KeyDownarrow uint32 = 0x08fe /* U+2193 DOWNWARDS ARROW */
const KeyDowncaret uint32 = 0x0ba8 /*(U+2228 LOGICAL OR)*/
const KeyDownshoe uint32 = 0x0bd6 /*(U+222A UNION)*/
const KeyDownstile uint32 = 0x0bc4 /* U+230A LEFT FLOOR */
const KeyDowntack uint32 = 0x0bc2 /* U+22A4 DOWN TACK */
const KeyDremove uint32 = 0x1000FF00 /* Remove */
const KeyDringAccent uint32 = 0x1000FEB0
const KeyDstroke uint32 = 0x01d0 /* U+0110 LATIN CAPITAL LETTER D WITH STROKE */
const KeyDtilde uint32 = 0x1000FE7E
const KeyE uint32 = 0x0045 /* U+0045 LATIN CAPITAL LETTER E */
const KeyENG uint32 = 0x03bd /* U+014A LATIN CAPITAL LETTER ENG */
const KeyETH uint32 = 0x00d0 /* U+00D0 LATIN CAPITAL LETTER ETH */
const KeyEZH uint32 = 0x10001b7 /* U+01B7 LATIN CAPITAL LETTER EZH */
const KeyEabovedot uint32 = 0x03cc /* U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE */
const KeyEacute uint32 = 0x00c9 /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
const KeyEbelowdot uint32 = 0x1001eb8 /* U+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW */
const KeyEcaron uint32 = 0x01cc /* U+011A LATIN CAPITAL LETTER E WITH CARON */
const KeyEcircumflex uint32 = 0x00ca /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
const KeyEcircumflexacute uint32 = 0x1001ebe /* U+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */
const KeyEcircumflexbelowdot uint32 = 0x1001ec6 /* U+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
const KeyEcircumflexgrave uint32 = 0x1001ec0 /* U+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE */
const KeyEcircumflexhook uint32 = 0x1001ec2 /* U+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
const KeyEcircumflextilde uint32 = 0x1001ec4 /* U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE */
const KeyEcusign uint32 = 0x10020a0 /* U+20A0 EURO-CURRENCY SIGN */
const KeyEdiaeresis uint32 = 0x00cb /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */
const KeyEgrave uint32 = 0x00c8 /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */
const KeyEhook uint32 = 0x1001eba /* U+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE */
const KeyEightsubscript uint32 = 0x1002088 /* U+2088 SUBSCRIPT EIGHT */
const KeyEightsuperior uint32 = 0x1002078 /* U+2078 SUPERSCRIPT EIGHT */
const KeyEisuShift uint32 = 0xff2f /* Alphanumeric Shift */
const KeyEisuToggle uint32 = 0xff30 /* Alphanumeric toggle */
const KeyElementof uint32 = 0x1002208 /* U+2208 ELEMENT OF */
const KeyEllipsis uint32 = 0x0aae /* U+2026 HORIZONTAL ELLIPSIS */
const KeyEm3space uint32 = 0x0aa3 /* U+2004 THREE-PER-EM SPACE */
const KeyEm4space uint32 = 0x0aa4 /* U+2005 FOUR-PER-EM SPACE */
const KeyEmacron uint32 = 0x03aa /* U+0112 LATIN CAPITAL LETTER E WITH MACRON */
const KeyEmdash uint32 = 0x0aa9 /* U+2014 EM DASH */
const KeyEmfilledcircle uint32 = 0x0ade /*(U+25CF BLACK CIRCLE)*/
const KeyEmfilledrect uint32 = 0x0adf /*(U+25AE BLACK VERTICAL RECTANGLE)*/
const KeyEmopencircle uint32 = 0x0ace /*(U+25CB WHITE CIRCLE)*/
const KeyEmopenrectangle uint32 = 0x0acf /*(U+25AF WHITE VERTICAL RECTANGLE)*/
const KeyEmptyset uint32 = 0x1002205 /* U+2205 NULL SET */
const KeyEmspace uint32 = 0x0aa1 /* U+2003 EM SPACE */
const KeyEnd uint32 = 0xff57 /* EOL */
const KeyEndash uint32 = 0x0aaa /* U+2013 EN DASH */
const KeyEnfilledcircbullet uint32 = 0x0ae6 /*(U+2022 BULLET)*/
const KeyEnfilledsqbullet uint32 = 0x0ae7 /*(U+25AA BLACK SMALL SQUARE)*/
const KeyEnopencircbullet uint32 = 0x0ae0 /*(U+25E6 WHITE BULLET)*/
const KeyEnopensquarebullet uint32 = 0x0ae1 /*(U+25AB WHITE SMALL SQUARE)*/
const KeyEnspace uint32 = 0x0aa2 /* U+2002 EN SPACE */
const KeyEogonek uint32 = 0x01ca /* U+0118 LATIN CAPITAL LETTER E WITH OGONEK */
const KeyEqual uint32 = 0x003d /* U+003D EQUALS SIGN */
const KeyEscape uint32 = 0xff1b
const KeyEtilde uint32 = 0x1001ebc /* U+1EBC LATIN CAPITAL LETTER E WITH TILDE */
const KeyEurosign uint32 = 0x20ac /* U+20AC EURO SIGN */
const KeyExclam uint32 = 0x0021 /* U+0021 EXCLAMATION MARK */
const KeyExclamdown uint32 = 0x00a1 /* U+00A1 INVERTED EXCLAMATION MARK */
const KeyExecute uint32 = 0xff62 /* Execute, run, do */
const KeyF uint32 = 0x0046 /* U+0046 LATIN CAPITAL LETTER F */
const KeyF1 uint32 = 0xffbe
const KeyF10 uint32 = 0xffc7
const KeyF11 uint32 = 0xffc8
const KeyF12 uint32 = 0xffc9
const KeyF13 uint32 = 0xffca
const KeyF14 uint32 = 0xffcb
const KeyF15 uint32 = 0xffcc
const KeyF16 uint32 = 0xffcd
const KeyF17 uint32 = 0xffce
const KeyF18 uint32 = 0xffcf
const KeyF19 uint32 = 0xffd0
const KeyF2 uint32 = 0xffbf
const KeyF20 uint32 = 0xffd1
const KeyF21 uint32 = 0xffd2
const KeyF22 uint32 = 0xffd3
const KeyF23 uint32 = 0xffd4
const KeyF24 uint32 = 0xffd5
const KeyF25 uint32 = 0xffd6
const KeyF26 uint32 = 0xffd7
const KeyF27 uint32 = 0xffd8
const KeyF28 uint32 = 0xffd9
const KeyF29 uint32 = 0xffda
const KeyF3 uint32 = 0xffc0
const KeyF30 uint32 = 0xffdb
const KeyF31 uint32 = 0xffdc
const KeyF32 uint32 = 0xffdd
const KeyF33 uint32 = 0xffde
const KeyF34 uint32 = 0xffdf
const KeyF35 uint32 = 0xffe0
const KeyF4 uint32 = 0xffc1
const KeyF5 uint32 = 0xffc2
const KeyF6 uint32 = 0xffc3
const KeyF7 uint32 = 0xffc4
const KeyF8 uint32 = 0xffc5
const KeyF9 uint32 = 0xffc6
const KeyFabovedot uint32 = 0x1001e1e /* U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE */
const KeyFarsi0 uint32 = 0x10006f0 /* U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO */
const KeyFarsi1 uint32 = 0x10006f1 /* U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE */
const KeyFarsi2 uint32 = 0x10006f2 /* U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO */
const KeyFarsi3 uint32 = 0x10006f3 /* U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE */
const KeyFarsi4 uint32 = 0x10006f4 /* U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR */
const KeyFarsi5 uint32 = 0x10006f5 /* U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE */
const KeyFarsi6 uint32 = 0x10006f6 /* U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX */
const KeyFarsi7 uint32 = 0x10006f7 /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */
const KeyFarsi8 uint32 = 0x10006f8 /* U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT */
const KeyFarsi9 uint32 = 0x10006f9 /* U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE */
const KeyFarsiYeh uint32 = 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
const KeyFemaleSymbol uint32 = 0x0af8 /* U+2640 FEMALE SIGN */
const KeyFf uint32 = 0x09e3 /* U+240C SYMBOL FOR FORM FEED */
const KeyFfrancsign uint32 = 0x10020a3 /* U+20A3 FRENCH FRANC SIGN */
const KeyFigdash uint32 = 0x0abb /* U+2012 FIGURE DASH */
const KeyFilledlefttribullet uint32 = 0x0adc /*(U+25C0 BLACK LEFT-POINTING TRIANGLE)*/
const KeyFilledrectbullet uint32 = 0x0adb /*(U+25AC BLACK RECTANGLE)*/
const KeyFilledrighttribullet uint32 = 0x0add /*(U+25B6 BLACK RIGHT-POINTING TRIANGLE)*/
const KeyFilledtribulletdown uint32 = 0x0ae9 /*(U+25BC BLACK DOWN-POINTING TRIANGLE)*/
const KeyFilledtribulletup uint32 = 0x0ae8 /*(U+25B2 BLACK UP-POINTING TRIANGLE)*/
const KeyFind uint32 = 0xff68 /* Find, search */
const KeyFirstVirtualScreen uint32 = 0xfed0
const KeyFiveeighths uint32 = 0x0ac5 /* U+215D VULGAR FRACTION FIVE EIGHTHS */
const KeyFivesixths uint32 = 0x0ab7 /* U+215A VULGAR FRACTION FIVE SIXTHS */
const KeyFivesubscript uint32 = 0x1002085 /* U+2085 SUBSCRIPT FIVE */
const KeyFivesuperior uint32 = 0x1002075 /* U+2075 SUPERSCRIPT FIVE */
const KeyFourfifths uint32 = 0x0ab5 /* U+2158 VULGAR FRACTION FOUR FIFTHS */
const KeyFoursubscript uint32 = 0x1002084 /* U+2084 SUBSCRIPT FOUR */
const KeyFoursuperior uint32 = 0x1002074 /* U+2074 SUPERSCRIPT FOUR */
const KeyFourthroot uint32 = 0x100221C /* U+221C FOURTH ROOT */
const KeyFunction uint32 = 0x08f6 /* U+0192 LATIN SMALL LETTER F WITH HOOK */
const KeyG uint32 = 0x0047 /* U+0047 LATIN CAPITAL LETTER G */
const KeyGabovedot uint32 = 0x02d5 /* U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE */
const KeyGbreve uint32 = 0x02ab /* U+011E LATIN CAPITAL LETTER G WITH BREVE */
const KeyGcaron uint32 = 0x10001e6 /* U+01E6 LATIN CAPITAL LETTER G WITH CARON */
const KeyGcedilla uint32 = 0x03ab /* U+0122 LATIN CAPITAL LETTER G WITH CEDILLA */
const KeyGcircumflex uint32 = 0x02d8 /* U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
const KeyGeorgianAn uint32 = 0x10010d0 /* U+10D0 GEORGIAN LETTER AN */
const KeyGeorgianBan uint32 = 0x10010d1 /* U+10D1 GEORGIAN LETTER BAN */
const KeyGeorgianCan uint32 = 0x10010ea /* U+10EA GEORGIAN LETTER CAN */
const KeyGeorgianChar uint32 = 0x10010ed /* U+10ED GEORGIAN LETTER CHAR */
const KeyGeorgianChin uint32 = 0x10010e9 /* U+10E9 GEORGIAN LETTER CHIN */
const KeyGeorgianCil uint32 = 0x10010ec /* U+10EC GEORGIAN LETTER CIL */
const KeyGeorgianDon uint32 = 0x10010d3 /* U+10D3 GEORGIAN LETTER DON */
const KeyGeorgianEn uint32 = 0x10010d4 /* U+10D4 GEORGIAN LETTER EN */
const KeyGeorgianFi uint32 = 0x10010f6 /* U+10F6 GEORGIAN LETTER FI */
const KeyGeorgianGan uint32 = 0x10010d2 /* U+10D2 GEORGIAN LETTER GAN */
const KeyGeorgianGhan uint32 = 0x10010e6 /* U+10E6 GEORGIAN LETTER GHAN */
const KeyGeorgianHae uint32 = 0x10010f0 /* U+10F0 GEORGIAN LETTER HAE */
const KeyGeorgianHar uint32 = 0x10010f4 /* U+10F4 GEORGIAN LETTER HAR */
const KeyGeorgianHe uint32 = 0x10010f1 /* U+10F1 GEORGIAN LETTER HE */
const KeyGeorgianHie uint32 = 0x10010f2 /* U+10F2 GEORGIAN LETTER HIE */
const KeyGeorgianHoe uint32 = 0x10010f5 /* U+10F5 GEORGIAN LETTER HOE */
const KeyGeorgianIn uint32 = 0x10010d8 /* U+10D8 GEORGIAN LETTER IN */
const KeyGeorgianJhan uint32 = 0x10010ef /* U+10EF GEORGIAN LETTER JHAN */
const KeyGeorgianJil uint32 = 0x10010eb /* U+10EB GEORGIAN LETTER JIL */
const KeyGeorgianKan uint32 = 0x10010d9 /* U+10D9 GEORGIAN LETTER KAN */
const KeyGeorgianKhar uint32 = 0x10010e5 /* U+10E5 GEORGIAN LETTER KHAR */
const KeyGeorgianLas uint32 = 0x10010da /* U+10DA GEORGIAN LETTER LAS */
const KeyGeorgianMan uint32 = 0x10010db /* U+10DB GEORGIAN LETTER MAN */
const KeyGeorgianNar uint32 = 0x10010dc /* U+10DC GEORGIAN LETTER NAR */
const KeyGeorgianOn uint32 = 0x10010dd /* U+10DD GEORGIAN LETTER ON */
const KeyGeorgianPar uint32 = 0x10010de /* U+10DE GEORGIAN LETTER PAR */
const KeyGeorgianPhar uint32 = 0x10010e4 /* U+10E4 GEORGIAN LETTER PHAR */
const KeyGeorgianQar uint32 = 0x10010e7 /* U+10E7 GEORGIAN LETTER QAR */
const KeyGeorgianRae uint32 = 0x10010e0 /* U+10E0 GEORGIAN LETTER RAE */
const KeyGeorgianSan uint32 = 0x10010e1 /* U+10E1 GEORGIAN LETTER SAN */
const KeyGeorgianShin uint32 = 0x10010e8 /* U+10E8 GEORGIAN LETTER SHIN */
const KeyGeorgianTan uint32 = 0x10010d7 /* U+10D7 GEORGIAN LETTER TAN */
const KeyGeorgianTar uint32 = 0x10010e2 /* U+10E2 GEORGIAN LETTER TAR */
const KeyGeorgianUn uint32 = 0x10010e3 /* U+10E3 GEORGIAN LETTER UN */
const KeyGeorgianVin uint32 = 0x10010d5 /* U+10D5 GEORGIAN LETTER VIN */
const KeyGeorgianWe uint32 = 0x10010f3 /* U+10F3 GEORGIAN LETTER WE */
const KeyGeorgianXan uint32 = 0x10010ee /* U+10EE GEORGIAN LETTER XAN */
const KeyGeorgianZen uint32 = 0x10010d6 /* U+10D6 GEORGIAN LETTER ZEN */
const KeyGeorgianZhar uint32 = 0x10010df /* U+10DF GEORGIAN LETTER ZHAR */
const KeyGrave uint32 = 0x0060 /* U+0060 GRAVE ACCENT */
const KeyGreater uint32 = 0x003e /* U+003E GREATER-THAN SIGN */
const KeyGreaterthanequal uint32 = 0x08be /* U+2265 GREATER-THAN OR EQUAL TO */
const KeyGreekALPHA uint32 = 0x07c1 /* U+0391 GREEK CAPITAL LETTER ALPHA */
const KeyGreekALPHAaccent uint32 = 0x07a1 /* U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS */
const KeyGreekBETA uint32 = 0x07c2 /* U+0392 GREEK CAPITAL LETTER BETA */
const KeyGreekCHI uint32 = 0x07d7 /* U+03A7 GREEK CAPITAL LETTER CHI */
const KeyGreekDELTA uint32 = 0x07c4 /* U+0394 GREEK CAPITAL LETTER DELTA */
const KeyGreekEPSILON uint32 = 0x07c5 /* U+0395 GREEK CAPITAL LETTER EPSILON */
const KeyGreekEPSILONaccent uint32 = 0x07a2 /* U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS */
const KeyGreekETA uint32 = 0x07c7 /* U+0397 GREEK CAPITAL LETTER ETA */
const KeyGreekETAaccent uint32 = 0x07a3 /* U+0389 GREEK CAPITAL LETTER ETA WITH TONOS */
const KeyGreekGAMMA uint32 = 0x07c3 /* U+0393 GREEK CAPITAL LETTER GAMMA */
const KeyGreekIOTA uint32 = 0x07c9 /* U+0399 GREEK CAPITAL LETTER IOTA */
const KeyGreekIOTAaccent uint32 = 0x07a4 /* U+038A GREEK CAPITAL LETTER IOTA WITH TONOS */
const KeyGreekIOTAdieresis uint32 = 0x07a5 /* U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
const KeyGreekKAPPA uint32 = 0x07ca /* U+039A GREEK CAPITAL LETTER KAPPA */
const KeyGreekLAMBDA uint32 = 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
const KeyGreekLAMDA uint32 = 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
const KeyGreekMU uint32 = 0x07cc /* U+039C GREEK CAPITAL LETTER MU */
const KeyGreekNU uint32 = 0x07cd /* U+039D GREEK CAPITAL LETTER NU */
const KeyGreekOMEGA uint32 = 0x07d9 /* U+03A9 GREEK CAPITAL LETTER OMEGA */
const KeyGreekOMEGAaccent uint32 = 0x07ab /* U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS */
const KeyGreekOMICRON uint32 = 0x07cf /* U+039F GREEK CAPITAL LETTER OMICRON */
const KeyGreekOMICRONaccent uint32 = 0x07a7 /* U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS */
const KeyGreekPHI uint32 = 0x07d6 /* U+03A6 GREEK CAPITAL LETTER PHI */
const KeyGreekPI uint32 = 0x07d0 /* U+03A0 GREEK CAPITAL LETTER PI */
const KeyGreekPSI uint32 = 0x07d8 /* U+03A8 GREEK CAPITAL LETTER PSI */
const KeyGreekRHO uint32 = 0x07d1 /* U+03A1 GREEK CAPITAL LETTER RHO */
const KeyGreekSIGMA uint32 = 0x07d2 /* U+03A3 GREEK CAPITAL LETTER SIGMA */
const KeyGreekTAU uint32 = 0x07d4 /* U+03A4 GREEK CAPITAL LETTER TAU */
const KeyGreekTHETA uint32 = 0x07c8 /* U+0398 GREEK CAPITAL LETTER THETA */
const KeyGreekUPSILON uint32 = 0x07d5 /* U+03A5 GREEK CAPITAL LETTER UPSILON */
const KeyGreekUPSILONaccent uint32 = 0x07a8 /* U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS */
const KeyGreekUPSILONdieresis uint32 = 0x07a9 /* U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
const KeyGreekXI uint32 = 0x07ce /* U+039E GREEK CAPITAL LETTER XI */
const KeyGreekZETA uint32 = 0x07c6 /* U+0396 GREEK CAPITAL LETTER ZETA */
const KeyGreekaccentdieresis uint32 = 0x07ae /* U+0385 GREEK DIALYTIKA TONOS */
const KeyGreekalpha uint32 = 0x07e1 /* U+03B1 GREEK SMALL LETTER ALPHA */
const KeyGreekalphaaccent uint32 = 0x07b1 /* U+03AC GREEK SMALL LETTER ALPHA WITH TONOS */
const KeyGreekbeta uint32 = 0x07e2 /* U+03B2 GREEK SMALL LETTER BETA */
const KeyGreekchi uint32 = 0x07f7 /* U+03C7 GREEK SMALL LETTER CHI */
const KeyGreekdelta uint32 = 0x07e4 /* U+03B4 GREEK SMALL LETTER DELTA */
const KeyGreekepsilon uint32 = 0x07e5 /* U+03B5 GREEK SMALL LETTER EPSILON */
const KeyGreekepsilonaccent uint32 = 0x07b2 /* U+03AD GREEK SMALL LETTER EPSILON WITH TONOS */
const KeyGreeketa uint32 = 0x07e7 /* U+03B7 GREEK SMALL LETTER ETA */
const KeyGreeketaaccent uint32 = 0x07b3 /* U+03AE GREEK SMALL LETTER ETA WITH TONOS */
const KeyGreekfinalsmallsigma uint32 = 0x07f3 /* U+03C2 GREEK SMALL LETTER FINAL SIGMA */
const KeyGreekgamma uint32 = 0x07e3 /* U+03B3 GREEK SMALL LETTER GAMMA */
const KeyGreekhorizbar uint32 = 0x07af /* U+2015 HORIZONTAL BAR */
const KeyGreekiota uint32 = 0x07e9 /* U+03B9 GREEK SMALL LETTER IOTA */
const KeyGreekiotaaccent uint32 = 0x07b4 /* U+03AF GREEK SMALL LETTER IOTA WITH TONOS */
const KeyGreekiotaaccentdieresis uint32 = 0x07b6 /* U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */
const KeyGreekiotadieresis uint32 = 0x07b5 /* U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA */
const KeyGreekkappa uint32 = 0x07ea /* U+03BA GREEK SMALL LETTER KAPPA */
const KeyGreeklambda uint32 = 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
const KeyGreeklamda uint32 = 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
const KeyGreekmu uint32 = 0x07ec /* U+03BC GREEK SMALL LETTER MU */
const KeyGreeknu uint32 = 0x07ed /* U+03BD GREEK SMALL LETTER NU */
const KeyGreekomega uint32 = 0x07f9 /* U+03C9 GREEK SMALL LETTER OMEGA */
const KeyGreekomegaaccent uint32 = 0x07bb /* U+03CE GREEK SMALL LETTER OMEGA WITH TONOS */
const KeyGreekomicron uint32 = 0x07ef /* U+03BF GREEK SMALL LETTER OMICRON */
const KeyGreekomicronaccent uint32 = 0x07b7 /* U+03CC GREEK SMALL LETTER OMICRON WITH TONOS */
const KeyGreekphi uint32 = 0x07f6 /* U+03C6 GREEK SMALL LETTER PHI */
const KeyGreekpi uint32 = 0x07f0 /* U+03C0 GREEK SMALL LETTER PI */
const KeyGreekpsi uint32 = 0x07f8 /* U+03C8 GREEK SMALL LETTER PSI */
const KeyGreekrho uint32 = 0x07f1 /* U+03C1 GREEK SMALL LETTER RHO */
const KeyGreeksigma uint32 = 0x07f2 /* U+03C3 GREEK SMALL LETTER SIGMA */
const KeyGreekswitch uint32 = 0xff7e /* Alias for mode_switch */
const KeyGreektau uint32 = 0x07f4 /* U+03C4 GREEK SMALL LETTER TAU */
const KeyGreektheta uint32 = 0x07e8 /* U+03B8 GREEK SMALL LETTER THETA */
const KeyGreekupsilon uint32 = 0x07f5 /* U+03C5 GREEK SMALL LETTER UPSILON */
const KeyGreekupsilonaccent uint32 = 0x07b8 /* U+03CD GREEK SMALL LETTER UPSILON WITH TONOS */
const KeyGreekupsilonaccentdieresis uint32 = 0x07ba /* U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */
const KeyGreekupsilondieresis uint32 = 0x07b9 /* U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
const KeyGreekxi uint32 = 0x07ee /* U+03BE GREEK SMALL LETTER XI */
const KeyGreekzeta uint32 = 0x07e6 /* U+03B6 GREEK SMALL LETTER ZETA */
const KeyGuillemotleft uint32 = 0x00ab /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
const KeyGuillemotright uint32 = 0x00bb /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
const KeyH uint32 = 0x0048 /* U+0048 LATIN CAPITAL LETTER H */
const KeyHairspace uint32 = 0x0aa8 /* U+200A HAIR SPACE */
const KeyHangul uint32 = 0xff31 /* Hangul start/stop(toggle) */
const KeyHangulA uint32 = 0x0ebf /* U+314F HANGUL LETTER A */
const KeyHangulAe uint32 = 0x0ec0 /* U+3150 HANGUL LETTER AE */
const KeyHangulAraea uint32 = 0x0ef6 /* U+318D HANGUL LETTER ARAEA */
const KeyHangulAraeae uint32 = 0x0ef7 /* U+318E HANGUL LETTER ARAEAE */
const KeyHangulBanja uint32 = 0xff39 /* Banja mode */
const KeyHangulCieuc uint32 = 0x0eba /* U+314A HANGUL LETTER CHIEUCH */
const KeyHangulCodeinput uint32 = 0xff37 /* Hangul code input mode */
const KeyHangulDikeud uint32 = 0x0ea7 /* U+3137 HANGUL LETTER TIKEUT */
const KeyHangulE uint32 = 0x0ec4 /* U+3154 HANGUL LETTER E */
const KeyHangulEnd uint32 = 0xff33 /* Hangul end, English start */
const KeyHangulEo uint32 = 0x0ec3 /* U+3153 HANGUL LETTER EO */
const KeyHangulEu uint32 = 0x0ed1 /* U+3161 HANGUL LETTER EU */
const KeyHangulHanja uint32 = 0xff34 /* Start Hangul->Hanja Conversion */
const KeyHangulHieuh uint32 = 0x0ebe /* U+314E HANGUL LETTER HIEUH */
const KeyHangulI uint32 = 0x0ed3 /* U+3163 HANGUL LETTER I */
const KeyHangulIeung uint32 = 0x0eb7 /* U+3147 HANGUL LETTER IEUNG */
const KeyHangulJCieuc uint32 = 0x0eea /* U+11BE HANGUL JONGSEONG CHIEUCH */
const KeyHangulJDikeud uint32 = 0x0eda /* U+11AE HANGUL JONGSEONG TIKEUT */
const KeyHangulJHieuh uint32 = 0x0eee /* U+11C2 HANGUL JONGSEONG HIEUH */
const KeyHangulJIeung uint32 = 0x0ee8 /* U+11BC HANGUL JONGSEONG IEUNG */
const KeyHangulJJieuj uint32 = 0x0ee9 /* U+11BD HANGUL JONGSEONG CIEUC */
const KeyHangulJKhieuq uint32 = 0x0eeb /* U+11BF HANGUL JONGSEONG KHIEUKH */
const KeyHangulJKiyeog uint32 = 0x0ed4 /* U+11A8 HANGUL JONGSEONG KIYEOK */
const KeyHangulJKiyeogsios uint32 = 0x0ed6 /* U+11AA HANGUL JONGSEONG KIYEOK-SIOS */
const KeyHangulJKkogjidalrinieung uint32 = 0x0ef9 /* U+11F0 HANGUL JONGSEONG YESIEUNG */
const KeyHangulJMieum uint32 = 0x0ee3 /* U+11B7 HANGUL JONGSEONG MIEUM */
const KeyHangulJNieun uint32 = 0x0ed7 /* U+11AB HANGUL JONGSEONG NIEUN */
const KeyHangulJNieunhieuh uint32 = 0x0ed9 /* U+11AD HANGUL JONGSEONG NIEUN-HIEUH */
const KeyHangulJNieunjieuj uint32 = 0x0ed8 /* U+11AC HANGUL JONGSEONG NIEUN-CIEUC */
const KeyHangulJPansios uint32 = 0x0ef8 /* U+11EB HANGUL JONGSEONG PANSIOS */
const KeyHangulJPhieuf uint32 = 0x0eed /* U+11C1 HANGUL JONGSEONG PHIEUPH */
const KeyHangulJPieub uint32 = 0x0ee4 /* U+11B8 HANGUL JONGSEONG PIEUP */
const KeyHangulJPieubsios uint32 = 0x0ee5 /* U+11B9 HANGUL JONGSEONG PIEUP-SIOS */
const KeyHangulJRieul uint32 = 0x0edb /* U+11AF HANGUL JONGSEONG RIEUL */
const KeyHangulJRieulhieuh uint32 = 0x0ee2 /* U+11B6 HANGUL JONGSEONG RIEUL-HIEUH */
const KeyHangulJRieulkiyeog uint32 = 0x0edc /* U+11B0 HANGUL JONGSEONG RIEUL-KIYEOK */
const KeyHangulJRieulmieum uint32 = 0x0edd /* U+11B1 HANGUL JONGSEONG RIEUL-MIEUM */
const KeyHangulJRieulphieuf uint32 = 0x0ee1 /* U+11B5 HANGUL JONGSEONG RIEUL-PHIEUPH */
const KeyHangulJRieulpieub uint32 = 0x0ede /* U+11B2 HANGUL JONGSEONG RIEUL-PIEUP */
const KeyHangulJRieulsios uint32 = 0x0edf /* U+11B3 HANGUL JONGSEONG RIEUL-SIOS */
const KeyHangulJRieultieut uint32 = 0x0ee0 /* U+11B4 HANGUL JONGSEONG RIEUL-THIEUTH */
const KeyHangulJSios uint32 = 0x0ee6 /* U+11BA HANGUL JONGSEONG SIOS */
const KeyHangulJSsangkiyeog uint32 = 0x0ed5 /* U+11A9 HANGUL JONGSEONG SSANGKIYEOK */
const KeyHangulJSsangsios uint32 = 0x0ee7 /* U+11BB HANGUL JONGSEONG SSANGSIOS */
const KeyHangulJTieut uint32 = 0x0eec /* U+11C0 HANGUL JONGSEONG THIEUTH */
const KeyHangulJYeorinhieuh uint32 = 0x0efa /* U+11F9 HANGUL JONGSEONG YEORINHIEUH */
const KeyHangulJamo uint32 = 0xff35 /* Hangul Jamo mode */
const KeyHangulJeonja uint32 = 0xff38 /* Jeonja mode */
const KeyHangulJieuj uint32 = 0x0eb8 /* U+3148 HANGUL LETTER CIEUC */
const KeyHangulKhieuq uint32 = 0x0ebb /* U+314B HANGUL LETTER KHIEUKH */
const KeyHangulKiyeog uint32 = 0x0ea1 /* U+3131 HANGUL LETTER KIYEOK */
const KeyHangulKiyeogsios uint32 = 0x0ea3 /* U+3133 HANGUL LETTER KIYEOK-SIOS */
const KeyHangulKkogjidalrinieung uint32 = 0x0ef3 /* U+3181 HANGUL LETTER YESIEUNG */
const KeyHangulMieum uint32 = 0x0eb1 /* U+3141 HANGUL LETTER MIEUM */
const KeyHangulMultiplecandidate uint32 = 0xff3d /* Multiple candidate */
const KeyHangulNieun uint32 = 0x0ea4 /* U+3134 HANGUL LETTER NIEUN */
const KeyHangulNieunhieuh uint32 = 0x0ea6 /* U+3136 HANGUL LETTER NIEUN-HIEUH */
const KeyHangulNieunjieuj uint32 = 0x0ea5 /* U+3135 HANGUL LETTER NIEUN-CIEUC */
const KeyHangulO uint32 = 0x0ec7 /* U+3157 HANGUL LETTER O */
const KeyHangulOe uint32 = 0x0eca /* U+315A HANGUL LETTER OE */
const KeyHangulPansios uint32 = 0x0ef2 /* U+317F HANGUL LETTER PANSIOS */
const KeyHangulPhieuf uint32 = 0x0ebd /* U+314D HANGUL LETTER PHIEUPH */
const KeyHangulPieub uint32 = 0x0eb2 /* U+3142 HANGUL LETTER PIEUP */
const KeyHangulPieubsios uint32 = 0x0eb4 /* U+3144 HANGUL LETTER PIEUP-SIOS */
const KeyHangulPosthanja uint32 = 0xff3b /* Post Hanja conversion */
const KeyHangulPrehanja uint32 = 0xff3a /* Pre Hanja conversion */
const KeyHangulPreviouscandidate uint32 = 0xff3e /* Previous candidate */
const KeyHangulRieul uint32 = 0x0ea9 /* U+3139 HANGUL LETTER RIEUL */
const KeyHangulRieulhieuh uint32 = 0x0eb0 /* U+3140 HANGUL LETTER RIEUL-HIEUH */
const KeyHangulRieulkiyeog uint32 = 0x0eaa /* U+313A HANGUL LETTER RIEUL-KIYEOK */
const KeyHangulRieulmieum uint32 = 0x0eab /* U+313B HANGUL LETTER RIEUL-MIEUM */
const KeyHangulRieulphieuf uint32 = 0x0eaf /* U+313F HANGUL LETTER RIEUL-PHIEUPH */
const KeyHangulRieulpieub uint32 = 0x0eac /* U+313C HANGUL LETTER RIEUL-PIEUP */
const KeyHangulRieulsios uint32 = 0x0ead /* U+313D HANGUL LETTER RIEUL-SIOS */
const KeyHangulRieultieut uint32 = 0x0eae /* U+313E HANGUL LETTER RIEUL-THIEUTH */
const KeyHangulRieulyeorinhieuh uint32 = 0x0eef /* U+316D HANGUL LETTER RIEUL-YEORINHIEUH */
const KeyHangulRomaja uint32 = 0xff36 /* Hangul Romaja mode */
const KeyHangulSinglecandidate uint32 = 0xff3c /* Single candidate */
const KeyHangulSios uint32 = 0x0eb5 /* U+3145 HANGUL LETTER SIOS */
const KeyHangulSpecial uint32 = 0xff3f /* Special symbols */
const KeyHangulSsangdikeud uint32 = 0x0ea8 /* U+3138 HANGUL LETTER SSANGTIKEUT */
const KeyHangulSsangjieuj uint32 = 0x0eb9 /* U+3149 HANGUL LETTER SSANGCIEUC */
const KeyHangulSsangkiyeog uint32 = 0x0ea2 /* U+3132 HANGUL LETTER SSANGKIYEOK */
const KeyHangulSsangpieub uint32 = 0x0eb3 /* U+3143 HANGUL LETTER SSANGPIEUP */
const KeyHangulSsangsios uint32 = 0x0eb6 /* U+3146 HANGUL LETTER SSANGSIOS */
const KeyHangulStart uint32 = 0xff32 /* Hangul start */
const KeyHangulSunkyeongeummieum uint32 = 0x0ef0 /* U+3171 HANGUL LETTER KAPYEOUNMIEUM */
const KeyHangulSunkyeongeumphieuf uint32 = 0x0ef4 /* U+3184 HANGUL LETTER KAPYEOUNPHIEUPH */
const KeyHangulSunkyeongeumpieub uint32 = 0x0ef1 /* U+3178 HANGUL LETTER KAPYEOUNPIEUP */
const KeyHangulSwitch uint32 = 0xff7e /* Alias for mode_switch */
const KeyHangulTieut uint32 = 0x0ebc /* U+314C HANGUL LETTER THIEUTH */
const KeyHangulU uint32 = 0x0ecc /* U+315C HANGUL LETTER U */
const KeyHangulWa uint32 = 0x0ec8 /* U+3158 HANGUL LETTER WA */
const KeyHangulWae uint32 = 0x0ec9 /* U+3159 HANGUL LETTER WAE */
const KeyHangulWe uint32 = 0x0ece /* U+315E HANGUL LETTER WE */
const KeyHangulWeo uint32 = 0x0ecd /* U+315D HANGUL LETTER WEO */
const KeyHangulWi uint32 = 0x0ecf /* U+315F HANGUL LETTER WI */
const KeyHangulYa uint32 = 0x0ec1 /* U+3151 HANGUL LETTER YA */
const KeyHangulYae uint32 = 0x0ec2 /* U+3152 HANGUL LETTER YAE */
const KeyHangulYe uint32 = 0x0ec6 /* U+3156 HANGUL LETTER YE */
const KeyHangulYeo uint32 = 0x0ec5 /* U+3155 HANGUL LETTER YEO */
const KeyHangulYeorinhieuh uint32 = 0x0ef5 /* U+3186 HANGUL LETTER YEORINHIEUH */
const KeyHangulYi uint32 = 0x0ed2 /* U+3162 HANGUL LETTER YI */
const KeyHangulYo uint32 = 0x0ecb /* U+315B HANGUL LETTER YO */
const KeyHangulYu uint32 = 0x0ed0 /* U+3160 HANGUL LETTER YU */
const KeyHankaku uint32 = 0xff29 /* to Hankaku */
const KeyHcircumflex uint32 = 0x02a6 /* U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
const KeyHeart uint32 = 0x0aee /* U+2665 BLACK HEART SUIT */
const KeyHebrewAleph uint32 = 0x0ce0 /* U+05D0 HEBREW LETTER ALEF */
const KeyHebrewAyin uint32 = 0x0cf2 /* U+05E2 HEBREW LETTER AYIN */
const KeyHebrewBet uint32 = 0x0ce1 /* U+05D1 HEBREW LETTER BET */
const KeyHebrewChet uint32 = 0x0ce7 /* U+05D7 HEBREW LETTER HET */
const KeyHebrewDalet uint32 = 0x0ce3 /* U+05D3 HEBREW LETTER DALET */
const KeyHebrewDoublelowline uint32 = 0x0cdf /* U+2017 DOUBLE LOW LINE */
const KeyHebrewFinalkaph uint32 = 0x0cea /* U+05DA HEBREW LETTER FINAL KAF */
const KeyHebrewFinalmem uint32 = 0x0ced /* U+05DD HEBREW LETTER FINAL MEM */
const KeyHebrewFinalnun uint32 = 0x0cef /* U+05DF HEBREW LETTER FINAL NUN */
const KeyHebrewFinalpe uint32 = 0x0cf3 /* U+05E3 HEBREW LETTER FINAL PE */
const KeyHebrewFinalzade uint32 = 0x0cf5 /* U+05E5 HEBREW LETTER FINAL TSADI */
const KeyHebrewGimel uint32 = 0x0ce2 /* U+05D2 HEBREW LETTER GIMEL */
const KeyHebrewHe uint32 = 0x0ce4 /* U+05D4 HEBREW LETTER HE */
const KeyHebrewKaph uint32 = 0x0ceb /* U+05DB HEBREW LETTER KAF */
const KeyHebrewLamed uint32 = 0x0cec /* U+05DC HEBREW LETTER LAMED */
const KeyHebrewMem uint32 = 0x0cee /* U+05DE HEBREW LETTER MEM */
const KeyHebrewNun uint32 = 0x0cf0 /* U+05E0 HEBREW LETTER NUN */
const KeyHebrewPe uint32 = 0x0cf4 /* U+05E4 HEBREW LETTER PE */
const KeyHebrewQoph uint32 = 0x0cf7 /* U+05E7 HEBREW LETTER QOF */
const KeyHebrewResh uint32 = 0x0cf8 /* U+05E8 HEBREW LETTER RESH */
const KeyHebrewSamech uint32 = 0x0cf1 /* U+05E1 HEBREW LETTER SAMEKH */
const KeyHebrewShin uint32 = 0x0cf9 /* U+05E9 HEBREW LETTER SHIN */
const KeyHebrewSwitch uint32 = 0xff7e /* Alias for mode_switch */
const KeyHebrewTaw uint32 = 0x0cfa /* U+05EA HEBREW LETTER TAV */
const KeyHebrewTet uint32 = 0x0ce8 /* U+05D8 HEBREW LETTER TET */
const KeyHebrewWaw uint32 = 0x0ce5 /* U+05D5 HEBREW LETTER VAV */
const KeyHebrewYod uint32 = 0x0ce9 /* U+05D9 HEBREW LETTER YOD */
const KeyHebrewZade uint32 = 0x0cf6 /* U+05E6 HEBREW LETTER TSADI */
const KeyHebrewZain uint32 = 0x0ce6 /* U+05D6 HEBREW LETTER ZAYIN */
const KeyHelp uint32 = 0xff6a /* Help */
const KeyHenkan uint32 = 0xff23 /* Alias for Henkan_Mode */
const KeyHenkanMode uint32 = 0xff23 /* Start/Stop Conversion */
const KeyHexagram uint32 = 0x0ada
const KeyHiragana uint32 = 0xff25 /* to Hiragana */
const KeyHiraganaKatakana uint32 = 0xff27 /* Hiragana/Katakana toggle */
const KeyHome uint32 = 0xff50
const KeyHorizconnector uint32 = 0x08a3 /*(U+2500 BOX DRAWINGS LIGHT HORIZONTAL)*/
const KeyHorizlinescan1 uint32 = 0x09ef /* U+23BA HORIZONTAL SCAN LINE-1 */
const KeyHorizlinescan3 uint32 = 0x09f0 /* U+23BB HORIZONTAL SCAN LINE-3 */
const KeyHorizlinescan5 uint32 = 0x09f1 /* U+2500 BOX DRAWINGS LIGHT HORIZONTAL */
const KeyHorizlinescan7 uint32 = 0x09f2 /* U+23BC HORIZONTAL SCAN LINE-7 */
const KeyHorizlinescan9 uint32 = 0x09f3 /* U+23BD HORIZONTAL SCAN LINE-9 */
const KeyHpbacktab uint32 = 0x1000FF74
const KeyHpblock uint32 = 0x100000FC
const KeyHpclearline uint32 = 0x1000FF6F
const KeyHpdeletechar uint32 = 0x1000FF73
const KeyHpdeleteline uint32 = 0x1000FF71
const KeyHpguilder uint32 = 0x100000BE
const KeyHpinsertchar uint32 = 0x1000FF72
const KeyHpinsertline uint32 = 0x1000FF70
const KeyHpio uint32 = 0x100000EE
const KeyHpkpBacktab uint32 = 0x1000FF75
const KeyHplira uint32 = 0x100000AF
const KeyHplongminus uint32 = 0x100000F6
const KeyHpmodelock1 uint32 = 0x1000FF48
const KeyHpmodelock2 uint32 = 0x1000FF49
const KeyHpmuteAcute uint32 = 0x100000A8
const KeyHpmuteAsciicircum uint32 = 0x100000AA
const KeyHpmuteAsciitilde uint32 = 0x100000AC
const KeyHpmuteDiaeresis uint32 = 0x100000AB
const KeyHpmuteGrave uint32 = 0x100000A9
const KeyHpreset uint32 = 0x1000FF6C
const KeyHpsystem uint32 = 0x1000FF6D
const KeyHpuser uint32 = 0x1000FF6E
const KeyHpydiaeresis uint32 = 0x100000EE
const KeyHstroke uint32 = 0x02a1 /* U+0126 LATIN CAPITAL LETTER H WITH STROKE */
const KeyHt uint32 = 0x09e2 /* U+2409 SYMBOL FOR HORIZONTAL TABULATION */
const KeyHyperL uint32 = 0xffed /* Left hyper */
const KeyHyperR uint32 = 0xffee /* Right hyper */
const KeyHyphen uint32 = 0x00ad /* U+00AD SOFT HYPHEN */
const KeyI uint32 = 0x0049 /* U+0049 LATIN CAPITAL LETTER I */
const KeyIabovedot uint32 = 0x02a9 /* U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE */
const KeyIacute uint32 = 0x00cd /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */
const KeyIbelowdot uint32 = 0x1001eca /* U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW */
const KeyIbreve uint32 = 0x100012c /* U+012C LATIN CAPITAL LETTER I WITH BREVE */
const KeyIcircumflex uint32 = 0x00ce /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
const KeyIdentical uint32 = 0x08cf /* U+2261 IDENTICAL TO */
const KeyIdiaeresis uint32 = 0x00cf /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */
const KeyIfonlyif uint32 = 0x08cd /* U+21D4 LEFT RIGHT DOUBLE ARROW */
const KeyIgrave uint32 = 0x00cc /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */
const KeyIhook uint32 = 0x1001ec8 /* U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE */
const KeyImacron uint32 = 0x03cf /* U+012A LATIN CAPITAL LETTER I WITH MACRON */
const KeyImplies uint32 = 0x08ce /* U+21D2 RIGHTWARDS DOUBLE ARROW */
const KeyIncludedin uint32 = 0x08da /* U+2282 SUBSET OF */
const KeyIncludes uint32 = 0x08db /* U+2283 SUPERSET OF */
const KeyInfinity uint32 = 0x08c2 /* U+221E INFINITY */
const KeyInsert uint32 = 0xff63 /* Insert, insert here */
const KeyIntegral uint32 = 0x08bf /* U+222B INTEGRAL */
const KeyIntersection uint32 = 0x08dc /* U+2229 INTERSECTION */
const KeyIogonek uint32 = 0x03c7 /* U+012E LATIN CAPITAL LETTER I WITH OGONEK */
const KeyIsoCenterObject uint32 = 0xfe33
const KeyIsoContinuousUnderline uint32 = 0xfe30
const KeyIsoDiscontinuousUnderline uint32 = 0xfe31
const KeyIsoEmphasize uint32 = 0xfe32
const KeyIsoEnter uint32 = 0xfe34
const KeyIsoFastCursorDown uint32 = 0xfe2f
const KeyIsoFastCursorLeft uint32 = 0xfe2c
const KeyIsoFastCursorRight uint32 = 0xfe2d
const KeyIsoFastCursorUp uint32 = 0xfe2e
const KeyIsoFirstGroup uint32 = 0xfe0c
const KeyIsoFirstGroupLock uint32 = 0xfe0d
const KeyIsoGroupLatch uint32 = 0xfe06
const KeyIsoGroupLock uint32 = 0xfe07
const KeyIsoGroupShift uint32 = 0xff7e /* Alias for mode_switch */
const KeyIsoLastGroup uint32 = 0xfe0e
const KeyIsoLastGroupLock uint32 = 0xfe0f
const KeyIsoLeftTab uint32 = 0xfe20
const KeyIsoLevel2Latch uint32 = 0xfe02
const KeyIsoLevel3Latch uint32 = 0xfe04
const KeyIsoLevel3Lock uint32 = 0xfe05
const KeyIsoLevel3Shift uint32 = 0xfe03
const KeyIsoLevel5Latch uint32 = 0xfe12
const KeyIsoLevel5Lock uint32 = 0xfe13
const KeyIsoLevel5Shift uint32 = 0xfe11
const KeyIsoLock uint32 = 0xfe01
const KeyIsoMoveLineDown uint32 = 0xfe22
const KeyIsoMoveLineUp uint32 = 0xfe21
const KeyIsoNextGroup uint32 = 0xfe08
const KeyIsoNextGroupLock uint32 = 0xfe09
const KeyIsoPartialLineDown uint32 = 0xfe24
const KeyIsoPartialLineUp uint32 = 0xfe23
const KeyIsoPartialSpaceLeft uint32 = 0xfe25
const KeyIsoPartialSpaceRight uint32 = 0xfe26
const KeyIsoPrevGroup uint32 = 0xfe0a
const KeyIsoPrevGroupLock uint32 = 0xfe0b
const KeyIsoReleaseBothMargins uint32 = 0xfe2b
const KeyIsoReleaseMarginLeft uint32 = 0xfe29
const KeyIsoReleaseMarginRight uint32 = 0xfe2a
const KeyIsoSetMarginLeft uint32 = 0xfe27
const KeyIsoSetMarginRight uint32 = 0xfe28
const KeyItilde uint32 = 0x03a5 /* U+0128 LATIN CAPITAL LETTER I WITH TILDE */
const KeyJ uint32 = 0x004a /* U+004A LATIN CAPITAL LETTER J */
const KeyJcircumflex uint32 = 0x02ac /* U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
const KeyJot uint32 = 0x0bca /* U+2218 RING OPERATOR */
const KeyK uint32 = 0x004b /* U+004B LATIN CAPITAL LETTER K */
const KeyKanaA uint32 = 0x04b1 /* U+30A2 KATAKANA LETTER A */
const KeyKanaCHI uint32 = 0x04c1 /* U+30C1 KATAKANA LETTER TI */
const KeyKanaE uint32 = 0x04b4 /* U+30A8 KATAKANA LETTER E */
const KeyKanaFU uint32 = 0x04cc /* U+30D5 KATAKANA LETTER HU */
const KeyKanaHA uint32 = 0x04ca /* U+30CF KATAKANA LETTER HA */
const KeyKanaHE uint32 = 0x04cd /* U+30D8 KATAKANA LETTER HE */
const KeyKanaHI uint32 = 0x04cb /* U+30D2 KATAKANA LETTER HI */
const KeyKanaHO uint32 = 0x04ce /* U+30DB KATAKANA LETTER HO */
const KeyKanaI uint32 = 0x04b2 /* U+30A4 KATAKANA LETTER I */
const KeyKanaKA uint32 = 0x04b6 /* U+30AB KATAKANA LETTER KA */
const KeyKanaKE uint32 = 0x04b9 /* U+30B1 KATAKANA LETTER KE */
const KeyKanaKI uint32 = 0x04b7 /* U+30AD KATAKANA LETTER KI */
const KeyKanaKO uint32 = 0x04ba /* U+30B3 KATAKANA LETTER KO */
const KeyKanaKU uint32 = 0x04b8 /* U+30AF KATAKANA LETTER KU */
const KeyKanaLock uint32 = 0xff2d /* Kana Lock */
const KeyKanaMA uint32 = 0x04cf /* U+30DE KATAKANA LETTER MA */
const KeyKanaME uint32 = 0x04d2 /* U+30E1 KATAKANA LETTER ME */
const KeyKanaMI uint32 = 0x04d0 /* U+30DF KATAKANA LETTER MI */
const KeyKanaMO uint32 = 0x04d3 /* U+30E2 KATAKANA LETTER MO */
const KeyKanaMU uint32 = 0x04d1 /* U+30E0 KATAKANA LETTER MU */
const KeyKanaN uint32 = 0x04dd /* U+30F3 KATAKANA LETTER N */
const KeyKanaNA uint32 = 0x04c5 /* U+30CA KATAKANA LETTER NA */
const KeyKanaNE uint32 = 0x04c8 /* U+30CD KATAKANA LETTER NE */
const KeyKanaNI uint32 = 0x04c6 /* U+30CB KATAKANA LETTER NI */
const KeyKanaNO uint32 = 0x04c9 /* U+30CE KATAKANA LETTER NO */
const KeyKanaNU uint32 = 0x04c7 /* U+30CC KATAKANA LETTER NU */
const KeyKanaO uint32 = 0x04b5 /* U+30AA KATAKANA LETTER O */
const KeyKanaRA uint32 = 0x04d7 /* U+30E9 KATAKANA LETTER RA */
const KeyKanaRE uint32 = 0x04da /* U+30EC KATAKANA LETTER RE */
const KeyKanaRI uint32 = 0x04d8 /* U+30EA KATAKANA LETTER RI */
const KeyKanaRO uint32 = 0x04db /* U+30ED KATAKANA LETTER RO */
const KeyKanaRU uint32 = 0x04d9 /* U+30EB KATAKANA LETTER RU */
const KeyKanaSA uint32 = 0x04bb /* U+30B5 KATAKANA LETTER SA */
const KeyKanaSE uint32 = 0x04be /* U+30BB KATAKANA LETTER SE */
const KeyKanaSHI uint32 = 0x04bc /* U+30B7 KATAKANA LETTER SI */
const KeyKanaSO uint32 = 0x04bf /* U+30BD KATAKANA LETTER SO */
const KeyKanaSU uint32 = 0x04bd /* U+30B9 KATAKANA LETTER SU */
const KeyKanaShift uint32 = 0xff2e /* Kana Shift */
const KeyKanaTA uint32 = 0x04c0 /* U+30BF KATAKANA LETTER TA */
const KeyKanaTE uint32 = 0x04c3 /* U+30C6 KATAKANA LETTER TE */
const KeyKanaTO uint32 = 0x04c4 /* U+30C8 KATAKANA LETTER TO */
const KeyKanaTSU uint32 = 0x04c2 /* U+30C4 KATAKANA LETTER TU */
const KeyKanaU uint32 = 0x04b3 /* U+30A6 KATAKANA LETTER U */
const KeyKanaWA uint32 = 0x04dc /* U+30EF KATAKANA LETTER WA */
const KeyKanaWO uint32 = 0x04a6 /* U+30F2 KATAKANA LETTER WO */
const KeyKanaYA uint32 = 0x04d4 /* U+30E4 KATAKANA LETTER YA */
const KeyKanaYO uint32 = 0x04d6 /* U+30E8 KATAKANA LETTER YO */
const KeyKanaYU uint32 = 0x04d5 /* U+30E6 KATAKANA LETTER YU */
const KeyKanaa uint32 = 0x04a7 /* U+30A1 KATAKANA LETTER SMALL A */
const KeyKanaclosingbracket uint32 = 0x04a3 /* U+300D RIGHT CORNER BRACKET */
const KeyKanacomma uint32 = 0x04a4 /* U+3001 IDEOGRAPHIC COMMA */
const KeyKanaconjunctive uint32 = 0x04a5 /* U+30FB KATAKANA MIDDLE DOT */
const KeyKanae uint32 = 0x04aa /* U+30A7 KATAKANA LETTER SMALL E */
const KeyKanafullstop uint32 = 0x04a1 /* U+3002 IDEOGRAPHIC FULL STOP */
const KeyKanai uint32 = 0x04a8 /* U+30A3 KATAKANA LETTER SMALL I */
const KeyKanao uint32 = 0x04ab /* U+30A9 KATAKANA LETTER SMALL O */
const KeyKanaopeningbracket uint32 = 0x04a2 /* U+300C LEFT CORNER BRACKET */
const KeyKanaswitch uint32 = 0xff7e /* Alias for mode_switch */
const KeyKanatsu uint32 = 0x04af /* U+30C3 KATAKANA LETTER SMALL TU */
const KeyKanau uint32 = 0x04a9 /* U+30A5 KATAKANA LETTER SMALL U */
const KeyKanaya uint32 = 0x04ac /* U+30E3 KATAKANA LETTER SMALL YA */
const KeyKanayo uint32 = 0x04ae /* U+30E7 KATAKANA LETTER SMALL YO */
const KeyKanayu uint32 = 0x04ad /* U+30E5 KATAKANA LETTER SMALL YU */
const KeyKanji uint32 = 0xff21 /* Kanji, Kanji convert */
const KeyKanjiBangou uint32 = 0xff37 /* Codeinput */
const KeyKatakana uint32 = 0xff26 /* to Katakana */
const KeyKcedilla uint32 = 0x03d3 /* U+0136 LATIN CAPITAL LETTER K WITH CEDILLA */
const KeyKoreanWon uint32 = 0x0eff /*(U+20A9 WON SIGN)*/
const KeyKp0 uint32 = 0xffb0
const KeyKp1 uint32 = 0xffb1
const KeyKp2 uint32 = 0xffb2
const KeyKp3 uint32 = 0xffb3
const KeyKp4 uint32 = 0xffb4
const KeyKp5 uint32 = 0xffb5
const KeyKp6 uint32 = 0xffb6
const KeyKp7 uint32 = 0xffb7
const KeyKp8 uint32 = 0xffb8
const KeyKp9 uint32 = 0xffb9
const KeyKpAdd uint32 = 0xffab
const KeyKpBegin uint32 = 0xff9d
const KeyKpDecimal uint32 = 0xffae
const KeyKpDelete uint32 = 0xff9f
const KeyKpDivide uint32 = 0xffaf
const KeyKpDown uint32 = 0xff99
const KeyKpEnd uint32 = 0xff9c
const KeyKpEnter uint32 = 0xff8d /* Enter */
const KeyKpEqual uint32 = 0xffbd /* Equals */
const KeyKpF1 uint32 = 0xff91 /* PF1, KP_A, ... */
const KeyKpF2 uint32 = 0xff92
const KeyKpF3 uint32 = 0xff93
const KeyKpF4 uint32 = 0xff94
const KeyKpHome uint32 = 0xff95
const KeyKpInsert uint32 = 0xff9e
const KeyKpLeft uint32 = 0xff96
const KeyKpMultiply uint32 = 0xffaa
const KeyKpNext uint32 = 0xff9b
const KeyKpPageDown uint32 = 0xff9b
const KeyKpPageUp uint32 = 0xff9a
const KeyKpPrior uint32 = 0xff9a
const KeyKpRight uint32 = 0xff98
const KeyKpSeparator uint32 = 0xffac /* Separator, often comma */
const KeyKpSpace uint32 = 0xff80 /* Space */
const KeyKpSubtract uint32 = 0xffad
const KeyKpTab uint32 = 0xff89
const KeyKpUp uint32 = 0xff97
const KeyL uint32 = 0x004c /* U+004C LATIN CAPITAL LETTER L */
const KeyL1 uint32 = 0xffc8
const KeyL10 uint32 = 0xffd1
const KeyL2 uint32 = 0xffc9
const KeyL3 uint32 = 0xffca
const KeyL4 uint32 = 0xffcb
const KeyL5 uint32 = 0xffcc
const KeyL6 uint32 = 0xffcd
const KeyL7 uint32 = 0xffce
const KeyL8 uint32 = 0xffcf
const KeyL9 uint32 = 0xffd0
const KeyLacute uint32 = 0x01c5 /* U+0139 LATIN CAPITAL LETTER L WITH ACUTE */
const KeyLastVirtualScreen uint32 = 0xfed4
const KeyLatincross uint32 = 0x0ad9 /* U+271D LATIN CROSS */
const KeyLbelowdot uint32 = 0x1001e36 /* U+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW */
const KeyLcaron uint32 = 0x01a5 /* U+013D LATIN CAPITAL LETTER L WITH CARON */
const KeyLcedilla uint32 = 0x03a6 /* U+013B LATIN CAPITAL LETTER L WITH CEDILLA */
const KeyLeft uint32 = 0xff51 /* Move left, left arrow */
const KeyLeftanglebracket uint32 = 0x0abc /*(U+2329 LEFT-POINTING ANGLE BRACKET)*/
const KeyLeftarrow uint32 = 0x08fb /* U+2190 LEFTWARDS ARROW */
const KeyLeftcaret uint32 = 0x0ba3 /*(U+003C LESS-THAN SIGN)*/
const KeyLeftdoublequotemark uint32 = 0x0ad2 /* U+201C LEFT DOUBLE QUOTATION MARK */
const KeyLeftmiddlecurlybrace uint32 = 0x08af /* U+23A8 LEFT CURLY BRACKET MIDDLE PIECE */
const KeyLeftopentriangle uint32 = 0x0acc /*(U+25C1 WHITE LEFT-POINTING TRIANGLE)*/
const KeyLeftpointer uint32 = 0x0aea /*(U+261C WHITE LEFT POINTING INDEX)*/
const KeyLeftradical uint32 = 0x08a1 /* U+23B7 RADICAL SYMBOL BOTTOM */
const KeyLeftshoe uint32 = 0x0bda /*(U+2282 SUBSET OF)*/
const KeyLeftsinglequotemark uint32 = 0x0ad0 /* U+2018 LEFT SINGLE QUOTATION MARK */
const KeyLeftt uint32 = 0x09f4 /* U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
const KeyLefttack uint32 = 0x0bdc /* U+22A3 LEFT TACK */
const KeyLess uint32 = 0x003c /* U+003C LESS-THAN SIGN */
const KeyLessthanequal uint32 = 0x08bc /* U+2264 LESS-THAN OR EQUAL TO */
const KeyLf uint32 = 0x09e5 /* U+240A SYMBOL FOR LINE FEED */
const KeyLinefeed uint32 = 0xff0a /* Linefeed, LF */
const KeyLirasign uint32 = 0x10020a4 /* U+20A4 LIRA SIGN */
const KeyLogicaland uint32 = 0x08de /* U+2227 LOGICAL AND */
const KeyLogicalor uint32 = 0x08df /* U+2228 LOGICAL OR */
const KeyLowleftcorner uint32 = 0x09ed /* U+2514 BOX DRAWINGS LIGHT UP AND RIGHT */
const KeyLowrightcorner uint32 = 0x09ea /* U+2518 BOX DRAWINGS LIGHT UP AND LEFT */
const KeyLstroke uint32 = 0x01a3 /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
const KeyM uint32 = 0x004d /* U+004D LATIN CAPITAL LETTER M */
const KeyMabovedot uint32 = 0x1001e40 /* U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE */
const KeyMacedoniaDSE uint32 = 0x06b5 /* U+0405 CYRILLIC CAPITAL LETTER DZE */
const KeyMacedoniaGJE uint32 = 0x06b2 /* U+0403 CYRILLIC CAPITAL LETTER GJE */
const KeyMacedoniaKJE uint32 = 0x06bc /* U+040C CYRILLIC CAPITAL LETTER KJE */
const KeyMacedoniadse uint32 = 0x06a5 /* U+0455 CYRILLIC SMALL LETTER DZE */
const KeyMacedoniagje uint32 = 0x06a2 /* U+0453 CYRILLIC SMALL LETTER GJE */
const KeyMacedoniakje uint32 = 0x06ac /* U+045C CYRILLIC SMALL LETTER KJE */
const KeyMacron uint32 = 0x00af /* U+00AF MACRON */
const KeyMaeKoho uint32 = 0xff3e /* Previous Candidate */
const KeyMaleSymbol uint32 = 0x0af7 /* U+2642 MALE SIGN */
const KeyMaltesecross uint32 = 0x0af0 /* U+2720 MALTESE CROSS */
const KeyMarker uint32 = 0x0abf
const KeyMasculine uint32 = 0x00ba /* U+00BA MASCULINE ORDINAL INDICATOR */
const KeyMassyo uint32 = 0xff2c /* Delete from Dictionary */
const KeyMenu uint32 = 0xff67
const KeyMetaL uint32 = 0xffe7 /* Left meta */
const KeyMetaR uint32 = 0xffe8 /* Right meta */
const KeyMillsign uint32 = 0x10020a5 /* U+20A5 MILL SIGN */
const KeyMinus uint32 = 0x002d /* U+002D HYPHEN-MINUS */
const KeyMinutes uint32 = 0x0ad6 /* U+2032 PRIME */
const KeyModeSwitch uint32 = 0xff7e /* Character set switch */
const KeyMousekeysAccelEnable uint32 = 0xfe77
const KeyMousekeysEnable uint32 = 0xfe76
const KeyMu uint32 = 0x00b5 /* U+00B5 MICRO SIGN */
const KeyMuhenkan uint32 = 0xff22 /* Cancel Conversion */
const KeyMultiKey uint32 = 0xff20 /* Multi-key character compose */
const KeyMultiplecandidate uint32 = 0xff3d
const KeyMusicalflat uint32 = 0x0af6 /* U+266D MUSIC FLAT SIGN */
const KeyMusicalsharp uint32 = 0x0af5 /* U+266F MUSIC SHARP SIGN */
const KeyN uint32 = 0x004e /* U+004E LATIN CAPITAL LETTER N */
const KeyNabla uint32 = 0x08c5 /* U+2207 NABLA */
const KeyNacute uint32 = 0x01d1 /* U+0143 LATIN CAPITAL LETTER N WITH ACUTE */
const KeyNairasign uint32 = 0x10020a6 /* U+20A6 NAIRA SIGN */
const KeyNcaron uint32 = 0x01d2 /* U+0147 LATIN CAPITAL LETTER N WITH CARON */
const KeyNcedilla uint32 = 0x03d1 /* U+0145 LATIN CAPITAL LETTER N WITH CEDILLA */
const KeyNewsheqelsign uint32 = 0x10020aa /* U+20AA NEW SHEQEL SIGN */
const KeyNext uint32 = 0xff56 /* Next */
const KeyNextVirtualScreen uint32 = 0xfed2
const KeyNinesubscript uint32 = 0x1002089 /* U+2089 SUBSCRIPT NINE */
const KeyNinesuperior uint32 = 0x1002079 /* U+2079 SUPERSCRIPT NINE */
const KeyNl uint32 = 0x09e8 /* U+2424 SYMBOL FOR NEWLINE */
const KeyNoSymbol uint32 = 0x000000 /* Special KeySym */
const KeyNobreakspace uint32 = 0x00a0 /* U+00A0 NO-BREAK SPACE */
const KeyNotapproxeq uint32 = 0x1002247 /* U+2247 NOT ALMOST EQUAL TO */
const KeyNotelementof uint32 = 0x1002209 /* U+2209 NOT AN ELEMENT OF */
const KeyNotequal uint32 = 0x08bd /* U+2260 NOT EQUAL TO */
const KeyNotidentical uint32 = 0x1002262 /* U+2262 NOT IDENTICAL TO */
const KeyNotsign uint32 = 0x00ac /* U+00AC NOT SIGN */
const KeyNtilde uint32 = 0x00d1 /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */
const KeyNumLock uint32 = 0xff7f
const KeyNumbersign uint32 = 0x0023 /* U+0023 NUMBER SIGN */
const KeyO uint32 = 0x004f /* U+004F LATIN CAPITAL LETTER O */
const KeyOE uint32 = 0x13bc /* U+0152 LATIN CAPITAL LIGATURE OE */
const KeyOacute uint32 = 0x00d3 /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */
const KeyObarred uint32 = 0x100019f /* U+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE */
const KeyObelowdot uint32 = 0x1001ecc /* U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW */
const KeyOcaron uint32 = 0x10001d1 /* U+01D1 LATIN CAPITAL LETTER O WITH CARON */
const KeyOcircumflex uint32 = 0x00d4 /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
const KeyOcircumflexacute uint32 = 0x1001ed0 /* U+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE */
const KeyOcircumflexbelowdot uint32 = 0x1001ed8 /* U+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
const KeyOcircumflexgrave uint32 = 0x1001ed2 /* U+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE */
const KeyOcircumflexhook uint32 = 0x1001ed4 /* U+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
const KeyOcircumflextilde uint32 = 0x1001ed6 /* U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE */
const KeyOdiaeresis uint32 = 0x00d6 /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */
const KeyOdoubleacute uint32 = 0x01d5 /* U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
const KeyOgrave uint32 = 0x00d2 /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */
const KeyOhook uint32 = 0x1001ece /* U+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE */
const KeyOhorn uint32 = 0x10001a0 /* U+01A0 LATIN CAPITAL LETTER O WITH HORN */
const KeyOhornacute uint32 = 0x1001eda /* U+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE */
const KeyOhornbelowdot uint32 = 0x1001ee2 /* U+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW */
const KeyOhorngrave uint32 = 0x1001edc /* U+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE */
const KeyOhornhook uint32 = 0x1001ede /* U+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE */
const KeyOhorntilde uint32 = 0x1001ee0 /* U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE */
const KeyOmacron uint32 = 0x03d2 /* U+014C LATIN CAPITAL LETTER O WITH MACRON */
const KeyOneeighth uint32 = 0x0ac3 /* U+215B VULGAR FRACTION ONE EIGHTH */
const KeyOnefifth uint32 = 0x0ab2 /* U+2155 VULGAR FRACTION ONE FIFTH */
const KeyOnehalf uint32 = 0x00bd /* U+00BD VULGAR FRACTION ONE HALF */
const KeyOnequarter uint32 = 0x00bc /* U+00BC VULGAR FRACTION ONE QUARTER */
const KeyOnesixth uint32 = 0x0ab6 /* U+2159 VULGAR FRACTION ONE SIXTH */
const KeyOnesubscript uint32 = 0x1002081 /* U+2081 SUBSCRIPT ONE */
const KeyOnesuperior uint32 = 0x00b9 /* U+00B9 SUPERSCRIPT ONE */
const KeyOnethird uint32 = 0x0ab0 /* U+2153 VULGAR FRACTION ONE THIRD */
const KeyOoblique uint32 = 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
const KeyOpenrectbullet uint32 = 0x0ae2 /*(U+25AD WHITE RECTANGLE)*/
const KeyOpenstar uint32 = 0x0ae5 /*(U+2606 WHITE STAR)*/
const KeyOpentribulletdown uint32 = 0x0ae4 /*(U+25BD WHITE DOWN-POINTING TRIANGLE)*/
const KeyOpentribulletup uint32 = 0x0ae3 /*(U+25B3 WHITE UP-POINTING TRIANGLE)*/
const KeyOrdfeminine uint32 = 0x00aa /* U+00AA FEMININE ORDINAL INDICATOR */
const KeyOsfactivate uint32 = 0x1004FF44
const KeyOsfaddmode uint32 = 0x1004FF31
const KeyOsfbackspace uint32 = 0x1004FF08
const KeyOsfbacktab uint32 = 0x1004FF07
const KeyOsfbegindata uint32 = 0x1004FF5A
const KeyOsfbeginline uint32 = 0x1004FF58
const KeyOsfcancel uint32 = 0x1004FF69
const KeyOsfclear uint32 = 0x1004FF0B
const KeyOsfcopy uint32 = 0x1004FF02
const KeyOsfcut uint32 = 0x1004FF03
const KeyOsfdelete uint32 = 0x1004FFFF
const KeyOsfdeselectall uint32 = 0x1004FF72
const KeyOsfdown uint32 = 0x1004FF54
const KeyOsfenddata uint32 = 0x1004FF59
const KeyOsfendline uint32 = 0x1004FF57
const KeyOsfescape uint32 = 0x1004FF1B
const KeyOsfextend uint32 = 0x1004FF74
const KeyOsfhelp uint32 = 0x1004FF6A
const KeyOsfinsert uint32 = 0x1004FF63
const KeyOsfleft uint32 = 0x1004FF51
const KeyOsfnextfield uint32 = 0x1004FF5E
const KeyOsfpagedown uint32 = 0x1004FF42
const KeyOsfpageleft uint32 = 0x1004FF40
const KeyOsfpageright uint32 = 0x1004FF43
const KeyOsfpageup uint32 = 0x1004FF41
const KeyOsfpaste uint32 = 0x1004FF04
const KeyOsfprevfield uint32 = 0x1004FF5D
const KeyOsfprimarypaste uint32 = 0x1004FF32
const KeyOsfquickpaste uint32 = 0x1004FF33
const KeyOsfreselect uint32 = 0x1004FF73
const KeyOsfrestore uint32 = 0x1004FF78
const KeyOsfright uint32 = 0x1004FF53
const KeyOsfselect uint32 = 0x1004FF60
const KeyOsfselectall uint32 = 0x1004FF71
const KeyOsfundo uint32 = 0x1004FF65
const KeyOsfup uint32 = 0x1004FF52
const KeyOslash uint32 = 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
const KeyOtilde uint32 = 0x00d5 /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */
const KeyOverbar uint32 = 0x0bc0 /*(U+00AF MACRON)*/
const KeyOverlay1Enable uint32 = 0xfe78
const KeyOverlay2Enable uint32 = 0xfe79
const KeyP uint32 = 0x0050 /* U+0050 LATIN CAPITAL LETTER P */
const KeyPabovedot uint32 = 0x1001e56 /* U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE */
const KeyPageDown uint32 = 0xff56
const KeyPageUp uint32 = 0xff55
const KeyParagraph uint32 = 0x00b6 /* U+00B6 PILCROW SIGN */
const KeyParenleft uint32 = 0x0028 /* U+0028 LEFT PARENTHESIS */
const KeyParenright uint32 = 0x0029 /* U+0029 RIGHT PARENTHESIS */
const KeyPartdifferential uint32 = 0x1002202 /* U+2202 PARTIAL DIFFERENTIAL */
const KeyPartialderivative uint32 = 0x08ef /* U+2202 PARTIAL DIFFERENTIAL */
const KeyPause uint32 = 0xff13 /* Pause, hold */
const KeyPercent uint32 = 0x0025 /* U+0025 PERCENT SIGN */
const KeyPeriod uint32 = 0x002e /* U+002E FULL STOP */
const KeyPeriodcentered uint32 = 0x00b7 /* U+00B7 MIDDLE DOT */
const KeyPermille uint32 = 0x0ad5 /* U+2030 PER MILLE SIGN */
const KeyPesetasign uint32 = 0x10020a7 /* U+20A7 PESETA SIGN */
const KeyPhonographcopyright uint32 = 0x0afb /* U+2117 SOUND RECORDING COPYRIGHT */
const KeyPlus uint32 = 0x002b /* U+002B PLUS SIGN */
const KeyPlusminus uint32 = 0x00b1 /* U+00B1 PLUS-MINUS SIGN */
const KeyPointerAccelerate uint32 = 0xfefa
const KeyPointerButton1 uint32 = 0xfee9
const KeyPointerButton2 uint32 = 0xfeea
const KeyPointerButton3 uint32 = 0xfeeb
const KeyPointerButton4 uint32 = 0xfeec
const KeyPointerButton5 uint32 = 0xfeed
const KeyPointerButtonDflt uint32 = 0xfee8
const KeyPointerDblclick1 uint32 = 0xfeef
const KeyPointerDblclick2 uint32 = 0xfef0
const KeyPointerDblclick3 uint32 = 0xfef1
const KeyPointerDblclick4 uint32 = 0xfef2
const KeyPointerDblclick5 uint32 = 0xfef3
const KeyPointerDblclickDflt uint32 = 0xfeee
const KeyPointerDfltbtnnext uint32 = 0xfefb
const KeyPointerDfltbtnprev uint32 = 0xfefc
const KeyPointerDown uint32 = 0xfee3
const KeyPointerDownleft uint32 = 0xfee6
const KeyPointerDownright uint32 = 0xfee7
const KeyPointerDrag1 uint32 = 0xfef5
const KeyPointerDrag2 uint32 = 0xfef6
const KeyPointerDrag3 uint32 = 0xfef7
const KeyPointerDrag4 uint32 = 0xfef8
const KeyPointerDrag5 uint32 = 0xfefd
const KeyPointerDragDflt uint32 = 0xfef4
const KeyPointerEnablekeys uint32 = 0xfef9
const KeyPointerLeft uint32 = 0xfee0
const KeyPointerRight uint32 = 0xfee1
const KeyPointerUp uint32 = 0xfee2
const KeyPointerUpleft uint32 = 0xfee4
const KeyPointerUpright uint32 = 0xfee5
const KeyPrescription uint32 = 0x0ad4 /* U+211E PRESCRIPTION TAKE */
const KeyPrevVirtualScreen uint32 = 0xfed1
const KeyPreviouscandidate uint32 = 0xff3e
const KeyPrint uint32 = 0xff61
const KeyPrior uint32 = 0xff55 /* Prior, previous */
const KeyPunctspace uint32 = 0x0aa6 /* U+2008 PUNCTUATION SPACE */
const KeyQ uint32 = 0x0051 /* U+0051 LATIN CAPITAL LETTER Q */
const KeyQuad uint32 = 0x0bcc /* U+2395 APL FUNCTIONAL SYMBOL QUAD */
const KeyQuestion uint32 = 0x003f /* U+003F QUESTION MARK */
const KeyQuestiondown uint32 = 0x00bf /* U+00BF INVERTED QUESTION MARK */
const KeyQuotedbl uint32 = 0x0022 /* U+0022 QUOTATION MARK */
const KeyR uint32 = 0x0052 /* U+0052 LATIN CAPITAL LETTER R */
const KeyR1 uint32 = 0xffd2
const KeyR10 uint32 = 0xffdb
const KeyR11 uint32 = 0xffdc
const KeyR12 uint32 = 0xffdd
const KeyR13 uint32 = 0xffde
const KeyR14 uint32 = 0xffdf
const KeyR15 uint32 = 0xffe0
const KeyR2 uint32 = 0xffd3
const KeyR3 uint32 = 0xffd4
const KeyR4 uint32 = 0xffd5
const KeyR5 uint32 = 0xffd6
const KeyR6 uint32 = 0xffd7
const KeyR7 uint32 = 0xffd8
const KeyR8 uint32 = 0xffd9
const KeyR9 uint32 = 0xffda
const KeyRacute uint32 = 0x01c0 /* U+0154 LATIN CAPITAL LETTER R WITH ACUTE */
const KeyRadical uint32 = 0x08d6 /* U+221A SQUARE ROOT */
const KeyRcaron uint32 = 0x01d8 /* U+0158 LATIN CAPITAL LETTER R WITH CARON */
const KeyRcedilla uint32 = 0x03a3 /* U+0156 LATIN CAPITAL LETTER R WITH CEDILLA */
const KeyRedo uint32 = 0xff66 /* Redo, again */
const KeyRegistered uint32 = 0x00ae /* U+00AE REGISTERED SIGN */
const KeyRepeatkeysEnable uint32 = 0xfe72
const KeyReturn uint32 = 0xff0d /* Return, enter */
const KeyRight uint32 = 0xff53 /* Move right, right arrow */
const KeyRightanglebracket uint32 = 0x0abe /*(U+232A RIGHT-POINTING ANGLE BRACKET)*/
const KeyRightarrow uint32 = 0x08fd /* U+2192 RIGHTWARDS ARROW */
const KeyRightcaret uint32 = 0x0ba6 /*(U+003E GREATER-THAN SIGN)*/
const KeyRightdoublequotemark uint32 = 0x0ad3 /* U+201D RIGHT DOUBLE QUOTATION MARK */
const KeyRightmiddlecurlybrace uint32 = 0x08b0 /* U+23AC RIGHT CURLY BRACKET MIDDLE PIECE */
const KeyRightmiddlesummation uint32 = 0x08b7
const KeyRightopentriangle uint32 = 0x0acd /*(U+25B7 WHITE RIGHT-POINTING TRIANGLE)*/
const KeyRightpointer uint32 = 0x0aeb /*(U+261E WHITE RIGHT POINTING INDEX)*/
const KeyRightshoe uint32 = 0x0bd8 /*(U+2283 SUPERSET OF)*/
const KeyRightsinglequotemark uint32 = 0x0ad1 /* U+2019 RIGHT SINGLE QUOTATION MARK */
const KeyRightt uint32 = 0x09f5 /* U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT */
const KeyRighttack uint32 = 0x0bfc /* U+22A2 RIGHT TACK */
const KeyRomaji uint32 = 0xff24 /* to Romaji */
const KeyRupeesign uint32 = 0x10020a8 /* U+20A8 RUPEE SIGN */
const KeyS uint32 = 0x0053 /* U+0053 LATIN CAPITAL LETTER S */
const KeySCHWA uint32 = 0x100018f /* U+018F LATIN CAPITAL LETTER SCHWA */
const KeySabovedot uint32 = 0x1001e60 /* U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE */
const KeySacute uint32 = 0x01a6 /* U+015A LATIN CAPITAL LETTER S WITH ACUTE */
const KeyScaron uint32 = 0x01a9 /* U+0160 LATIN CAPITAL LETTER S WITH CARON */
const KeyScedilla uint32 = 0x01aa /* U+015E LATIN CAPITAL LETTER S WITH CEDILLA */
const KeyScircumflex uint32 = 0x02de /* U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
const KeyScriptSwitch uint32 = 0xff7e /* Alias for mode_switch */
const KeyScrollLock uint32 = 0xff14
const KeySeconds uint32 = 0x0ad7 /* U+2033 DOUBLE PRIME */
const KeySection uint32 = 0x00a7 /* U+00A7 SECTION SIGN */
const KeySelect uint32 = 0xff60 /* Select, mark */
const KeySemicolon uint32 = 0x003b /* U+003B SEMICOLON */
const KeySerbianDJE uint32 = 0x06b1 /* U+0402 CYRILLIC CAPITAL LETTER DJE */
const KeySerbianTSHE uint32 = 0x06bb /* U+040B CYRILLIC CAPITAL LETTER TSHE */
const KeySerbiandje uint32 = 0x06a1 /* U+0452 CYRILLIC SMALL LETTER DJE */
const KeySerbiantshe uint32 = 0x06ab /* U+045B CYRILLIC SMALL LETTER TSHE */
const KeySeveneighths uint32 = 0x0ac6 /* U+215E VULGAR FRACTION SEVEN EIGHTHS */
const KeySevensubscript uint32 = 0x1002087 /* U+2087 SUBSCRIPT SEVEN */
const KeySevensuperior uint32 = 0x1002077 /* U+2077 SUPERSCRIPT SEVEN */
const KeyShiftL uint32 = 0xffe1 /* Left shift */
const KeyShiftLock uint32 = 0xffe6 /* Shift lock */
const KeyShiftR uint32 = 0xffe2 /* Right shift */
const KeySignaturemark uint32 = 0x0aca /*(U+2613 SALTIRE)*/
const KeySignifblank uint32 = 0x0aac /*(U+2423 OPEN BOX)*/
const KeySimilarequal uint32 = 0x08c9 /* U+2243 ASYMPTOTICALLY EQUAL TO */
const KeySinglecandidate uint32 = 0xff3c
const KeySinglelowquotemark uint32 = 0x0afd /* U+201A SINGLE LOW-9 QUOTATION MARK */
const KeySinhA uint32 = 0x1000d85 /* U+0D85 SINHALA AYANNA */
const KeySinhAa uint32 = 0x1000d86 /* U+0D86 SINHALA AAYANNA */
const KeySinhAa2 uint32 = 0x1000dcf /* U+0DCF SINHALA AELA-PILLA */
const KeySinhAe uint32 = 0x1000d87 /* U+0D87 SINHALA AEYANNA */
const KeySinhAe2 uint32 = 0x1000dd0 /* U+0DD0 SINHALA AEDA-PILLA */
const KeySinhAee uint32 = 0x1000d88 /* U+0D88 SINHALA AEEYANNA */
const KeySinhAee2 uint32 = 0x1000dd1 /* U+0DD1 SINHALA DIGA AEDA-PILLA */
const KeySinhAi uint32 = 0x1000d93 /* U+0D93 SINHALA AIYANNA */
const KeySinhAi2 uint32 = 0x1000ddb /* U+0DDB SINHALA KOMBU DEKA */
const KeySinhAl uint32 = 0x1000dca /* U+0DCA SINHALA AL-LAKUNA */
const KeySinhAu uint32 = 0x1000d96 /* U+0D96 SINHALA AUYANNA */
const KeySinhAu2 uint32 = 0x1000dde /* U+0DDE SINHALA KOMBUVA HAA GAYANUKITTA */
const KeySinhBa uint32 = 0x1000db6 /* U+0DB6 SINHALA BAYANNA */
const KeySinhBha uint32 = 0x1000db7 /* U+0DB7 SINHALA MAHA. BAYANNA */
const KeySinhCa uint32 = 0x1000da0 /* U+0DA0 SINHALA CAYANNA */
const KeySinhCha uint32 = 0x1000da1 /* U+0DA1 SINHALA MAHA. CAYANNA */
const KeySinhDda uint32 = 0x1000da9 /* U+0DA9 SINHALA DDAYANNA */
const KeySinhDdha uint32 = 0x1000daa /* U+0DAA SINHALA MAHA. DDAYANNA */
const KeySinhDha uint32 = 0x1000daf /* U+0DAF SINHALA DAYANNA */
const KeySinhDhha uint32 = 0x1000db0 /* U+0DB0 SINHALA MAHA. DAYANNA */
const KeySinhE uint32 = 0x1000d91 /* U+0D91 SINHALA EYANNA */
const KeySinhE2 uint32 = 0x1000dd9 /* U+0DD9 SINHALA KOMBUVA */
const KeySinhEe uint32 = 0x1000d92 /* U+0D92 SINHALA EEYANNA */
const KeySinhEe2 uint32 = 0x1000dda /* U+0DDA SINHALA DIGA KOMBUVA */
const KeySinhFa uint32 = 0x1000dc6 /* U+0DC6 SINHALA FAYANNA */
const KeySinhGa uint32 = 0x1000d9c /* U+0D9C SINHALA GAYANNA */
const KeySinhGha uint32 = 0x1000d9d /* U+0D9D SINHALA MAHA. GAYANNA */
const KeySinhH2 uint32 = 0x1000d83 /* U+0D83 SINHALA VISARGAYA */
const KeySinhHa uint32 = 0x1000dc4 /* U+0DC4 SINHALA HAYANNA */
const KeySinhI uint32 = 0x1000d89 /* U+0D89 SINHALA IYANNA */
const KeySinhI2 uint32 = 0x1000dd2 /* U+0DD2 SINHALA IS-PILLA */
const KeySinhIi uint32 = 0x1000d8a /* U+0D8A SINHALA IIYANNA */
const KeySinhIi2 uint32 = 0x1000dd3 /* U+0DD3 SINHALA DIGA IS-PILLA */
const KeySinhJa uint32 = 0x1000da2 /* U+0DA2 SINHALA JAYANNA */
const KeySinhJha uint32 = 0x1000da3 /* U+0DA3 SINHALA MAHA. JAYANNA */
const KeySinhJnya uint32 = 0x1000da5 /* U+0DA5 SINHALA TAALUJA SANYOOGA NAASIKYAYA */
const KeySinhKa uint32 = 0x1000d9a /* U+0D9A SINHALA KAYANNA */
const KeySinhKha uint32 = 0x1000d9b /* U+0D9B SINHALA MAHA. KAYANNA */
const KeySinhKunddaliya uint32 = 0x1000df4 /* U+0DF4 SINHALA KUNDDALIYA */
const KeySinhLa uint32 = 0x1000dbd /* U+0DBD SINHALA DANTAJA LAYANNA */
const KeySinhLla uint32 = 0x1000dc5 /* U+0DC5 SINHALA MUURDHAJA LAYANNA */
const KeySinhLu uint32 = 0x1000d8f /* U+0D8F SINHALA ILUYANNA */
const KeySinhLu2 uint32 = 0x1000ddf /* U+0DDF SINHALA GAYANUKITTA */
const KeySinhLuu uint32 = 0x1000d90 /* U+0D90 SINHALA ILUUYANNA */
const KeySinhLuu2 uint32 = 0x1000df3 /* U+0DF3 SINHALA DIGA GAYANUKITTA */
const KeySinhMa uint32 = 0x1000db8 /* U+0DB8 SINHALA MAYANNA */
const KeySinhMba uint32 = 0x1000db9 /* U+0DB9 SINHALA AMBA BAYANNA */
const KeySinhNa uint32 = 0x1000db1 /* U+0DB1 SINHALA DANTAJA NAYANNA */
const KeySinhNdda uint32 = 0x1000dac /* U+0DAC SINHALA SANYAKA DDAYANNA */
const KeySinhNdha uint32 = 0x1000db3 /* U+0DB3 SINHALA SANYAKA DAYANNA */
const KeySinhNg uint32 = 0x1000d82 /* U+0D82 SINHALA ANUSVARAYA */
const KeySinhNg2 uint32 = 0x1000d9e /* U+0D9E SINHALA KANTAJA NAASIKYAYA */
const KeySinhNga uint32 = 0x1000d9f /* U+0D9F SINHALA SANYAKA GAYANNA */
const KeySinhNja uint32 = 0x1000da6 /* U+0DA6 SINHALA SANYAKA JAYANNA */
const KeySinhNna uint32 = 0x1000dab /* U+0DAB SINHALA MUURDHAJA NAYANNA */
const KeySinhNya uint32 = 0x1000da4 /* U+0DA4 SINHALA TAALUJA NAASIKYAYA */
const KeySinhO uint32 = 0x1000d94 /* U+0D94 SINHALA OYANNA */
const KeySinhO2 uint32 = 0x1000ddc /* U+0DDC SINHALA KOMBUVA HAA AELA-PILLA*/
const KeySinhOo uint32 = 0x1000d95 /* U+0D95 SINHALA OOYANNA */
const KeySinhOo2 uint32 = 0x1000ddd /* U+0DDD SINHALA KOMBUVA HAA DIGA AELA-PILLA*/
const KeySinhPa uint32 = 0x1000db4 /* U+0DB4 SINHALA PAYANNA */
const KeySinhPha uint32 = 0x1000db5 /* U+0DB5 SINHALA MAHA. PAYANNA */
const KeySinhRa uint32 = 0x1000dbb /* U+0DBB SINHALA RAYANNA */
const KeySinhRi uint32 = 0x1000d8d /* U+0D8D SINHALA IRUYANNA */
const KeySinhRii uint32 = 0x1000d8e /* U+0D8E SINHALA IRUUYANNA */
const KeySinhRu2 uint32 = 0x1000dd8 /* U+0DD8 SINHALA GAETTA-PILLA */
const KeySinhRuu2 uint32 = 0x1000df2 /* U+0DF2 SINHALA DIGA GAETTA-PILLA */
const KeySinhSa uint32 = 0x1000dc3 /* U+0DC3 SINHALA DANTAJA SAYANNA */
const KeySinhSha uint32 = 0x1000dc1 /* U+0DC1 SINHALA TAALUJA SAYANNA */
const KeySinhSsha uint32 = 0x1000dc2 /* U+0DC2 SINHALA MUURDHAJA SAYANNA */
const KeySinhTha uint32 = 0x1000dad /* U+0DAD SINHALA TAYANNA */
const KeySinhThha uint32 = 0x1000dae /* U+0DAE SINHALA MAHA. TAYANNA */
const KeySinhTta uint32 = 0x1000da7 /* U+0DA7 SINHALA TTAYANNA */
const KeySinhTtha uint32 = 0x1000da8 /* U+0DA8 SINHALA MAHA. TTAYANNA */
const KeySinhU uint32 = 0x1000d8b /* U+0D8B SINHALA UYANNA */
const KeySinhU2 uint32 = 0x1000dd4 /* U+0DD4 SINHALA PAA-PILLA */
const KeySinhUu uint32 = 0x1000d8c /* U+0D8C SINHALA UUYANNA */
const KeySinhUu2 uint32 = 0x1000dd6 /* U+0DD6 SINHALA DIGA PAA-PILLA */
const KeySinhVa uint32 = 0x1000dc0 /* U+0DC0 SINHALA VAYANNA */
const KeySinhYa uint32 = 0x1000dba /* U+0DBA SINHALA YAYANNA */
const KeySixsubscript uint32 = 0x1002086 /* U+2086 SUBSCRIPT SIX */
const KeySixsuperior uint32 = 0x1002076 /* U+2076 SUPERSCRIPT SIX */
const KeySlash uint32 = 0x002f /* U+002F SOLIDUS */
const KeySlowkeysEnable uint32 = 0xfe73
const KeySoliddiamond uint32 = 0x09e0 /* U+25C6 BLACK DIAMOND */
const KeySpace uint32 = 0x0020 /* U+0020 SPACE */
const KeySquareroot uint32 = 0x100221A /* U+221A SQUARE ROOT */
const KeySterling uint32 = 0x00a3 /* U+00A3 POUND SIGN */
const KeyStickykeysEnable uint32 = 0xfe75
const KeyStricteq uint32 = 0x1002263 /* U+2263 STRICTLY EQUIVALENT TO */
const KeySunagain uint32 = 0x0000FF66 /* Same as XK_Redo */
const KeySunaltgraph uint32 = 0x0000FF7E /* Same as XK_Mode_switch */
const KeySunaudiolowervolume uint32 = 0x1005FF77
const KeySunaudiomute uint32 = 0x1005FF78
const KeySunaudioraisevolume uint32 = 0x1005FF79
const KeySuncompose uint32 = 0x0000FF20 /* Same as XK_Multi_key */
const KeySuncopy uint32 = 0x1005FF72
const KeySuncut uint32 = 0x1005FF75
const KeySunf36 uint32 = 0x1005FF10 /* Labeled F11 */
const KeySunf37 uint32 = 0x1005FF11 /* Labeled F12 */
const KeySunfaAcute uint32 = 0x1005FF03
const KeySunfaCedilla uint32 = 0x1005FF05
const KeySunfaCircum uint32 = 0x1005FF01
const KeySunfaDiaeresis uint32 = 0x1005FF04
const KeySunfaGrave uint32 = 0x1005FF00
const KeySunfaTilde uint32 = 0x1005FF02
const KeySunfind uint32 = 0x0000FF68 /* Same as XK_Find */
const KeySunfront uint32 = 0x1005FF71
const KeySunopen uint32 = 0x1005FF73
const KeySunpagedown uint32 = 0x0000FF56 /* Same as XK_Next */
const KeySunpageup uint32 = 0x0000FF55 /* Same as XK_Prior */
const KeySunpaste uint32 = 0x1005FF74
const KeySunpowerswitch uint32 = 0x1005FF76
const KeySunpowerswitchshift uint32 = 0x1005FF7D
const KeySunprintScreen uint32 = 0x0000FF61 /* Same as XK_Print */
const KeySunprops uint32 = 0x1005FF70
const KeySunstop uint32 = 0x0000FF69 /* Same as XK_Cancel */
const KeySunsysReq uint32 = 0x1005FF60
const KeySunundo uint32 = 0x0000FF65 /* Same as XK_Undo */
const KeySunvideodegauss uint32 = 0x1005FF7A
const KeySunvideolowerbrightness uint32 = 0x1005FF7B
const KeySunvideoraisebrightness uint32 = 0x1005FF7C
const KeySuperL uint32 = 0xffeb /* Left super */
const KeySuperR uint32 = 0xffec /* Right super */
const KeySysReq uint32 = 0xff15
const KeyT uint32 = 0x0054 /* U+0054 LATIN CAPITAL LETTER T */
const KeyTHORN uint32 = 0x00de /* U+00DE LATIN CAPITAL LETTER THORN */
const KeyTab uint32 = 0xff09
const KeyTabovedot uint32 = 0x1001e6a /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */
const KeyTcaron uint32 = 0x01ab /* U+0164 LATIN CAPITAL LETTER T WITH CARON */
const KeyTcedilla uint32 = 0x01de /* U+0162 LATIN CAPITAL LETTER T WITH CEDILLA */
const KeyTelephone uint32 = 0x0af9 /* U+260E BLACK TELEPHONE */
const KeyTelephonerecorder uint32 = 0x0afa /* U+2315 TELEPHONE RECORDER */
const KeyTerminateServer uint32 = 0xfed5
const KeyThaiBaht uint32 = 0x0ddf /* U+0E3F THAI CURRENCY SYMBOL BAHT */
const KeyThaiBobaimai uint32 = 0x0dba /* U+0E1A THAI CHARACTER BO BAIMAI */
const KeyThaiChochan uint32 = 0x0da8 /* U+0E08 THAI CHARACTER CHO CHAN */
const KeyThaiChochang uint32 = 0x0daa /* U+0E0A THAI CHARACTER CHO CHANG */
const KeyThaiChoching uint32 = 0x0da9 /* U+0E09 THAI CHARACTER CHO CHING */
const KeyThaiChochoe uint32 = 0x0dac /* U+0E0C THAI CHARACTER CHO CHOE */
const KeyThaiDochada uint32 = 0x0dae /* U+0E0E THAI CHARACTER DO CHADA */
const KeyThaiDodek uint32 = 0x0db4 /* U+0E14 THAI CHARACTER DO DEK */
const KeyThaiFofa uint32 = 0x0dbd /* U+0E1D THAI CHARACTER FO FA */
const KeyThaiFofan uint32 = 0x0dbf /* U+0E1F THAI CHARACTER FO FAN */
const KeyThaiHohip uint32 = 0x0dcb /* U+0E2B THAI CHARACTER HO HIP */
const KeyThaiHonokhuk uint32 = 0x0dce /* U+0E2E THAI CHARACTER HO NOKHUK */
const KeyThaiKhokhai uint32 = 0x0da2 /* U+0E02 THAI CHARACTER KHO KHAI */
const KeyThaiKhokhon uint32 = 0x0da5 /* U+0E05 THAI CHARACTER KHO KHON */
const KeyThaiKhokhuat uint32 = 0x0da3 /* U+0E03 THAI CHARACTER KHO KHUAT */
const KeyThaiKhokhwai uint32 = 0x0da4 /* U+0E04 THAI CHARACTER KHO KHWAI */
const KeyThaiKhorakhang uint32 = 0x0da6 /* U+0E06 THAI CHARACTER KHO RAKHANG */
const KeyThaiKokai uint32 = 0x0da1 /* U+0E01 THAI CHARACTER KO KAI */
const KeyThaiLakkhangyao uint32 = 0x0de5 /* U+0E45 THAI CHARACTER LAKKHANGYAO */
const KeyThaiLekchet uint32 = 0x0df7 /* U+0E57 THAI DIGIT SEVEN */
const KeyThaiLekha uint32 = 0x0df5 /* U+0E55 THAI DIGIT FIVE */
const KeyThaiLekhok uint32 = 0x0df6 /* U+0E56 THAI DIGIT SIX */
const KeyThaiLekkao uint32 = 0x0df9 /* U+0E59 THAI DIGIT NINE */
const KeyThaiLeknung uint32 = 0x0df1 /* U+0E51 THAI DIGIT ONE */
const KeyThaiLekpaet uint32 = 0x0df8 /* U+0E58 THAI DIGIT EIGHT */
const KeyThaiLeksam uint32 = 0x0df3 /* U+0E53 THAI DIGIT THREE */
const KeyThaiLeksi uint32 = 0x0df4 /* U+0E54 THAI DIGIT FOUR */
const KeyThaiLeksong uint32 = 0x0df2 /* U+0E52 THAI DIGIT TWO */
const KeyThaiLeksun uint32 = 0x0df0 /* U+0E50 THAI DIGIT ZERO */
const KeyThaiLochula uint32 = 0x0dcc /* U+0E2C THAI CHARACTER LO CHULA */
const KeyThaiLoling uint32 = 0x0dc5 /* U+0E25 THAI CHARACTER LO LING */
const KeyThaiLu uint32 = 0x0dc6 /* U+0E26 THAI CHARACTER LU */
const KeyThaiMaichattawa uint32 = 0x0deb /* U+0E4B THAI CHARACTER MAI CHATTAWA */
const KeyThaiMaiek uint32 = 0x0de8 /* U+0E48 THAI CHARACTER MAI EK */
const KeyThaiMaihanakat uint32 = 0x0dd1 /* U+0E31 THAI CHARACTER MAI HAN-AKAT */
const KeyThaiMaihanakatMaitho uint32 = 0x0dde
const KeyThaiMaitaikhu uint32 = 0x0de7 /* U+0E47 THAI CHARACTER MAITAIKHU */
const KeyThaiMaitho uint32 = 0x0de9 /* U+0E49 THAI CHARACTER MAI THO */
const KeyThaiMaitri uint32 = 0x0dea /* U+0E4A THAI CHARACTER MAI TRI */
const KeyThaiMaiyamok uint32 = 0x0de6 /* U+0E46 THAI CHARACTER MAIYAMOK */
const KeyThaiMoma uint32 = 0x0dc1 /* U+0E21 THAI CHARACTER MO MA */
const KeyThaiNgongu uint32 = 0x0da7 /* U+0E07 THAI CHARACTER NGO NGU */
const KeyThaiNikhahit uint32 = 0x0ded /* U+0E4D THAI CHARACTER NIKHAHIT */
const KeyThaiNonen uint32 = 0x0db3 /* U+0E13 THAI CHARACTER NO NEN */
const KeyThaiNonu uint32 = 0x0db9 /* U+0E19 THAI CHARACTER NO NU */
const KeyThaiOang uint32 = 0x0dcd /* U+0E2D THAI CHARACTER O ANG */
const KeyThaiPaiyannoi uint32 = 0x0dcf /* U+0E2F THAI CHARACTER PAIYANNOI */
const KeyThaiPhinthu uint32 = 0x0dda /* U+0E3A THAI CHARACTER PHINTHU */
const KeyThaiPhophan uint32 = 0x0dbe /* U+0E1E THAI CHARACTER PHO PHAN */
const KeyThaiPhophung uint32 = 0x0dbc /* U+0E1C THAI CHARACTER PHO PHUNG */
const KeyThaiPhosamphao uint32 = 0x0dc0 /* U+0E20 THAI CHARACTER PHO SAMPHAO */
const KeyThaiPopla uint32 = 0x0dbb /* U+0E1B THAI CHARACTER PO PLA */
const KeyThaiRorua uint32 = 0x0dc3 /* U+0E23 THAI CHARACTER RO RUA */
const KeyThaiRu uint32 = 0x0dc4 /* U+0E24 THAI CHARACTER RU */
const KeyThaiSaraa uint32 = 0x0dd0 /* U+0E30 THAI CHARACTER SARA A */
const KeyThaiSaraaa uint32 = 0x0dd2 /* U+0E32 THAI CHARACTER SARA AA */
const KeyThaiSaraae uint32 = 0x0de1 /* U+0E41 THAI CHARACTER SARA AE */
const KeyThaiSaraaimaimalai uint32 = 0x0de4 /* U+0E44 THAI CHARACTER SARA AI MAIMALAI */
const KeyThaiSaraaimaimuan uint32 = 0x0de3 /* U+0E43 THAI CHARACTER SARA AI MAIMUAN */
const KeyThaiSaraam uint32 = 0x0dd3 /* U+0E33 THAI CHARACTER SARA AM */
const KeyThaiSarae uint32 = 0x0de0 /* U+0E40 THAI CHARACTER SARA E */
const KeyThaiSarai uint32 = 0x0dd4 /* U+0E34 THAI CHARACTER SARA I */
const KeyThaiSaraii uint32 = 0x0dd5 /* U+0E35 THAI CHARACTER SARA II */
const KeyThaiSarao uint32 = 0x0de2 /* U+0E42 THAI CHARACTER SARA O */
const KeyThaiSarau uint32 = 0x0dd8 /* U+0E38 THAI CHARACTER SARA U */
const KeyThaiSaraue uint32 = 0x0dd6 /* U+0E36 THAI CHARACTER SARA UE */
const KeyThaiSarauee uint32 = 0x0dd7 /* U+0E37 THAI CHARACTER SARA UEE */
const KeyThaiSarauu uint32 = 0x0dd9 /* U+0E39 THAI CHARACTER SARA UU */
const KeyThaiSorusi uint32 = 0x0dc9 /* U+0E29 THAI CHARACTER SO RUSI */
const KeyThaiSosala uint32 = 0x0dc8 /* U+0E28 THAI CHARACTER SO SALA */
const KeyThaiSoso uint32 = 0x0dab /* U+0E0B THAI CHARACTER SO SO */
const KeyThaiSosua uint32 = 0x0dca /* U+0E2A THAI CHARACTER SO SUA */
const KeyThaiThanthakhat uint32 = 0x0dec /* U+0E4C THAI CHARACTER THANTHAKHAT */
const KeyThaiThonangmontho uint32 = 0x0db1 /* U+0E11 THAI CHARACTER THO NANGMONTHO */
const KeyThaiThophuthao uint32 = 0x0db2 /* U+0E12 THAI CHARACTER THO PHUTHAO */
const KeyThaiThothahan uint32 = 0x0db7 /* U+0E17 THAI CHARACTER THO THAHAN */
const KeyThaiThothan uint32 = 0x0db0 /* U+0E10 THAI CHARACTER THO THAN */
const KeyThaiThothong uint32 = 0x0db8 /* U+0E18 THAI CHARACTER THO THONG */
const KeyThaiThothung uint32 = 0x0db6 /* U+0E16 THAI CHARACTER THO THUNG */
const KeyThaiTopatak uint32 = 0x0daf /* U+0E0F THAI CHARACTER TO PATAK */
const KeyThaiTotao uint32 = 0x0db5 /* U+0E15 THAI CHARACTER TO TAO */
const KeyThaiWowaen uint32 = 0x0dc7 /* U+0E27 THAI CHARACTER WO WAEN */
const KeyThaiYoyak uint32 = 0x0dc2 /* U+0E22 THAI CHARACTER YO YAK */
const KeyThaiYoying uint32 = 0x0dad /* U+0E0D THAI CHARACTER YO YING */
const KeyTherefore uint32 = 0x08c0 /* U+2234 THEREFORE */
const KeyThinspace uint32 = 0x0aa7 /* U+2009 THIN SPACE */
const KeyThreeeighths uint32 = 0x0ac4 /* U+215C VULGAR FRACTION THREE EIGHTHS */
const KeyThreefifths uint32 = 0x0ab4 /* U+2157 VULGAR FRACTION THREE FIFTHS */
const KeyThreequarters uint32 = 0x00be /* U+00BE VULGAR FRACTION THREE QUARTERS */
const KeyThreesubscript uint32 = 0x1002083 /* U+2083 SUBSCRIPT THREE */
const KeyThreesuperior uint32 = 0x00b3 /* U+00B3 SUPERSCRIPT THREE */
const KeyTintegral uint32 = 0x100222D /* U+222D TRIPLE INTEGRAL */
const KeyTopintegral uint32 = 0x08a4 /* U+2320 TOP HALF INTEGRAL */
const KeyTopleftparens uint32 = 0x08ab /* U+239B LEFT PARENTHESIS UPPER HOOK */
const KeyTopleftradical uint32 = 0x08a2 /*(U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT)*/
const KeyTopleftsqbracket uint32 = 0x08a7 /* U+23A1 LEFT SQUARE BRACKET UPPER CORNER */
const KeyTopleftsummation uint32 = 0x08b1
const KeyToprightparens uint32 = 0x08ad /* U+239E RIGHT PARENTHESIS UPPER HOOK */
const KeyToprightsqbracket uint32 = 0x08a9 /* U+23A4 RIGHT SQUARE BRACKET UPPER CORNER */
const KeyToprightsummation uint32 = 0x08b5
const KeyTopt uint32 = 0x09f7 /* U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
const KeyTopvertsummationconnector uint32 = 0x08b3
const KeyTouroku uint32 = 0xff2b /* Add to Dictionary */
const KeyTrademark uint32 = 0x0ac9 /* U+2122 TRADE MARK SIGN */
const KeyTrademarkincircle uint32 = 0x0acb
const KeyTslash uint32 = 0x03ac /* U+0166 LATIN CAPITAL LETTER T WITH STROKE */
const KeyTwofifths uint32 = 0x0ab3 /* U+2156 VULGAR FRACTION TWO FIFTHS */
const KeyTwosubscript uint32 = 0x1002082 /* U+2082 SUBSCRIPT TWO */
const KeyTwosuperior uint32 = 0x00b2 /* U+00B2 SUPERSCRIPT TWO */
const KeyTwothirds uint32 = 0x0ab1 /* U+2154 VULGAR FRACTION TWO THIRDS */
const KeyU uint32 = 0x0055 /* U+0055 LATIN CAPITAL LETTER U */
const KeyUacute uint32 = 0x00da /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */
const KeyUbelowdot uint32 = 0x1001ee4 /* U+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW */
const KeyUbreve uint32 = 0x02dd /* U+016C LATIN CAPITAL LETTER U WITH BREVE */
const KeyUcircumflex uint32 = 0x00db /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
const KeyUdiaeresis uint32 = 0x00dc /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */
const KeyUdoubleacute uint32 = 0x01db /* U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
const KeyUgrave uint32 = 0x00d9 /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */
const KeyUhook uint32 = 0x1001ee6 /* U+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE */
const KeyUhorn uint32 = 0x10001af /* U+01AF LATIN CAPITAL LETTER U WITH HORN */
const KeyUhornacute uint32 = 0x1001ee8 /* U+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE */
const KeyUhornbelowdot uint32 = 0x1001ef0 /* U+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW */
const KeyUhorngrave uint32 = 0x1001eea /* U+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE */
const KeyUhornhook uint32 = 0x1001eec /* U+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE */
const KeyUhorntilde uint32 = 0x1001eee /* U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE */
const KeyUkrainianGHEWithUpturn uint32 = 0x06bd /* U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
const KeyUkrainianI uint32 = 0x06b6 /* U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
const KeyUkrainianIE uint32 = 0x06b4 /* U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE */
const KeyUkrainianYI uint32 = 0x06b7 /* U+0407 CYRILLIC CAPITAL LETTER YI */
const KeyUkrainiangheWithUpturn uint32 = 0x06ad /* U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN */
const KeyUkrainiani uint32 = 0x06a6 /* U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
const KeyUkrainianie uint32 = 0x06a4 /* U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE */
const KeyUkrainianyi uint32 = 0x06a7 /* U+0457 CYRILLIC SMALL LETTER YI */
const KeyUmacron uint32 = 0x03de /* U+016A LATIN CAPITAL LETTER U WITH MACRON */
const KeyUnderbar uint32 = 0x0bc6 /*(U+005F LOW LINE)*/
const KeyUnderscore uint32 = 0x005f /* U+005F LOW LINE */
const KeyUndo uint32 = 0xff65
const KeyUnion uint32 = 0x08dd /* U+222A UNION */
const KeyUogonek uint32 = 0x03d9 /* U+0172 LATIN CAPITAL LETTER U WITH OGONEK */
const KeyUp uint32 = 0xff52 /* Move up, up arrow */
const KeyUparrow uint32 = 0x08fc /* U+2191 UPWARDS ARROW */
const KeyUpcaret uint32 = 0x0ba9 /*(U+2227 LOGICAL AND)*/
const KeyUpleftcorner uint32 = 0x09ec /* U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT */
const KeyUprightcorner uint32 = 0x09eb /* U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT */
const KeyUpshoe uint32 = 0x0bc3 /*(U+2229 INTERSECTION)*/
const KeyUpstile uint32 = 0x0bd3 /* U+2308 LEFT CEILING */
const KeyUptack uint32 = 0x0bce /* U+22A5 UP TACK */
const KeyUring uint32 = 0x01d9 /* U+016E LATIN CAPITAL LETTER U WITH RING ABOVE */
const KeyUtilde uint32 = 0x03dd /* U+0168 LATIN CAPITAL LETTER U WITH TILDE */
const KeyV uint32 = 0x0056 /* U+0056 LATIN CAPITAL LETTER V */
const KeyVariation uint32 = 0x08c1 /* U+221D PROPORTIONAL TO */
const KeyVertbar uint32 = 0x09f8 /* U+2502 BOX DRAWINGS LIGHT VERTICAL */
const KeyVertconnector uint32 = 0x08a6 /*(U+2502 BOX DRAWINGS LIGHT VERTICAL)*/
const KeyVoidSymbol uint32 = 0xffffff /* Void symbol */
const KeyVt uint32 = 0x09e9 /* U+240B SYMBOL FOR VERTICAL TABULATION */
const KeyW uint32 = 0x0057 /* U+0057 LATIN CAPITAL LETTER W */
const KeyWacute uint32 = 0x1001e82 /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */
const KeyWcircumflex uint32 = 0x1000174 /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
const KeyWdiaeresis uint32 = 0x1001e84 /* U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS */
const KeyWgrave uint32 = 0x1001e80 /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */
const KeyWonsign uint32 = 0x10020a9 /* U+20A9 WON SIGN */
const KeyX uint32 = 0x0058 /* U+0058 LATIN CAPITAL LETTER X */
const KeyXF8610channelsdown uint32 = 0x100811b9 /* v2.6.38 KEY_10CHANNELSDOWN */
const KeyXF8610channelsup uint32 = 0x100811b8 /* v2.6.38 KEY_10CHANNELSUP */
const KeyXF863dmode uint32 = 0x1008126f /* v4.7 KEY_3D_MODE */
const KeyXF86MacroRecordStart uint32 = 0x100812b0 /* v5.5 KEY_MACRO_RECORD_START */
const KeyXF86addfavorite uint32 = 0x1008FF39 /* Add URL to favorites list */
const KeyXF86addressbook uint32 = 0x100811ad /* v2.6.20 KEY_ADDRESSBOOK */
const KeyXF86alstoggle uint32 = 0x10081230 /* v3.13 KEY_ALS_TOGGLE */
const KeyXF86applicationleft uint32 = 0x1008FF50 /* switch to application, left */
const KeyXF86applicationright uint32 = 0x1008FF51 /* switch to application, right*/
const KeyXF86appselect uint32 = 0x10081244 /* v3.16 KEY_APPSELECT */
const KeyXF86aspectratio uint32 = 0x10081177 /* v5.1 KEY_ASPECT_RATIO */
const KeyXF86assistant uint32 = 0x10081247 /* v4.13 KEY_ASSISTANT */
const KeyXF86attendantoff uint32 = 0x1008121c /* v3.10 KEY_ATTENDANT_OFF */
const KeyXF86attendanton uint32 = 0x1008121b /* v3.10 KEY_ATTENDANT_ON */
const KeyXF86attendanttoggle uint32 = 0x1008121d /* v3.10 KEY_ATTENDANT_TOGGLE */
const KeyXF86audio uint32 = 0x10081188 /* KEY_AUDIO */
const KeyXF86audiocycletrack uint32 = 0x1008FF9B /* cycle through audio tracks */
const KeyXF86audiodesc uint32 = 0x1008126e /* v4.7 KEY_AUDIO_DESC */
const KeyXF86audioforward uint32 = 0x1008FF97 /* fast-forward audio track */
const KeyXF86audiolowervolume uint32 = 0x1008FF11 /* Volume control down */
const KeyXF86audiomedia uint32 = 0x1008FF32 /* Launch media collection app */
const KeyXF86audiomicmute uint32 = 0x1008FFB2 /* Mute the Mic from the system */
const KeyXF86audiomute uint32 = 0x1008FF12 /* Mute sound from the system */
const KeyXF86audionext uint32 = 0x1008FF17 /* Next track */
const KeyXF86audiopause uint32 = 0x1008FF31 /* Pause audio playing */
const KeyXF86audioplay uint32 = 0x1008FF14 /* Start playing of audio > */
const KeyXF86audiopreset uint32 = 0x1008FFB6 /* Select equalizer preset, e.g. theatre-mode */
const KeyXF86audioprev uint32 = 0x1008FF16 /* Previous track */
const KeyXF86audioraisevolume uint32 = 0x1008FF13 /* Volume control up */
const KeyXF86audiorandomplay uint32 = 0x1008FF99 /* toggle shuffle mode */
const KeyXF86audiorecord uint32 = 0x1008FF1C /* Record audio application */
const KeyXF86audiorepeat uint32 = 0x1008FF98 /* toggle repeat mode */
const KeyXF86audiorewind uint32 = 0x1008FF3E /* "rewind" audio track */
const KeyXF86audiostop uint32 = 0x1008FF15 /* Stop playing audio */
const KeyXF86away uint32 = 0x1008FF8D /* mark yourself as away */
const KeyXF86back uint32 = 0x1008FF26 /* Like back on a browser */
const KeyXF86backforward uint32 = 0x1008FF3F /* ??? */
const KeyXF86battery uint32 = 0x1008FF93 /* Display battery information */
const KeyXF86blue uint32 = 0x1008FFA6 /* Blue button */
const KeyXF86bluetooth uint32 = 0x1008FF94 /* Enable/disable Bluetooth */
const KeyXF86book uint32 = 0x1008FF52 /* Launch bookreader */
const KeyXF86break uint32 = 0x1008119b /* KEY_BREAK */
const KeyXF86brightnessadjust uint32 = 0x1008FF3B /* Invoke brightness adj. UI */
const KeyXF86brightnessauto uint32 = 0x100810f4 /* v3.16 KEY_BRIGHTNESS_AUTO */
const KeyXF86brightnessmax uint32 = 0x10081251 /* v3.16 KEY_BRIGHTNESS_MAX */
const KeyXF86brightnessmin uint32 = 0x10081250 /* v3.16 KEY_BRIGHTNESS_MIN */
const KeyXF86calculater uint32 = 0x1008FF54 /* Launch Calculater */
const KeyXF86calculator uint32 = 0x1008FF1D /* Invoke calculator program */
const KeyXF86calendar uint32 = 0x1008FF20 /* Invoke Calendar program */
const KeyXF86cameradown uint32 = 0x10081218 /* v2.6.39 KEY_CAMERA_DOWN */
const KeyXF86camerafocus uint32 = 0x10081210 /* v2.6.33 KEY_CAMERA_FOCUS */
const KeyXF86cameraleft uint32 = 0x10081219 /* v2.6.39 KEY_CAMERA_LEFT */
const KeyXF86cameraright uint32 = 0x1008121a /* v2.6.39 KEY_CAMERA_RIGHT */
const KeyXF86cameraup uint32 = 0x10081217 /* v2.6.39 KEY_CAMERA_UP */
const KeyXF86camerazoomin uint32 = 0x10081215 /* v2.6.39 KEY_CAMERA_ZOOMIN */
const KeyXF86camerazoomout uint32 = 0x10081216 /* v2.6.39 KEY_CAMERA_ZOOMOUT */
const KeyXF86cd uint32 = 0x1008FF53 /* Launch CD/DVD player */
const KeyXF86channeldown uint32 = 0x10081193 /* KEY_CHANNELDOWN */
const KeyXF86channelup uint32 = 0x10081192 /* KEY_CHANNELUP */
const KeyXF86clear uint32 = 0x1008FF55 /* Clear window, screen */
const KeyXF86cleargrab uint32 = 0x1008FE21 /* kill application with grab */
const KeyXF86close uint32 = 0x1008FF56 /* Close window */
const KeyXF86community uint32 = 0x1008FF3D /* Display user's community */
const KeyXF86contrastadjust uint32 = 0x1008FF22 /* Adjust screen contrast */
const KeyXF86controlpanel uint32 = 0x10081243 /* v3.16 KEY_CONTROLPANEL */
const KeyXF86copy uint32 = 0x1008FF57 /* Copy selection */
const KeyXF86cut uint32 = 0x1008FF58 /* Cut selection */
const KeyXF86cycleangle uint32 = 0x1008FF9C /* cycle through angles */
const KeyXF86data uint32 = 0x10081277 /* v4.7 KEY_DATA */
const KeyXF86database uint32 = 0x100811aa /* v2.6.20 KEY_DATABASE */
const KeyXF86display uint32 = 0x1008FF59 /* Output switch key */
const KeyXF86displayoff uint32 = 0x100810f5 /* v2.6.23 KEY_DISPLAY_OFF */
const KeyXF86displaytoggle uint32 = 0x100811af /* v2.6.20 KEY_DISPLAYTOGGLE */
const KeyXF86documents uint32 = 0x1008FF5B /* Open documents window */
const KeyXF86dos uint32 = 0x1008FF5A /* Launch DOS (emulation) */
const KeyXF86dvd uint32 = 0x10081185 /* KEY_DVD */
const KeyXF86editor uint32 = 0x100811a6 /* v2.6.20 KEY_EDITOR */
const KeyXF86eject uint32 = 0x1008FF2C /* Eject device (e.g. DVD) */
const KeyXF86excel uint32 = 0x1008FF5C /* Launch spread sheet */
const KeyXF86explorer uint32 = 0x1008FF5D /* Launch file explorer */
const KeyXF86fastreverse uint32 = 0x10081275 /* v4.7 KEY_FASTREVERSE */
const KeyXF86favorites uint32 = 0x1008FF30 /* Show favorite locations */
const KeyXF86finance uint32 = 0x1008FF3C /* Display financial site */
const KeyXF86fn uint32 = 0x100811d0 /* KEY_FN */
const KeyXF86fnEsc uint32 = 0x100811d1 /* KEY_FN_ESC */
const KeyXF86fnrightshift uint32 = 0x100811e5 /* v5.10 KEY_FN_RIGHT_SHIFT */
const KeyXF86forward uint32 = 0x1008FF27 /* Like forward on a browser */
const KeyXF86frameback uint32 = 0x1008FF9D /* video: go one frame back */
const KeyXF86frameforward uint32 = 0x1008FF9E /* video: go one frame forward */
const KeyXF86fullscreen uint32 = 0x1008FFB8 /* Toggle fullscreen */
const KeyXF86game uint32 = 0x1008FF5E /* Launch game */
const KeyXF86go uint32 = 0x1008FF5F /* Go to URL */
const KeyXF86graphicseditor uint32 = 0x100811a8 /* v2.6.20 KEY_GRAPHICSEDITOR */
const KeyXF86green uint32 = 0x1008FFA4 /* Green button */
const KeyXF86hangupphone uint32 = 0x100811be /* v5.10 KEY_HANGUP_PHONE */
const KeyXF86hibernate uint32 = 0x1008FFA8 /* Sleep to disk */
const KeyXF86history uint32 = 0x1008FF37 /* Show history of web surfing */
const KeyXF86homepage uint32 = 0x1008FF18 /* Display user's home page */
const KeyXF86hotlinks uint32 = 0x1008FF3A /* Show "hot" links */
const KeyXF86images uint32 = 0x100811ba /* v2.6.39 KEY_IMAGES */
const KeyXF86info uint32 = 0x10081166 /* KEY_INFO */
const KeyXF86itouch uint32 = 0x1008FF60 /* Logitech iTouch- don't use */
const KeyXF86journal uint32 = 0x10081242 /* v3.16 KEY_JOURNAL */
const KeyXF86kbdbrightnessdown uint32 = 0x1008FF06 /* Keyboards may be lit */
const KeyXF86kbdbrightnessup uint32 = 0x1008FF05 /* Keyboards may be lit */
const KeyXF86kbdinputassistaccept uint32 = 0x10081264 /* v3.18 KEY_KBDINPUTASSIST_ACCEPT */
const KeyXF86kbdinputassistcancel uint32 = 0x10081265 /* v3.18 KEY_KBDINPUTASSIST_CANCEL */
const KeyXF86kbdinputassistnext uint32 = 0x10081261 /* v3.18 KEY_KBDINPUTASSIST_NEXT */
const KeyXF86kbdinputassistnextgroup uint32 = 0x10081263 /* v3.18 KEY_KBDINPUTASSIST_NEXTGROUP */
const KeyXF86kbdinputassistprev uint32 = 0x10081260 /* v3.18 KEY_KBDINPUTASSIST_PREV */
const KeyXF86kbdinputassistprevgroup uint32 = 0x10081262 /* v3.18 KEY_KBDINPUTASSIST_PREVGROUP */
const KeyXF86kbdlightonoff uint32 = 0x1008FF04 /* Keyboards may be lit */
const KeyXF86keyboard uint32 = 0x1008FFB3 /* User defined keyboard related action */
const KeyXF86launch0 uint32 = 0x1008FF40 /* Launch Application */
const KeyXF86launch1 uint32 = 0x1008FF41 /* Launch Application */
const KeyXF86launch2 uint32 = 0x1008FF42 /* Launch Application */
const KeyXF86launch3 uint32 = 0x1008FF43 /* Launch Application */
const KeyXF86launch4 uint32 = 0x1008FF44 /* Launch Application */
const KeyXF86launch5 uint32 = 0x1008FF45 /* Launch Application */
const KeyXF86launch6 uint32 = 0x1008FF46 /* Launch Application */
const KeyXF86launch7 uint32 = 0x1008FF47 /* Launch Application */
const KeyXF86launch8 uint32 = 0x1008FF48 /* Launch Application */
const KeyXF86launch9 uint32 = 0x1008FF49 /* Launch Application */
const KeyXF86launcha uint32 = 0x1008FF4A /* Launch Application */
const KeyXF86launchb uint32 = 0x1008FF4B /* Launch Application */
const KeyXF86launchc uint32 = 0x1008FF4C /* Launch Application */
const KeyXF86launchd uint32 = 0x1008FF4D /* Launch Application */
const KeyXF86launche uint32 = 0x1008FF4E /* Launch Application */
const KeyXF86launchf uint32 = 0x1008FF4F /* Launch Application */
const KeyXF86leftdown uint32 = 0x10081269 /* v4.7 KEY_LEFT_DOWN */
const KeyXF86leftup uint32 = 0x10081268 /* v4.7 KEY_LEFT_UP */
const KeyXF86lightbulb uint32 = 0x1008FF35 /* Light bulb keys exist */
const KeyXF86lightstoggle uint32 = 0x1008121e /* v3.10 KEY_LIGHTS_TOGGLE */
const KeyXF86loggrabinfo uint32 = 0x1008FE25 /* print all active grabs to log */
const KeyXF86logoff uint32 = 0x1008FF61 /* Log off system */
const KeyXF86logwindowtree uint32 = 0x1008FE24 /* print window tree to log */
const KeyXF86macro1 uint32 = 0x10081290 /* v5.5 KEY_MACRO1 */
const KeyXF86macro10 uint32 = 0x10081299 /* v5.5 KEY_MACRO10 */
const KeyXF86macro11 uint32 = 0x1008129a /* v5.5 KEY_MACRO11 */
const KeyXF86macro12 uint32 = 0x1008129b /* v5.5 KEY_MACRO12 */
const KeyXF86macro13 uint32 = 0x1008129c /* v5.5 KEY_MACRO13 */
const KeyXF86macro14 uint32 = 0x1008129d /* v5.5 KEY_MACRO14 */
const KeyXF86macro15 uint32 = 0x1008129e /* v5.5 KEY_MACRO15 */
const KeyXF86macro16 uint32 = 0x1008129f /* v5.5 KEY_MACRO16 */
const KeyXF86macro17 uint32 = 0x100812a0 /* v5.5 KEY_MACRO17 */
const KeyXF86macro18 uint32 = 0x100812a1 /* v5.5 KEY_MACRO18 */
const KeyXF86macro19 uint32 = 0x100812a2 /* v5.5 KEY_MACRO19 */
const KeyXF86macro2 uint32 = 0x10081291 /* v5.5 KEY_MACRO2 */
const KeyXF86macro20 uint32 = 0x100812a3 /* v5.5 KEY_MACRO20 */
const KeyXF86macro21 uint32 = 0x100812a4 /* v5.5 KEY_MACRO21 */
const KeyXF86macro22 uint32 = 0x100812a5 /* v5.5 KEY_MACRO22 */
const KeyXF86macro23 uint32 = 0x100812a6 /* v5.5 KEY_MACRO23 */
const KeyXF86macro24 uint32 = 0x100812a7 /* v5.5 KEY_MACRO24 */
const KeyXF86macro25 uint32 = 0x100812a8 /* v5.5 KEY_MACRO25 */
const KeyXF86macro26 uint32 = 0x100812a9 /* v5.5 KEY_MACRO26 */
const KeyXF86macro27 uint32 = 0x100812aa /* v5.5 KEY_MACRO27 */
const KeyXF86macro28 uint32 = 0x100812ab /* v5.5 KEY_MACRO28 */
const KeyXF86macro29 uint32 = 0x100812ac /* v5.5 KEY_MACRO29 */
const KeyXF86macro3 uint32 = 0x10081292 /* v5.5 KEY_MACRO3 */
const KeyXF86macro30 uint32 = 0x100812ad /* v5.5 KEY_MACRO30 */
const KeyXF86macro4 uint32 = 0x10081293 /* v5.5 KEY_MACRO4 */
const KeyXF86macro5 uint32 = 0x10081294 /* v5.5 KEY_MACRO5 */
const KeyXF86macro6 uint32 = 0x10081295 /* v5.5 KEY_MACRO6 */
const KeyXF86macro7 uint32 = 0x10081296 /* v5.5 KEY_MACRO7 */
const KeyXF86macro8 uint32 = 0x10081297 /* v5.5 KEY_MACRO8 */
const KeyXF86macro9 uint32 = 0x10081298 /* v5.5 KEY_MACRO9 */
const KeyXF86macropreset1 uint32 = 0x100812b3 /* v5.5 KEY_MACRO_PRESET1 */
const KeyXF86macropreset2 uint32 = 0x100812b4 /* v5.5 KEY_MACRO_PRESET2 */
const KeyXF86macropreset3 uint32 = 0x100812b5 /* v5.5 KEY_MACRO_PRESET3 */
const KeyXF86macropresetcycle uint32 = 0x100812b2 /* v5.5 KEY_MACRO_PRESET_CYCLE */
const KeyXF86macrorecordstop uint32 = 0x100812b1 /* v5.5 KEY_MACRO_RECORD_STOP */
const KeyXF86mail uint32 = 0x1008FF19 /* Invoke user's mail program */
const KeyXF86mailforward uint32 = 0x1008FF90 /* Forward in mail */
const KeyXF86market uint32 = 0x1008FF62 /* ?? */
const KeyXF86mediarepeat uint32 = 0x100811b7 /* v2.6.26 KEY_MEDIA_REPEAT */
const KeyXF86meeting uint32 = 0x1008FF63 /* enter meeting in calendar */
const KeyXF86memo uint32 = 0x1008FF1E /* Invoke Memo taking program */
const KeyXF86messenger uint32 = 0x1008FF8E /* as in instant messaging */
const KeyXF86modelock uint32 = 0x1008FF01 /* Mode Switch Lock */
const KeyXF86monbrightnesscycleuint32 = 0x1008FF07 /* Monitor/panel brightness */
const KeyXF86monbrightnessdown uint32 = 0x1008FF03 /* Monitor/panel brightness */
const KeyXF86monbrightnessup uint32 = 0x1008FF02 /* Monitor/panel brightness */
const KeyXF86music uint32 = 0x1008FF92 /* Launch music application */
const KeyXF86mycomputer uint32 = 0x1008FF33 /* Display "My Computer" window */
const KeyXF86mysites uint32 = 0x1008FF67 /* Favourites */
const KeyXF86new uint32 = 0x1008FF68 /* New (folder, document... */
const KeyXF86news uint32 = 0x1008FF69 /* News */
const KeyXF86nextVmode uint32 = 0x1008FE22 /* next video mode available */
const KeyXF86nextfavorite uint32 = 0x10081270 /* v4.7 KEY_NEXT_FAVORITE */
const KeyXF86notificationcenter uint32 = 0x100811bc /* v5.10 KEY_NOTIFICATION_CENTER */
const KeyXF86numeric0 uint32 = 0x10081200 /* v2.6.28 KEY_NUMERIC_0 */
const KeyXF86numeric1 uint32 = 0x10081201 /* v2.6.28 KEY_NUMERIC_1 */
const KeyXF86numeric11 uint32 = 0x1008126c /* v4.7 KEY_NUMERIC_11 */
const KeyXF86numeric12 uint32 = 0x1008126d /* v4.7 KEY_NUMERIC_12 */
const KeyXF86numeric2 uint32 = 0x10081202 /* v2.6.28 KEY_NUMERIC_2 */
const KeyXF86numeric3 uint32 = 0x10081203 /* v2.6.28 KEY_NUMERIC_3 */
const KeyXF86numeric4 uint32 = 0x10081204 /* v2.6.28 KEY_NUMERIC_4 */
const KeyXF86numeric5 uint32 = 0x10081205 /* v2.6.28 KEY_NUMERIC_5 */
const KeyXF86numeric6 uint32 = 0x10081206 /* v2.6.28 KEY_NUMERIC_6 */
const KeyXF86numeric7 uint32 = 0x10081207 /* v2.6.28 KEY_NUMERIC_7 */
const KeyXF86numeric8 uint32 = 0x10081208 /* v2.6.28 KEY_NUMERIC_8 */
const KeyXF86numeric9 uint32 = 0x10081209 /* v2.6.28 KEY_NUMERIC_9 */
const KeyXF86numerica uint32 = 0x1008120c /* v4.1 KEY_NUMERIC_A */
const KeyXF86numericb uint32 = 0x1008120d /* v4.1 KEY_NUMERIC_B */
const KeyXF86numericc uint32 = 0x1008120e /* v4.1 KEY_NUMERIC_C */
const KeyXF86numericd uint32 = 0x1008120f /* v4.1 KEY_NUMERIC_D */
const KeyXF86numericpound uint32 = 0x1008120b /* v2.6.28 KEY_NUMERIC_POUND */
const KeyXF86numericstar uint32 = 0x1008120a /* v2.6.28 KEY_NUMERIC_STAR */
const KeyXF86officehome uint32 = 0x1008FF6A /* Office home (old Staroffice)*/
const KeyXF86onscreenkeyboard uint32 = 0x10081278 /* v4.12 KEY_ONSCREEN_KEYBOARD */
const KeyXF86open uint32 = 0x1008FF6B /* Open */
const KeyXF86openurl uint32 = 0x1008FF38 /* Open selected URL */
const KeyXF86option uint32 = 0x1008FF6C /* ?? */
const KeyXF86paste uint32 = 0x1008FF6D /* Paste */
const KeyXF86pauserecord uint32 = 0x10081272 /* v4.7 KEY_PAUSE_RECORD */
const KeyXF86phone uint32 = 0x1008FF6E /* Launch phone; dial number */
const KeyXF86pickupphone uint32 = 0x100811bd /* v5.10 KEY_PICKUP_PHONE */
const KeyXF86pictures uint32 = 0x1008FF91 /* Show pictures */
const KeyXF86powerdown uint32 = 0x1008FF21 /* Deep sleep the system */
const KeyXF86poweroff uint32 = 0x1008FF2A /* Power off system entirely */
const KeyXF86presentation uint32 = 0x100811a9 /* v2.6.20 KEY_PRESENTATION */
const KeyXF86prevVmode uint32 = 0x1008FE23 /* prev. video mode available */
const KeyXF86privacyscreentoggle uint32 = 0x10081279 /* v5.5 KEY_PRIVACY_SCREEN_TOGGLE */
const KeyXF86q uint32 = 0x1008FF70 /* Compaq's Q - don't use */
const KeyXF86red uint32 = 0x1008FFA3 /* Red button */
const KeyXF86refresh uint32 = 0x1008FF29 /* Refresh the page */
const KeyXF86reload uint32 = 0x1008FF73 /* Reload web page, file, etc. */
const KeyXF86reply uint32 = 0x1008FF72 /* Reply e.g., mail */
const KeyXF86rfkill uint32 = 0x1008FFB5 /* Toggle radios on/off */
const KeyXF86rightdown uint32 = 0x10081267 /* v4.7 KEY_RIGHT_DOWN */
const KeyXF86rightup uint32 = 0x10081266 /* v4.7 KEY_RIGHT_UP */
const KeyXF86rockerdown uint32 = 0x1008FF24 /* and down */
const KeyXF86rockerenter uint32 = 0x1008FF25 /* and let you press them */
const KeyXF86rockerup uint32 = 0x1008FF23 /* Rocker switches exist up */
const KeyXF86rotatewindows uint32 = 0x1008FF74 /* Rotate windows e.g. xrandr */
const KeyXF86rotationkb uint32 = 0x1008FF76 /* don't use */
const KeyXF86rotationlocktoggle uint32 = 0x1008FFB7 /* Toggle screen rotation lock on/off */
const KeyXF86rotationpb uint32 = 0x1008FF75 /* don't use */
const KeyXF86save uint32 = 0x1008FF77 /* Save (file, document, state */
const KeyXF86screenSaver uint32 = 0x1008FF2D /* Invoke screensaver */
const KeyXF86screensaver uint32 = 0x10081245 /* v3.16 KEY_SCREENSAVER */
const KeyXF86scrollclick uint32 = 0x1008FF7A /* Use XKB mousekeys instead */
const KeyXF86scrolldown uint32 = 0x1008FF79 /* Scrool window/contentd down */
const KeyXF86scrollup uint32 = 0x1008FF78 /* Scroll window/contents up */
const KeyXF86search uint32 = 0x1008FF1B /* Search */
const KeyXF86select uint32 = 0x1008FFA0 /* Select button on joypads and remotes */
const KeyXF86selectivescreenshot uint32 = 0x1008127a /* v5.6 KEY_SELECTIVE_SCREENSHOT */
const KeyXF86send uint32 = 0x1008FF7B /* Send mail, file, object */
const KeyXF86shop uint32 = 0x1008FF36 /* Display shopping web site */
const KeyXF86sleep uint32 = 0x1008FF2F /* Put system to sleep */
const KeyXF86slowreverse uint32 = 0x10081276 /* v4.7 KEY_SLOWREVERSE */
const KeyXF86spell uint32 = 0x1008FF7C /* Spell checker */
const KeyXF86spellcheck uint32 = 0x100811b0 /* v2.6.24 KEY_SPELLCHECK */
const KeyXF86splitscreen uint32 = 0x1008FF7D /* Split window or screen */
const KeyXF86standby uint32 = 0x1008FF10 /* System into standby mode */
const KeyXF86start uint32 = 0x1008FF1A /* Start application */
const KeyXF86stop uint32 = 0x1008FF28 /* Stop current operation */
const KeyXF86stoprecord uint32 = 0x10081271 /* v4.7 KEY_STOP_RECORD */
const KeyXF86subtitle uint32 = 0x1008FF9A /* cycle through subtitle */
const KeyXF86support uint32 = 0x1008FF7E /* Get support (??) */
const KeyXF86suspend uint32 = 0x1008FFA7 /* Sleep to RAM */
const KeyXF86switchVt1 uint32 = 0x1008FE01
const KeyXF86switchVt10 uint32 = 0x1008FE0A
const KeyXF86switchVt11 uint32 = 0x1008FE0B
const KeyXF86switchVt12 uint32 = 0x1008FE0C
const KeyXF86switchVt2 uint32 = 0x1008FE02
const KeyXF86switchVt3 uint32 = 0x1008FE03
const KeyXF86switchVt4 uint32 = 0x1008FE04
const KeyXF86switchVt5 uint32 = 0x1008FE05
const KeyXF86switchVt6 uint32 = 0x1008FE06
const KeyXF86switchVt7 uint32 = 0x1008FE07
const KeyXF86switchVt8 uint32 = 0x1008FE08
const KeyXF86switchVt9 uint32 = 0x1008FE09
const KeyXF86taskmanager uint32 = 0x10081241 /* v3.16 KEY_TASKMANAGER */
const KeyXF86taskpane uint32 = 0x1008FF7F /* Show tasks */
const KeyXF86terminal uint32 = 0x1008FF80 /* Launch terminal emulator */
const KeyXF86time uint32 = 0x1008FF9F /* display, or shows an entry for time seeking */
const KeyXF86todolist uint32 = 0x1008FF1F /* Invoke To Do List program */
const KeyXF86tools uint32 = 0x1008FF81 /* toolbox of desktop/app. */
const KeyXF86touchpadoff uint32 = 0x1008FFB1 /* The touchpad got switched off */
const KeyXF86touchpadon uint32 = 0x1008FFB0 /* The touchpad got switched on */
const KeyXF86touchpadtoggle uint32 = 0x1008FFA9 /* Toggle between touchpad/trackstick */
const KeyXF86travel uint32 = 0x1008FF82 /* ?? */
const KeyXF86ungrab uint32 = 0x1008FE20 /* force ungrab */
const KeyXF86unmute uint32 = 0x10081274 /* v4.7 KEY_UNMUTE */
const KeyXF86user1kb uint32 = 0x1008FF85 /* ?? */
const KeyXF86user2kb uint32 = 0x1008FF86 /* ?? */
const KeyXF86userpb uint32 = 0x1008FF84 /* ?? */
const KeyXF86uwb uint32 = 0x1008FF96 /* Enable/disable UWB */
const KeyXF86vendorhome uint32 = 0x1008FF34 /* Display vendor home web site */
const KeyXF86video uint32 = 0x1008FF87 /* Launch video player */
const KeyXF86videophone uint32 = 0x100811a0 /* v2.6.20 KEY_VIDEOPHONE */
const KeyXF86view uint32 = 0x1008FFA1 /* Show a view options/properties */
const KeyXF86vod uint32 = 0x10081273 /* v4.7 KEY_VOD */
const KeyXF86voicecommand uint32 = 0x10081246 /* v3.16 KEY_VOICECOMMAND */
const KeyXF86voicemail uint32 = 0x100811ac /* v2.6.20 KEY_VOICEMAIL */
const KeyXF86wakeup uint32 = 0x1008FF2B /* Wake up system from sleep */
const KeyXF86webcam uint32 = 0x1008FF8F /* Launch web camera app. */
const KeyXF86wlan uint32 = 0x1008FF95 /* Enable/disable WLAN */
const KeyXF86word uint32 = 0x1008FF89 /* Launch word processor */
const KeyXF86wwan uint32 = 0x1008FFB4 /* Toggle WWAN (LTE, UMTS, etc.) radio */
const KeyXF86www uint32 = 0x1008FF2E /* Invoke web browser */
const KeyXF86xfer uint32 = 0x1008FF8A
const KeyXF86yellow uint32 = 0x1008FFA5 /* Yellow button */
const KeyXF86zoomin uint32 = 0x1008FF8B /* zoom in view, map, etc. */
const KeyXF86zoomout uint32 = 0x1008FF8C /* zoom out view, map, etc. */
const KeyXF86zoomreset uint32 = 0x100811a4 /* v2.6.20 KEY_ZOOMRESET */
const KeyXabovedot uint32 = 0x1001e8a /* U+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE */
const KeyY uint32 = 0x0059 /* U+0059 LATIN CAPITAL LETTER Y */
const KeyYacute uint32 = 0x00dd /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */
const KeyYbelowdot uint32 = 0x1001ef4 /* U+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW */
const KeyYcircumflex uint32 = 0x1000176 /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
const KeyYdiaeresis uint32 = 0x13be /* U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS */
const KeyYen uint32 = 0x00a5 /* U+00A5 YEN SIGN */
const KeyYgrave uint32 = 0x1001ef2 /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */
const KeyYhook uint32 = 0x1001ef6 /* U+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE */
const KeyYtilde uint32 = 0x1001ef8 /* U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE */
const KeyZ uint32 = 0x005a /* U+005A LATIN CAPITAL LETTER Z */
const KeyZabovedot uint32 = 0x01af /* U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE */
const KeyZacute uint32 = 0x01ac /* U+0179 LATIN CAPITAL LETTER Z WITH ACUTE */
const KeyZcaron uint32 = 0x01ae /* U+017D LATIN CAPITAL LETTER Z WITH CARON */
const KeyZenKoho uint32 = 0xff3d /* Multiple/All Candidate(s) */
const KeyZenkaku uint32 = 0xff28 /* to Zenkaku */
const KeyZenkakuHankaku uint32 = 0xff2a /* Zenkaku/Hankaku toggle */
const KeyZerosubscript uint32 = 0x1002080 /* U+2080 SUBSCRIPT ZERO */
const KeyZerosuperior uint32 = 0x1002070 /* U+2070 SUPERSCRIPT ZERO */
const KeyZstroke uint32 = 0x10001b5 /* U+01B5 LATIN CAPITAL LETTER Z WITH STROKE */
const Keyabelowdot uint32 = 0x1001ea1 /* U+1EA1 LATIN SMALL LETTER A WITH DOT BELOW */
const Keyabovedot uint32 = 0x01ff /* U+02D9 DOT ABOVE */
const Keyabreveacute uint32 = 0x1001eaf /* U+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE */
const Keyabrevebelowdot uint32 = 0x1001eb7 /* U+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */
const Keyabrevegrave uint32 = 0x1001eb1 /* U+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE */
const Keyabrevehook uint32 = 0x1001eb3 /* U+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE */
const Keyabrevetilde uint32 = 0x1001eb5 /* U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE */
const Keyacircumflexacute uint32 = 0x1001ea5 /* U+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE */
const Keyacircumflexbelowdot uint32 = 0x1001ead /* U+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
const Keyacircumflexgrave uint32 = 0x1001ea7 /* U+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE */
const Keyacircumflexhook uint32 = 0x1001ea9 /* U+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
const Keyacircumflextilde uint32 = 0x1001eab /* U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE */
const Keyahook uint32 = 0x1001ea3 /* U+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE */
const KeybAbovedot uint32 = 0x1001e03 /* U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE */
const Keybreve uint32 = 0x01a2 /* U+02D8 BREVE */
const Keycapostropheh uint32 = 0xfea3 // c h / c'h / c_h
const Keych uint32 = 0xfea0 // ch
const KeydAbovedot uint32 = 0x1001e0b /* U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE */
const Keyebelowdot uint32 = 0x1001eb9 /* U+1EB9 LATIN SMALL LETTER E WITH DOT BELOW */
const Keyecircumflexacute uint32 = 0x1001ebf /* U+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE */
const Keyecircumflexbelowdot uint32 = 0x1001ec7 /* U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
const Keyecircumflexgrave uint32 = 0x1001ec1 /* U+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE */
const Keyecircumflexhook uint32 = 0x1001ec3 /* U+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
const Keyecircumflextilde uint32 = 0x1001ec5 /* U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE */
const Keyehook uint32 = 0x1001ebb /* U+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE */
const Keyetilde uint32 = 0x1001ebd /* U+1EBD LATIN SMALL LETTER E WITH TILDE */
const Keyezh uint32 = 0x1000292 /* U+0292 LATIN SMALL LETTER EZH */
const KeyfAbovedot uint32 = 0x1001e1f /* U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE */
const Keygcaron uint32 = 0x10001e7 /* U+01E7 LATIN SMALL LETTER G WITH CARON */
const Keyibelowdot uint32 = 0x1001ecb /* U+1ECB LATIN SMALL LETTER I WITH DOT BELOW */
const Keyibreve uint32 = 0x100012d /* U+012D LATIN SMALL LETTER I WITH BREVE */
const Keyihook uint32 = 0x1001ec9 /* U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE */
const Keylbelowdot uint32 = 0x1001e37 /* U+1E37 LATIN SMALL LETTER L WITH DOT BELOW */
const KeymAbovedot uint32 = 0x1001e41 /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */
const KeymapFormatTextV1 = 1
KeymapFormatTextV1 is the current/classic XKB text format, as generated by xkbcomp -xkb. This keymap consists of a single top-level `xkb_keymap` block, underwhich are nested sections.
const Keymultiply uint32 = 0x00d7 /* U+00D7 MULTIPLICATION SIGN */
const Keynumerosign uint32 = 0x06b0 /* U+2116 NUMERO SIGN */
const Keyobarred uint32 = 0x1000275 /* U+0275 LATIN SMALL LETTER BARRED O */
const Keyobelowdot uint32 = 0x1001ecd /* U+1ECD LATIN SMALL LETTER O WITH DOT BELOW */
const Keyocaron uint32 = 0x10001d2 /* U+01D2 LATIN SMALL LETTER O WITH CARON */
const Keyocircumflexacute uint32 = 0x1001ed1 /* U+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE */
const Keyocircumflexbelowdot uint32 = 0x1001ed9 /* U+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
const Keyocircumflexgrave uint32 = 0x1001ed3 /* U+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE */
const Keyocircumflexhook uint32 = 0x1001ed5 /* U+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
const Keyocircumflextilde uint32 = 0x1001ed7 /* U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE */
const Keyohook uint32 = 0x1001ecf /* U+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE */
const Keyohorn uint32 = 0x10001a1 /* U+01A1 LATIN SMALL LETTER O WITH HORN */
const Keyohornacute uint32 = 0x1001edb /* U+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE */
const Keyohornbelowdot uint32 = 0x1001ee3 /* U+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW */
const Keyohorngrave uint32 = 0x1001edd /* U+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE */
const Keyohornhook uint32 = 0x1001edf /* U+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE */
const Keyohorntilde uint32 = 0x1001ee1 /* U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE */
const Keyoverline uint32 = 0x047e /* U+203E OVERLINE */
const KeypAbovedot uint32 = 0x1001e57 /* U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE */
const Keyprolongedsound uint32 = 0x04b0 /* U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK */
const KeysAbovedot uint32 = 0x1001e61 /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */
const Keyschwa uint32 = 0x1000259 /* U+0259 LATIN SMALL LETTER SCHWA */
const Keysemivoicedsound uint32 = 0x04df /* U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
const KeytAbovedot uint32 = 0x1001e6b /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */
const Keyubelowdot uint32 = 0x1001ee5 /* U+1EE5 LATIN SMALL LETTER U WITH DOT BELOW */
const Keyuhook uint32 = 0x1001ee7 /* U+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE */
const Keyuhorn uint32 = 0x10001b0 /* U+01B0 LATIN SMALL LETTER U WITH HORN */
const Keyuhornacute uint32 = 0x1001ee9 /* U+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE */
const Keyuhornbelowdot uint32 = 0x1001ef1 /* U+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW */
const Keyuhorngrave uint32 = 0x1001eeb /* U+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE */
const Keyuhornhook uint32 = 0x1001eed /* U+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE */
const Keyuhorntilde uint32 = 0x1001eef /* U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE */
const Keyvoicedsound uint32 = 0x04de /* U+309B KATAKANA-HIRAGANA VOICED SOUND MARK */
const KeywAcute uint32 = 0x1001e83 /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */
const KeywCircumflex uint32 = 0x1000175 /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */
const KeywDiaeresis uint32 = 0x1001e85 /* U+1E85 LATIN SMALL LETTER W WITH DIAERESIS */
const KeywGrave uint32 = 0x1001e81 /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */
const Keyxabovedot uint32 = 0x1001e8b /* U+1E8B LATIN SMALL LETTER X WITH DOT ABOVE */
const KeyyCircumflex uint32 = 0x1000177 /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */
const KeyyGrave uint32 = 0x1001ef3 /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */
const Keyybelowdot uint32 = 0x1001ef5 /* U+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW */
const Keyyhook uint32 = 0x1001ef7 /* U+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE */
const Keyytilde uint32 = 0x1001ef9 /* U+1EF9 LATIN SMALL LETTER Y WITH TILDE */
const Keyzstroke uint32 = 0x10001b6 /* U+01B6 LATIN SMALL LETTER Z WITH STROKE */
const LayoutInvalid = 0xffffffff
LayoutInvalid is a special value indicating that Layout is invalid
const LedInvalid = 0xffffffff
LedInvalid is a special value indicating that Led is invalid
const LedNameCaps = "Caps Lock"
LedNameCaps is the name of Caps Lock Led
const LedNameNum = "Num Lock"
LedNameNum is the name of Num Lock Led
const LedNameScroll = "Scroll Lock"
LedNameScroll is the name of Scroll Lock Led
const LevelInvalid = 0xffffffff
LevelInvalid is a special value indicating that Level is invalid
const ModInvalid = 0xffffffff
ModInvalid is a special value indicating that Modifier is invalid
const ModNameAlt = "Mod1"
ModNameAlt is the name of Alt Modifier
const ModNameCaps = "Lock"
ModNameCaps is the name of Caps Lock Modifier
const ModNameCtrl = "Control"
ModNameCtrl is the name of Control Modifier
const ModNameLogo = "Mod4"
ModNameLogo is the name of Logo Modifier
const ModNameNum = "Mod2"
ModNameNum is the name of Num Lock Modifier
const ModNameShift = "Shift"
ModNameShift is the name of Shift Modifier
Variables ¶
This section is empty.
Functions ¶
func ComposeStateUnref ¶
func ComposeStateUnref(*ComposeState)
ComposeStateUnref Releases a reference on a compose state object, and possibly free it.
Parameter state The object. If nil, do nothing.
func ComposeTableUnref ¶
func ComposeTableUnref(*ComposeTable)
ComposeTableUnref Releases a reference on a compose table, and possibly free it.
Parameter table The object. If it is nil, this function does nothing.
func ContextUnref ¶
func ContextUnref(*Context)
ContextUnref Releases a reference on a context, and possibly free it.
Parameter context The context. If it is nil, this function does nothing.
func KeymapUnref ¶
func KeymapUnref(*Keymap)
KeymapUnref Releases a reference on a keymap, and possibly free it.
Parameter keymap The keymap. If it is nil, this function does nothing.
func KeysymToUtf32 ¶
KeysymToUtf32 Gets the Unicode/UTF-32 representation of a keysym.
It returns The Unicode/UTF-32 representation of keysym, which is also compatible with UCS-4. If the keysym does not have a Unicode representation, returns 0.
This function does not perform any keysym-transformations. Therefore, prefer to use StateKeyGetUtf32() if possible.
See also StateKeyGetUtf32()
func StateUnref ¶
func StateUnref(*State)
StateUnref Releases a reference on a keyboard state object, and possibly free it.
Parameter state The state. If it is nil, this function does nothing.
Types ¶
type ComposeFeedResult ¶
type ComposeFeedResult uint8
ComposeFeedResult is The effect of a keysym fed to ComposeStateFeed().
const ComposeFeedAccepted ComposeFeedResult = 1
ComposeFeedAccepted is The keysym started, advanced or cancelled a sequence.
const ComposeFeedIgnored ComposeFeedResult = 0
ComposeFeedIgnored is The keysym had no effect - it did not affect the status.
type ComposeState ¶
type ComposeState struct {
// contains filtered or unexported fields
}
ComposeState is an Opaque Compose state object.
func ComposeStateNew ¶
func ComposeStateNew(table *ComposeTable, flags uint32) (ret *ComposeState)
ComposeStateNew Creates a new compose state object.
Parameter table The compose table the state will use. Parameter flags Optional flags for the compose state, or 0.
It returns A new compose state, or nil on failure.
func (*ComposeState) Feed ¶
func (state *ComposeState) Feed(keysym uint32) ComposeFeedResult
Feed Feeds one keysym to the Compose sequence state machine.
This function can advance into a compose sequence, cancel a sequence, start a new sequence, or do nothing in particular. The resulting status may be observed with ComposeStateGetStatus().
Some keysyms, such as keysyms for modifier keys, are ignored - they have no effect on the status or otherwise.
The following is a description of the possible status transitions, in the format CURRENT STATUS => NEXT STATUS, given a non-ignored input keysym `keysym`:
NOTHING or CANCELLED or COMPOSED => NOTHING if keysym does not start a sequence. COMPOSING if keysym starts a sequence. COMPOSED if keysym starts and terminates a single-keysym sequence. COMPOSING => COMPOSING if keysym advances any of the currently possible sequences but does not terminate any of them. COMPOSED if keysym terminates one of the currently possible sequences. CANCELLED if keysym does not advance any of the currently possible sequences.
The current Compose formats do not support multiple-keysyms. Therefore, if you are using a function such as StateKeyGetSyms() and it returns more than one keysym, consider feeding KeyNoSymbol instead.
Parameter state The compose state object. Parameter keysym A keysym, usually obtained after a key-press event, with a function such as StateKeyGetOneSym().
It returns Whether the keysym was ignored. This is useful, for example, if you want to keep a record of the sequence matched thus far.
func (*ComposeState) GetOneSym ¶
func (state *ComposeState) GetOneSym() uint32
GetOneSym Gets the result keysym for a composed sequence.
See compose-overview for more details. This function is only useful when the status is ComposeComposed.
It returns The result keysym. If the sequence is not complete, or does not specify a result keysym, returns KeyNoSymbol.
func (*ComposeState) GetStatus ¶
func (state *ComposeState) GetStatus() ComposeStatus
GetStatus Gets the current status of the compose state machine.
See ComposeStatus
func (*ComposeState) GetUtf8 ¶
func (state *ComposeState) GetUtf8() (buffer []byte)
GetUtf8 Gets the result Unicode/UTF-8 string for a composed sequence.
See compose-overview for more details. This function is only useful when the status is ComposeComposed.
parameter state
The compose state.
Returns
The bytes required for the string, excluding the NUL byte. If the sequence is not complete, or does not have a viable result string, sets `buffer` to the empty string.
type ComposeStatus ¶
type ComposeStatus uint8
ComposeStatus is the status of the Compose sequence state machine.
const ComposeCancelled ComposeStatus = 3
ComposeCancelled is The last sequence was cancelled due to an unmatched keysym.
const ComposeComposed ComposeStatus = 2
ComposeComposed is A complete sequence has been matched.
const ComposeComposing ComposeStatus = 1
ComposeComposing is In the middle of a sequence.
const ComposeNothing ComposeStatus = 0
ComposeNothing is The initial state; no sequence has started yet.
type ComposeTable ¶
type ComposeTable struct {
// contains filtered or unexported fields
}
ComposeTable is an Opaque Compose table object.
type Context ¶
type Context struct {
// contains filtered or unexported fields
}
Context is an Opaque top level library context object.
func ContextNew ¶
ContextNew Creates a new context.
Parameter flags Optional flags for the context, or 0.
It returns A new context, or nil on failure.
func (*Context) ComposeTableNewFromLocale ¶
func (context *Context) ComposeTableNewFromLocale(locale string, flags uint32) (ret *ComposeTable)
ComposeTableNewFromLocale Creates a compose table for a given locale.
The locale is used for searching the file-system for an appropriate Compose file. The search order is described in Compose(5). It is affected by the following environment variables:
1. `XCOMPOSEFILE` - see Compose(5). 2. `XDG_CONFIG_HOME` - before `$HOME/.XCompose` is checked, `$XDG_CONFIG_HOME/XCompose` is checked (with a fall back to `$HOME/.config/XCompose` if `XDG_CONFIG_HOME` is not defined). This is a libxkbcommon extension to the search procedure in Compose(5) (since libxkbcommon 1.0.0). Note that other implementations, such as libX11, might not find a Compose file in this path. 3. `HOME` - see Compose(5). 4. `XLOCALEDIR` - if set, used as the base directory for the system's X locale files, e.g. `/usr/share/X11/locale`, instead of the preconfigured directory.
Parameter context The library context in which to create the compose table. Parameter locale The current locale. See compose-locale.
The value is copied, so it is safe to pass the result of getenv(3) (or similar) without fear of it being invalidated by a subsequent setenv(3) (or similar). Parameter flags Optional flags for the compose table, or 0.
It returns A compose table for the given locale, or nil if the compilation failed or a Compose file was not found.
func (*Context) KeymapNewFromString ¶
KeymapNewFromString Creates a keymap from a keymap string.
This is just like xkb_keymap_new_from_file(), but instead of a file, gets the keymap as one enormous string.
See xkb_keymap_new_from_file()
type Keymap ¶
type Keymap struct {
// contains filtered or unexported fields
}
Keymap is an Opaque compiled keymap object.
func (*Keymap) KeyRepeats ¶
KeyRepeats Determines whether a key should repeat or not.
A keymap may specify different repeat behaviors for different keys. Most keys should generally exhibit repeat behavior; for example, holding the 'a' key down in a text editor should normally insert a single 'a' character every few milliseconds, until the key is released. However, there are keys which should not or do not need to be repeated. For example, repeating modifier keys such as Left/Right Shift or Caps Lock is not generally useful or desired.
It returns 1 if the key should repeat, 0 otherwise.
func (*Keymap) ModGetIndex ¶
ModGetIndex Gets the index of a modifier by name.
It returns The index. If no modifier with this name exists, returns ModInvalid.
see also xkb_mod_index_t
type State ¶
type State struct {
// contains filtered or unexported fields
}
State is an Opaque keyboard state object.
func (*State) KeyGetOneSym ¶
KeyGetOneSym Gets the single keysym obtained from pressing a particular key in a given keyboard state.
This function is similar to StateKeyGetSyms(), but intended for users which cannot or do not want to handle the case where multiple keysyms are returned (in which case this function is preferred).
It returns The keysym. If the key does not have exactly one keysym, returns KeyNoSymbol
This function performs Capitalization keysym-transformations.
see also StateKeyGetSyms()
func (*State) KeyGetSyms ¶
KeyGetOneSym Gets the single keysym obtained from pressing a particular key in a given keyboard state.
This function is similar to StateKeyGetSyms(), but intended for users which cannot or do not want to handle the case where multiple keysyms are returned (in which case this function is preferred).
It returns The keysym. If the key does not have exactly one keysym, returns KeyNoSymbol
This function performs Capitalization keysym-transformations.
see also StateKeyGetSyms()
func (*State) KeyGetUtf32 ¶
KeyGetUtf32 Gets the Unicode/UTF-32 codepoint obtained from pressing a particular key in a a given keyboard state.
Returns The UTF-32 representation for the key, if it consists of only a single codepoint. Otherwise, returns 0.
This function performs Capitalization and Control, see keysym-transformations.
since 0.4.1
func (*State) SerializeMods ¶
func (state *State) SerializeMods(mods StateComponent) uint32
SerializeMods is The counterpart to xkb_state_update_mask for modifiers, to be used on the server side of serialization.
parameter state The keyboard state. parameter components A mask of the modifier state components to serialize. State components other than StateMods* are ignored. If StateModsEffective is included, all other state components are ignored.
it returns A xkb_mod_mask_t representing the given components of the modifier state.
This function should not be used in regular clients; please use the xkb_state_mod_*_is_active API instead.
func (*State) UpdateMask ¶
func (state *State) UpdateMask(depressedMods, latchedMods, lockedMods, depressedLayout, latchedLayout, lockedLayout uint32) uint32
UpdateMask Updates a keyboard state from a set of explicit masks.
This entry point is intended for window systems and the like, where a master process holds an State, then serializes it over a wire protocol, and clients then use the serialization to feed in to their own State.
All parameters must always be passed, or the resulting state may be incoherent.
The serialization is lossy and will not survive round trips; it must only be used to feed slave state objects, and must not be used to update the master state.
If you do not fit the description above, you should use xkb_state_update_key() instead. The two functions should not generally be used together.
it returns A mask of state components that have changed as a result of the update. If nothing in the state has changed, returns 0.
see also xkb_state_component see also xkb_state_update_key
type StateComponent ¶
type StateComponent uint32
StateComponent is a Modifier and layout types for state objects. This is bitmaskable, e.g. (XKB_STATE_MODS_DEPRESSED | XKB_STATE_MODS_LATCHED) is valid to exclude locked modifiers. In XKB, the DEPRESSED components are also known as 'base'.
const StateLayoutDepressed StateComponent = (1 << 4)
StateLayoutDepressed is a Depressed layout, i.e. a key is physically holding it.
const StateLayoutEffective StateComponent = (1 << 7)
StateLayoutEffective is an Effective layout, i.e. currently active and affects key processing (derived from the other state components). Use this unless you explicitly care how the state came about.
const StateLayoutLatched StateComponent = (1 << 5)
StateLayoutLatched is a Latched layout, i.e. will be unset after the next non-modifier key press.
const StateLayoutLocked StateComponent = (1 << 6)
StateLayoutLocked is a Locked layout, i.e. will be unset after the key provoking the lock has been pressed again.
const StateLeds StateComponent = (1 << 8)
StateLeds are a LEDs (derived from the other state components).
const StateModsDepressed StateComponent = (1 << 0)
StateModsDepressed are a Depressed modifiers, i.e. a key is physically holding them.
const StateModsEffective StateComponent = (1 << 3)
StateModsEffective are an Effective modifiers, i.e. currently active and affect key processing (derived from the other state components). Use this unless you explicitly care how the state came about.
const StateModsLatched StateComponent = (1 << 1)
StateModsLatched are a Latched modifiers, i.e. will be unset after the next non-modifier key press.
const StateModsLocked StateComponent = (1 << 2)
StateModsLocked are a Locked modifiers, i.e. will be unset after the key provoking the lock has been pressed again.