{.deadCodeElim: on.} ## The "X11 Window System Protocol" standard defines in Appendix A the ## keysym codes. These 29-bit integer values identify characters or ## functions associated with each key (e.g., via the visible ## engraving) of a keyboard layout. This file assigns mnemonic macro ## names for these keysyms. ## ## This file is also compiled (by xc/lib/X11/util/makekeys.c) into ## hash tables that can be accessed with X11 library functions such as ## XStringToKeysym() and XKeysymToString(). ## ## Where a keysym corresponds one-to-one to an ISO 10646 / Unicode ## character, this is noted in a comment that provides both the U+xxxx ## Unicode position, as well as the official Unicode name of the ## character. ## ## Where the correspondence is either not one-to-one or semantically ## unclear, the Unicode position and name are enclosed in ## parentheses. Such legacy keysyms should be considered deprecated ## and are not recommended for use in future keyboard mappings. ## ## For any future extension of the keysyms with characters already ## found in ISO 10646 / Unicode, the following algorithm shall be ## used. The new keysym code position will simply be the character's ## Unicode number plus 0x01000000. The keysym values in the range ## 0x01000100 to 0x0110ffff are reserved to represent Unicode ## characters in the range U+0100 to U+10FFFF. ## ## While most newer Unicode-based X11 clients do already accept ## Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it ## will remain necessary for clients -- in the interest of ## compatibility with existing servers -- to also understand the ## existing legacy keysym values in the range 0x0100 to 0x20ff. ## ## Where several mnemonic names are defined for the same keysym in this ## file, all but the first one listed should be considered deprecated. ## ## Mnemonic names for keysyms are defined in this file with lines ## that match one of these Perl regular expressions: ## ## /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/ ## /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/ ## /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/ ## ## When adding new keysyms to this file, do not forget to also update the ## mappings in xc/lib/X11/KeyBind.c and the protocol specification in ## xc/doc/specs/XProtocol/X11.keysyms. ## #KeySym -> ScanCode table const XK_VoidSymbol* = 0xffffff ## ## TTY function keys, cleverly chosen to map to ASCII, for convenience of ## programming, but could have been arbitrary (at the cost of lookup ## tables in client code). ## const XK_BackSpace* = 0xff08 XK_Tab* = 0xff09 XK_Linefeed* = 0xff0a XK_Clear* = 0xff0b XK_Return* = 0xff0d XK_Pause* = 0xff13 XK_Scroll_Lock* = 0xff14 XK_Sys_Req* = 0xff15 XK_Escape* = 0xff1b XK_Delete* = 0xffff ## International & multi-key character composition const XK_Multi_key* = 0xff20 XK_Codeinput* = 0xff37 XK_SingleCandidate* = 0xff3c XK_MultipleCandidate* = 0xff3d XK_PreviousCandidate* = 0xff3e ## Japanese keyboard support const XK_Kanji* = 0xff21 XK_Muhenkan* = 0xff22 XK_Henkan_Mode* = 0xff23 XK_Henkan* = 0xff23 XK_Romaji* = 0xff24 XK_Hiragana* = 0xff25 XK_Katakana* = 0xff26 XK_Hiragana_Katakana* = 0xff27 XK_Zenkaku* = 0xff28 XK_Hankaku* = 0xff29 XK_Zenkaku_Hankaku* = 0xff2a XK_Touroku* = 0xff2b XK_Massyo* = 0xff2c XK_Kana_Lock* = 0xff2d XK_Kana_Shift* = 0xff2e XK_Eisu_Shift* = 0xff2f XK_Eisu_toggle* = 0xff30 XK_Kanji_Bangou* = 0xff37 XK_Zen_Koho* = 0xff3d XK_Mae_Koho* = 0xff3e ## 0xff31 thru 0xff3f are under XK_KOREAN ## Cursor control & motion const XK_Home* = 0xff50 XK_Left* = 0xff51 XK_Up* = 0xff52 XK_Right* = 0xff53 XK_Down* = 0xff54 XK_Prior* = 0xff55 XK_Page_Up* = 0xff55 XK_Next* = 0xff56 XK_Page_Down* = 0xff56 XK_End* = 0xff57 XK_Begin* = 0xff58 ## Misc functions const XK_Select* = 0xff60 XK_Print* = 0xff61 XK_Execute* = 0xff62 XK_Insert* = 0xff63 XK_Undo* = 0xff65 XK_Redo* = 0xff66 XK_Menu* = 0xff67 XK_Find* = 0xff68 XK_Cancel* = 0xff69 XK_Help* = 0xff6a XK_Break* = 0xff6b XK_Mode_switch* = 0xff7e XK_script_switch* = 0xff7e XK_Num_Lock* = 0xff7f ## Keypad functions, keypad numbers cleverly chosen to map to ASCII const XK_KP_Space* = 0xff80 XK_KP_Tab* = 0xff89 XK_KP_Enter* = 0xff8d XK_KP_F1* = 0xff91 XK_KP_F2* = 0xff92 XK_KP_F3* = 0xff93 XK_KP_F4* = 0xff94 XK_KP_Home* = 0xff95 XK_KP_Left* = 0xff96 XK_KP_Up* = 0xff97 XK_KP_Right* = 0xff98 XK_KP_Down* = 0xff99 XK_KP_Prior* = 0xff9a XK_KP_Page_Up* = 0xff9a XK_KP_Next* = 0xff9b XK_KP_Page_Down* = 0xff9b XK_KP_End* = 0xff9c XK_KP_Begin* = 0xff9d XK_KP_Insert* = 0xff9e XK_KP_Delete* = 0xff9f XK_KP_Equal* = 0xffbd XK_KP_Multiply* = 0xffaa XK_KP_Add* = 0xffab XK_KP_Separator* = 0xffac XK_KP_Subtract* = 0xffad XK_KP_Decimal* = 0xffae XK_KP_Divide* = 0xffaf XK_KP_0* = 0xffb0 XK_KP_1* = 0xffb1 XK_KP_2* = 0xffb2 XK_KP_3* = 0xffb3 XK_KP_4* = 0xffb4 XK_KP_5* = 0xffb5 XK_KP_6* = 0xffb6 XK_KP_7* = 0xffb7 XK_KP_8* = 0xffb8 XK_KP_9* = 0xffb9 ## ## Auxilliary functions; note the duplicate definitions for left and right ## function keys; Sun keyboards and a few other manufactures have such ## function key groups on the left and/or right sides of the keyboard. ## We've not found a keyboard with more than 35 function keys total. ## const XK_F1* = 0xffbe XK_F2* = 0xffbf XK_F3* = 0xffc0 XK_F4* = 0xffc1 XK_F5* = 0xffc2 XK_F6* = 0xffc3 XK_F7* = 0xffc4 XK_F8* = 0xffc5 XK_F9* = 0xffc6 XK_F10* = 0xffc7 XK_F11* = 0xffc8 XK_L1* = 0xffc8 XK_F12* = 0xffc9 XK_L2* = 0xffc9 XK_F13* = 0xffca XK_L3* = 0xffca XK_F14* = 0xffcb XK_L4* = 0xffcb XK_F15* = 0xffcc XK_L5* = 0xffcc XK_F16* = 0xffcd XK_L6* = 0xffcd XK_F17* = 0xffce XK_L7* = 0xffce XK_F18* = 0xffcf XK_L8* = 0xffcf XK_F19* = 0xffd0 XK_L9* = 0xffd0 XK_F20* = 0xffd1 XK_L10* = 0xffd1 XK_F21* = 0xffd2 XK_R1* = 0xffd2 XK_F22* = 0xffd3 XK_R2* = 0xffd3 XK_F23* = 0xffd4 XK_R3* = 0xffd4 XK_F24* = 0xffd5 XK_R4* = 0xffd5 XK_F25* = 0xffd6 XK_R5* = 0xffd6 XK_F26* = 0xffd7 XK_R6* = 0xffd7 XK_F27* = 0xffd8 XK_R7* = 0xffd8 XK_F28* = 0xffd9 XK_R8* = 0xffd9 XK_F29* = 0xffda XK_R9* = 0xffda XK_F30* = 0xffdb XK_R10* = 0xffdb XK_F31* = 0xffdc XK_R11* = 0xffdc XK_F32* = 0xffdd XK_R12* = 0xffdd XK_F33* = 0xffde XK_R13* = 0xffde XK_F34* = 0xffdf XK_R14* = 0xffdf XK_F35* = 0xffe0 XK_R15* = 0xffe0 ## Modifiers const XK_Shift_L* = 0xffe1 XK_Shift_R* = 0xffe2 XK_Control_L* = 0xffe3 XK_Control_R* = 0xffe4 XK_Caps_Lock* = 0xffe5 XK_Shift_Lock* = 0xffe6 XK_Meta_L* = 0xffe7 XK_Meta_R* = 0xffe8 XK_Alt_L* = 0xffe9 XK_Alt_R* = 0xffea XK_Super_L* = 0xffeb XK_Super_R* = 0xffec XK_Hyper_L* = 0xffed XK_Hyper_R* = 0xffee # Keyboard (XKB) Extension function and modifier keys # (from Appendix C of "The X Keyboard Extension: Protocol Specification") ## Byte 3 = 0xfe ## when defined(XK_XKB_KEYS): const XK_ISO_Lock* = 0xfe01 XK_ISO_Level2_Latch* = 0xfe02 XK_ISO_Level3_Shift* = 0xfe03 XK_ISO_Level3_Latch* = 0xfe04 XK_ISO_Level3_Lock* = 0xfe05 XK_ISO_Group_Shift* = 0xff7e XK_ISO_Group_Latch* = 0xfe06 XK_ISO_Group_Lock* = 0xfe07 XK_ISO_Next_Group* = 0xfe08 XK_ISO_Next_Group_Lock* = 0xfe09 XK_ISO_Prev_Group* = 0xfe0a XK_ISO_Prev_Group_Lock* = 0xfe0b XK_ISO_First_Group* = 0xfe0c XK_ISO_First_Group_Lock* = 0xfe0d XK_ISO_Last_Group* = 0xfe0e XK_ISO_Last_Group_Lock* = 0xfe0f XK_ISO_Left_Tab* = 0xfe20 XK_ISO_Move_Line_Up* = 0xfe21 XK_ISO_Move_Line_Down* = 0xfe22 XK_ISO_Partial_Line_Up* = 0xfe23 XK_ISO_Partial_Line_Down* = 0xfe24 XK_ISO_Partial_Space_Left* = 0xfe25 XK_ISO_Partial_Space_Right* = 0xfe26 XK_ISO_Set_Margin_Left* = 0xfe27 XK_ISO_Set_Margin_Right* = 0xfe28 XK_ISO_Release_Margin_Left* = 0xfe29 XK_ISO_Release_Margin_Right* = 0xfe2a XK_ISO_Release_Both_Margins* = 0xfe2b XK_ISO_Fast_Cursor_Left* = 0xfe2c XK_ISO_Fast_Cursor_Right* = 0xfe2d XK_ISO_Fast_Cursor_Up* = 0xfe2e XK_ISO_Fast_Cursor_Down* = 0xfe2f XK_ISO_Continuous_Underline* = 0xfe30 XK_ISO_Discontinuous_Underline* = 0xfe31 XK_ISO_Emphasize* = 0xfe32 XK_ISO_Center_Object* = 0xfe33 XK_ISO_Enter* = 0xfe34 XK_dead_grave* = 0xfe50 XK_dead_acute* = 0xfe51 XK_dead_circumflex* = 0xfe52 XK_dead_tilde* = 0xfe53 XK_dead_macron* = 0xfe54 XK_dead_breve* = 0xfe55 XK_dead_abovedot* = 0xfe56 XK_dead_diaeresis* = 0xfe57 XK_dead_abovering* = 0xfe58 XK_dead_doubleacute* = 0xfe59 XK_dead_caron* = 0xfe5a XK_dead_cedilla* = 0xfe5b XK_dead_ogonek* = 0xfe5c XK_dead_iota* = 0xfe5d XK_dead_voiced_sound* = 0xfe5e XK_dead_semivoiced_sound* = 0xfe5f XK_dead_belowdot* = 0xfe60 XK_dead_hook* = 0xfe61 XK_dead_horn* = 0xfe62 XK_First_Virtual_Screen* = 0xfed0 XK_Prev_Virtual_Screen* = 0xfed1 XK_Next_Virtual_Screen* = 0xfed2 XK_Last_Virtual_Screen* = 0xfed4 XK_Terminate_Server* = 0xfed5 XK_AccessX_Enable* = 0xfe70 XK_AccessX_Feedback_Enable* = 0xfe71 XK_RepeatKeys_Enable* = 0xfe72 XK_SlowKeys_Enable* = 0xfe73 XK_BounceKeys_Enable* = 0xfe74 XK_StickyKeys_Enable* = 0xfe75 XK_MouseKeys_Enable* = 0xfe76 XK_MouseKeys_Accel_Enable* = 0xfe77 XK_Overlay1_Enable* = 0xfe78 XK_Overlay2_Enable* = 0xfe79 XK_AudibleBell_Enable* = 0xfe7a XK_Pointer_Left* = 0xfee0 XK_Pointer_Right* = 0xfee1 XK_Pointer_Up* = 0xfee2 XK_Pointer_Down* = 0xfee3 XK_Pointer_UpLeft* = 0xfee4 XK_Pointer_UpRight* = 0xfee5 XK_Pointer_DownLeft* = 0xfee6 XK_Pointer_DownRight* = 0xfee7 XK_Pointer_Button_Dflt* = 0xfee8 XK_Pointer_Button1* = 0xfee9 XK_Pointer_Button2* = 0xfeea XK_Pointer_Button3* = 0xfeeb XK_Pointer_Button4* = 0xfeec XK_Pointer_Button5* = 0xfeed XK_Pointer_DblClick_Dflt* = 0xfeee XK_Pointer_DblClick1* = 0xfeef XK_Pointer_DblClick2* = 0xfef0 XK_Pointer_DblClick3* = 0xfef1 XK_Pointer_DblClick4* = 0xfef2 XK_Pointer_DblClick5* = 0xfef3 XK_Pointer_Drag_Dflt* = 0xfef4 XK_Pointer_Drag1* = 0xfef5 XK_Pointer_Drag2* = 0xfef6 XK_Pointer_Drag3* = 0xfef7 XK_Pointer_Drag4* = 0xfef8 XK_Pointer_Drag5* = 0xfefd XK_Pointer_EnableKeys* = 0xfef9 XK_Pointer_Accelerate* = 0xfefa XK_Pointer_DfltBtnNext* = 0xfefb XK_Pointer_DfltBtnPrev* = 0xfefc ## ## 3270 Terminal Keys ## Byte 3 = 0xfd ## when defined(XK_3270): const XK_3270_Duplicate* = 0xfd01 XK_3270_FieldMark* = 0xfd02 XK_3270_Right2* = 0xfd03 XK_3270_Left2* = 0xfd04 XK_3270_BackTab* = 0xfd05 XK_3270_EraseEOF* = 0xfd06 XK_3270_EraseInput* = 0xfd07 XK_3270_Reset* = 0xfd08 XK_3270_Quit* = 0xfd09 XK_3270_PA1* = 0xfd0a XK_3270_PA2* = 0xfd0b XK_3270_PA3* = 0xfd0c XK_3270_Test* = 0xfd0d XK_3270_Attn* = 0xfd0e XK_3270_CursorBlink* = 0xfd0f XK_3270_AltCursor* = 0xfd10 XK_3270_KeyClick* = 0xfd11 XK_3270_Jump* = 0xfd12 XK_3270_Ident* = 0xfd13 XK_3270_Rule* = 0xfd14 XK_3270_Copy* = 0xfd15 XK_3270_Play* = 0xfd16 XK_3270_Setup* = 0xfd17 XK_3270_Record* = 0xfd18 XK_3270_ChangeScreen* = 0xfd19 XK_3270_DeleteWord* = 0xfd1a XK_3270_ExSelect* = 0xfd1b XK_3270_CursorSelect* = 0xfd1c XK_3270_PrintScreen* = 0xfd1d XK_3270_Enter* = 0xfd1e ## ## Latin 1 ## (ISO/IEC 8859-1 = Unicode U+0020..U+00FF) ## Byte 3 = 0 ## const XK_space* = 0x0020 XK_exclam* = 0x0021 XK_quotedbl* = 0x0022 XK_numbersign* = 0x0023 XK_dollar* = 0x0024 XK_percent* = 0x0025 XK_ampersand* = 0x0026 XK_apostrophe* = 0x0027 XK_quoteright* = 0x0027 XK_parenleft* = 0x0028 XK_parenright* = 0x0029 XK_asterisk* = 0x002a XK_plus* = 0x002b XK_comma* = 0x002c XK_minus* = 0x002d XK_period* = 0x002e XK_slash* = 0x002f XK_0* = 0x0030 XK_1* = 0x0031 XK_2* = 0x0032 XK_3* = 0x0033 XK_4* = 0x0034 XK_5* = 0x0035 XK_6* = 0x0036 XK_7* = 0x0037 XK_8* = 0x0038 XK_9* = 0x0039 XK_colon* = 0x003a XK_semicolon* = 0x003b XK_less* = 0x003c XK_equal* = 0x003d XK_greater* = 0x003e XK_question* = 0x003f XK_at* = 0x0040 XK_A* = 0x0041 XK_B* = 0x0042 XK_C* = 0x0043 XK_D* = 0x0044 XK_E* = 0x0045 XK_F* = 0x0046 XK_G* = 0x0047 XK_H* = 0x0048 XK_I* = 0x0049 XK_J* = 0x004a XK_K* = 0x004b XK_L* = 0x004c XK_M* = 0x004d XK_N* = 0x004e XK_O* = 0x004f XK_P* = 0x0050 XK_Q* = 0x0051 XK_R* = 0x0052 XK_S* = 0x0053 XK_T* = 0x0054 XK_U* = 0x0055 XK_V* = 0x0056 XK_W* = 0x0057 XK_X* = 0x0058 XK_Y* = 0x0059 XK_Z* = 0x005a XK_bracketleft* = 0x005b XK_backslash* = 0x005c XK_bracketright* = 0x005d XK_asciicircum* = 0x005e XK_underscore* = 0x005f XK_grave* = 0x0060 XK_quoteleft* = 0x0060 # Because nim devs are stupid stupid stupid # and the language has case-insensitivity (among other naming things) that causes XK_a and XK_A to be considered the """"""""""""""same"""""""""""" XK_aa* = 0x0061 XK_bb* = 0x0062 XK_cc* = 0x0063 XK_dd* = 0x0064 XK_ee* = 0x0065 XK_ff* = 0x0066 XK_gg* = 0x0067 XK_hh* = 0x0068 XK_ii* = 0x0069 XK_jj* = 0x006a XK_kk* = 0x006b XK_ll* = 0x006c XK_mm* = 0x006d XK_nn* = 0x006e XK_oo* = 0x006f XK_pp* = 0x0070 XK_qq* = 0x0071 XK_rr* = 0x0072 XK_ss* = 0x0073 XK_tt* = 0x0074 XK_uu* = 0x0075 XK_vv* = 0x0076 XK_ww* = 0x0077 XK_xx* = 0x0078 XK_yy* = 0x0079 XK_zz* = 0x007a XK_braceleft* = 0x007b XK_bar* = 0x007c XK_braceright* = 0x007d XK_asciitilde* = 0x007e XK_nobreakspace* = 0x00a0 # XK_exclamdown* = 0x00a1 # XK_cent* = 0x00a2 # XK_sterling* = 0x00a3 # XK_currency* = 0x00a4 # XK_yen* = 0x00a5 # XK_brokenbar* = 0x00a6 # XK_section* = 0x00a7 # XK_diaeresis* = 0x00a8 # XK_copyright* = 0x00a9 # XK_ordfeminine* = 0x00aa # XK_guillemotleft* = 0x00ab # XK_notsign* = 0x00ac # XK_hyphen* = 0x00ad # XK_registered* = 0x00ae # XK_macron* = 0x00af # XK_degree* = 0x00b0 # XK_plusminus* = 0x00b1 # XK_twosuperior* = 0x00b2 # XK_threesuperior* = 0x00b3 # XK_acute* = 0x00b4 # XK_mu* = 0x00b5 # XK_paragraph* = 0x00b6 # XK_periodcentered* = 0x00b7 # XK_cedilla* = 0x00b8 # XK_onesuperior* = 0x00b9 # XK_masculine* = 0x00ba # XK_guillemotright* = 0x00bb # XK_onequarter* = 0x00bc # XK_onehalf* = 0x00bd # XK_threequarters* = 0x00be # XK_questiondown* = 0x00bf # XK_Agrave* = 0x00c0 # XK_Aacute* = 0x00c1 # XK_Acircumflex* = 0x00c2 # XK_Atilde* = 0x00c3 # XK_Adiaeresis* = 0x00c4 # XK_Aring* = 0x00c5 # XK_AE* = 0x00c6 # XK_Ccedilla* = 0x00c7 # XK_Egrave* = 0x00c8 # XK_Eacute* = 0x00c9 # XK_Ecircumflex* = 0x00ca # XK_Ediaeresis* = 0x00cb # XK_Igrave* = 0x00cc # XK_Iacute* = 0x00cd # XK_Icircumflex* = 0x00ce # XK_Idiaeresis* = 0x00cf # XK_ETH* = 0x00d0 # XK_Ethh* = 0x00d0 # XK_Ntilde* = 0x00d1 # XK_Ograve* = 0x00d2 # XK_Oacute* = 0x00d3 # XK_Ocircumflex* = 0x00d4 # XK_Otilde* = 0x00d5 # XK_Odiaeresis* = 0x00d6 # XK_multiply* = 0x00d7 # XK_Oslash* = 0x00d8 # XK_Ooblique* = 0x00d8 # XK_Ugrave* = 0x00d9 # XK_Uacute* = 0x00da # XK_Ucircumflex* = 0x00db # XK_Udiaeresis* = 0x00dc # XK_Yacute* = 0x00dd # XK_THORN* = 0x00de # XK_Thornn* = 0x00de # XK_ssharp* = 0x00df # XK_agravee* = 0x00e0 # XK_aacutee* = 0x00e1 # XK_acircumflexx* = 0x00e2 # XK_atildee* = 0x00e3 # XK_adiaeresiss* = 0x00e4 # XK_aringg* = 0x00e5 # XK_aee* = 0x00e6 # when you uncomment these, you will probably get a lot of redefinition errors because # stupid stupid stupid nim devs # XK_ccedilla* = 0x00e7 # XK_egrave* = 0x00e8 # XK_eacute* = 0x00e9 # XK_ecircumflex* = 0x00ea # XK_ediaeresis* = 0x00eb # XK_igrave* = 0x00ec # XK_iacute* = 0x00ed # XK_icircumflex* = 0x00ee # XK_idiaeresis* = 0x00ef # XK_eth* = 0x00f0 # XK_ntilde* = 0x00f1 # XK_ograve* = 0x00f2 # XK_oacute* = 0x00f3 # XK_ocircumflex* = 0x00f4 # XK_otilde* = 0x00f5 # XK_odiaeresis* = 0x00f6 # XK_division* = 0x00f7 # XK_oslash* = 0x00f8 # XK_ooblique* = 0x00f8 # XK_ugrave* = 0x00f9 # XK_uacute* = 0x00fa # XK_ucircumflex* = 0x00fb # XK_udiaeresis* = 0x00fc # XK_yacute* = 0x00fd # XK_thorn* = 0x00fe # XK_ydiaeresis* = 0x00ff ## ## Latin 2 ## Byte 3 = 1 ## # when defined(XK_LATIN2): # const # XK_Aogonek* = 0x01a1 # XK_breve* = 0x01a2 # XK_Lstroke* = 0x01a3 # XK_Lcaron* = 0x01a5 # XK_Sacute* = 0x01a6 # XK_Scaron* = 0x01a9 # XK_Scedilla* = 0x01aa # XK_Tcaron* = 0x01ab # XK_Zacute* = 0x01ac # XK_Zcaron* = 0x01ae # XK_Zabovedot* = 0x01af # XK_aogonek* = 0x01b1 # XK_ogonek* = 0x01b2 # XK_lstroke* = 0x01b3 # XK_lcaron* = 0x01b5 # XK_sacute* = 0x01b6 # XK_caron* = 0x01b7 # XK_scaron* = 0x01b9 # XK_scedilla* = 0x01ba # XK_tcaron* = 0x01bb # XK_zacute* = 0x01bc # XK_doubleacute* = 0x01bd # XK_zcaron* = 0x01be # XK_zabovedot* = 0x01bf # XK_Racute* = 0x01c0 # XK_Abreve* = 0x01c3 # XK_Lacute* = 0x01c5 # XK_Cacute* = 0x01c6 # XK_Ccaron* = 0x01c8 # XK_Eogonek* = 0x01ca # XK_Ecaron* = 0x01cc # XK_Dcaron* = 0x01cf # XK_Dstroke* = 0x01d0 # XK_Nacute* = 0x01d1 # XK_Ncaron* = 0x01d2 # XK_Odoubleacute* = 0x01d5 # XK_Rcaron* = 0x01d8 # XK_Uring* = 0x01d9 # XK_Udoubleacute* = 0x01db # XK_Tcedilla* = 0x01de # XK_racute* = 0x01e0 # XK_abreve* = 0x01e3 # XK_lacute* = 0x01e5 # XK_cacute* = 0x01e6 # XK_ccaron* = 0x01e8 # XK_eogonek* = 0x01ea # XK_ecaron* = 0x01ec # XK_dcaron* = 0x01ef # XK_dstroke* = 0x01f0 # XK_nacute* = 0x01f1 # XK_ncaron* = 0x01f2 # XK_odoubleacute* = 0x01f5 # XK_udoubleacute* = 0x01fb # XK_rcaron* = 0x01f8 # XK_uring* = 0x01f9 # XK_tcedilla* = 0x01fe # XK_abovedot* = 0x01ff # ## # ## Latin 3 # ## Byte 3 = 2 # ## # when defined(XK_LATIN3): # const # XK_Hstroke* = 0x02a1 # XK_Hcircumflex* = 0x02a6 # XK_Iabovedot* = 0x02a9 # XK_Gbreve* = 0x02ab # XK_Jcircumflex* = 0x02ac # XK_hstroke* = 0x02b1 # XK_hcircumflex* = 0x02b6 # XK_idotless* = 0x02b9 # XK_gbreve* = 0x02bb # XK_jcircumflex* = 0x02bc # XK_Cabovedot* = 0x02c5 # XK_Ccircumflex* = 0x02c6 # XK_Gabovedot* = 0x02d5 # XK_Gcircumflex* = 0x02d8 # XK_Ubreve* = 0x02dd # XK_Scircumflex* = 0x02de # XK_cabovedot* = 0x02e5 # XK_ccircumflex* = 0x02e6 # XK_gabovedot* = 0x02f5 # XK_gcircumflex* = 0x02f8 # XK_ubreve* = 0x02fd # XK_scircumflex* = 0x02fe # ## # ## Latin 4 # ## Byte 3 = 3 # ## # when defined(XK_LATIN4): # const # XK_kra* = 0x03a2 # XK_kappa* = 0x03a2 # XK_Rcedilla* = 0x03a3 # XK_Itilde* = 0x03a5 # XK_Lcedilla* = 0x03a6 # XK_Emacron* = 0x03aa # XK_Gcedilla* = 0x03ab # XK_Tslash* = 0x03ac # XK_rcedilla* = 0x03b3 # XK_itilde* = 0x03b5 # XK_lcedilla* = 0x03b6 # XK_emacron* = 0x03ba # XK_gcedilla* = 0x03bb # XK_tslash* = 0x03bc # XK_ENG* = 0x03bd # XK_eng* = 0x03bf # XK_Amacron* = 0x03c0 # XK_Iogonek* = 0x03c7 # XK_Eabovedot* = 0x03cc # XK_Imacron* = 0x03cf # XK_Ncedilla* = 0x03d1 # XK_Omacron* = 0x03d2 # XK_Kcedilla* = 0x03d3 # XK_Uogonek* = 0x03d9 # XK_Utilde* = 0x03dd # XK_Umacron* = 0x03de # XK_amacron* = 0x03e0 # XK_iogonek* = 0x03e7 # XK_eabovedot* = 0x03ec # XK_imacron* = 0x03ef # XK_ncedilla* = 0x03f1 # XK_omacron* = 0x03f2 # XK_kcedilla* = 0x03f3 # XK_uogonek* = 0x03f9 # XK_utilde* = 0x03fd # XK_umacron* = 0x03fe # ## # ## Latin 8 # ## # when defined(XK_LATIN8): # const # XK_Babovedot* = 0x1001e02 # XK_babovedot* = 0x1001e03 # XK_Dabovedot* = 0x1001e0a # XK_Wgrave* = 0x1001e80 # XK_Wacute* = 0x1001e82 # XK_dabovedot* = 0x1001e0b # XK_Ygrave* = 0x1001ef2 # XK_Fabovedot* = 0x1001e1e # XK_fabovedot* = 0x1001e1f # XK_Mabovedot* = 0x1001e40 # XK_mabovedot* = 0x1001e41 # XK_Pabovedot* = 0x1001e56 # XK_wgrave* = 0x1001e81 # XK_pabovedot* = 0x1001e57 # XK_wacute* = 0x1001e83 # XK_Sabovedot* = 0x1001e60 # XK_ygrave* = 0x1001ef3 # XK_Wdiaeresis* = 0x1001e84 # XK_wdiaeresis* = 0x1001e85 # XK_sabovedot* = 0x1001e61 # XK_Wcircumflex* = 0x1000174 # XK_Tabovedot* = 0x1001e6a # XK_Ycircumflex* = 0x1000176 # XK_wcircumflex* = 0x1000175 # XK_tabovedot* = 0x1001e6b # XK_ycircumflex* = 0x1000177 # ## # ## Latin 9 # ## Byte 3 = 0x13 # ## # when defined(XK_LATIN9): # const # XK_OE* = 0x13bc # XK_oe* = 0x13bd # XK_Ydiaeresis* = 0x13be # ## # ## Katakana # ## Byte 3 = 4 # ## # when defined(XK_KATAKANA): # const # XK_overline* = 0x047e # XK_kana_fullstop* = 0x04a1 # XK_kana_openingbracket* = 0x04a2 # XK_kana_closingbracket* = 0x04a3 # XK_kana_comma* = 0x04a4 # XK_kana_conjunctive* = 0x04a5 # XK_kana_middledot* = 0x04a5 # XK_kana_WO* = 0x04a6 # XK_kana_a* = 0x04a7 # XK_kana_i* = 0x04a8 # XK_kana_u* = 0x04a9 # XK_kana_e* = 0x04aa # XK_kana_o* = 0x04ab # XK_kana_ya* = 0x04ac # XK_kana_yu* = 0x04ad # XK_kana_yo* = 0x04ae # XK_kana_tsu* = 0x04af # XK_kana_tu* = 0x04af # XK_prolongedsound* = 0x04b0 # XK_kana_A* = 0x04b1 # XK_kana_I* = 0x04b2 # XK_kana_U* = 0x04b3 # XK_kana_E* = 0x04b4 # XK_kana_O* = 0x04b5 # XK_kana_KA* = 0x04b6 # XK_kana_KI* = 0x04b7 # XK_kana_KU* = 0x04b8 # XK_kana_KE* = 0x04b9 # XK_kana_KO* = 0x04ba # XK_kana_SA* = 0x04bb # XK_kana_SHI* = 0x04bc # XK_kana_SU* = 0x04bd # XK_kana_SE* = 0x04be # XK_kana_SO* = 0x04bf # XK_kana_TA* = 0x04c0 # XK_kana_CHI* = 0x04c1 # XK_kana_TI* = 0x04c1 # XK_kana_TSU* = 0x04c2 # XK_kana_TU* = 0x04c2 # XK_kana_TE* = 0x04c3 # XK_kana_TO* = 0x04c4 # XK_kana_NA* = 0x04c5 # XK_kana_NI* = 0x04c6 # XK_kana_NU* = 0x04c7 # XK_kana_NE* = 0x04c8 # XK_kana_NO* = 0x04c9 # XK_kana_HA* = 0x04ca # XK_kana_HI* = 0x04cb # XK_kana_FU* = 0x04cc # XK_kana_HU* = 0x04cc # XK_kana_HE* = 0x04cd # XK_kana_HO* = 0x04ce # XK_kana_MA* = 0x04cf # XK_kana_MI* = 0x04d0 # XK_kana_MU* = 0x04d1 # XK_kana_ME* = 0x04d2 # XK_kana_MO* = 0x04d3 # XK_kana_YA* = 0x04d4 # XK_kana_YU* = 0x04d5 # XK_kana_YO* = 0x04d6 # XK_kana_RA* = 0x04d7 # XK_kana_RI* = 0x04d8 # XK_kana_RU* = 0x04d9 # XK_kana_RE* = 0x04da # XK_kana_RO* = 0x04db # XK_kana_WA* = 0x04dc # XK_kana_N* = 0x04dd # XK_voicedsound* = 0x04de # XK_semivoicedsound* = 0x04df # XK_kana_switch* = 0xff7e # ## # ## Arabic # ## Byte 3 = 5 # ## # when defined(XK_ARABIC): # const # XK_Farsi_0* = 0x10006f0 # XK_Farsi_1* = 0x10006f1 # XK_Farsi_2* = 0x10006f2 # XK_Farsi_3* = 0x10006f3 # XK_Farsi_4* = 0x10006f4 # XK_Farsi_5* = 0x10006f5 # XK_Farsi_6* = 0x10006f6 # XK_Farsi_7* = 0x10006f7 # XK_Farsi_8* = 0x10006f8 # XK_Farsi_9* = 0x10006f9 # XK_Arabic_percent* = 0x100066a # XK_Arabic_superscript_alef* = 0x1000670 # XK_Arabic_tteh* = 0x1000679 # XK_Arabic_peh* = 0x100067e # XK_Arabic_tcheh* = 0x1000686 # XK_Arabic_ddal* = 0x1000688 # XK_Arabic_rreh* = 0x1000691 # XK_Arabic_comma* = 0x05ac # XK_Arabic_fullstop* = 0x10006d4 # XK_Arabic_0* = 0x1000660 # XK_Arabic_1* = 0x1000661 # XK_Arabic_2* = 0x1000662 # XK_Arabic_3* = 0x1000663 # XK_Arabic_4* = 0x1000664 # XK_Arabic_5* = 0x1000665 # XK_Arabic_6* = 0x1000666 # XK_Arabic_7* = 0x1000667 # XK_Arabic_8* = 0x1000668 # XK_Arabic_9* = 0x1000669 # XK_Arabic_semicolon* = 0x05bb # XK_Arabic_question_mark* = 0x05bf # XK_Arabic_hamza* = 0x05c1 # XK_Arabic_maddaonalef* = 0x05c2 # XK_Arabic_hamzaonalef* = 0x05c3 # XK_Arabic_hamzaonwaw* = 0x05c4 # XK_Arabic_hamzaunderalef* = 0x05c5 # XK_Arabic_hamzaonyeh* = 0x05c6 # XK_Arabic_alef* = 0x05c7 # XK_Arabic_beh* = 0x05c8 # XK_Arabic_tehmarbuta* = 0x05c9 # XK_Arabic_teh* = 0x05ca # XK_Arabic_theh* = 0x05cb # XK_Arabic_jeem* = 0x05cc # XK_Arabic_hah* = 0x05cd # XK_Arabic_khah* = 0x05ce # XK_Arabic_dal* = 0x05cf # XK_Arabic_thal* = 0x05d0 # XK_Arabic_ra* = 0x05d1 # XK_Arabic_zain* = 0x05d2 # XK_Arabic_seen* = 0x05d3 # XK_Arabic_sheen* = 0x05d4 # XK_Arabic_sad* = 0x05d5 # XK_Arabic_dad* = 0x05d6 # XK_Arabic_tah* = 0x05d7 # XK_Arabic_zah* = 0x05d8 # XK_Arabic_ain* = 0x05d9 # XK_Arabic_ghain* = 0x05da # XK_Arabic_tatweel* = 0x05e0 # XK_Arabic_feh* = 0x05e1 # XK_Arabic_qaf* = 0x05e2 # XK_Arabic_kaf* = 0x05e3 # XK_Arabic_lam* = 0x05e4 # XK_Arabic_meem* = 0x05e5 # XK_Arabic_noon* = 0x05e6 # XK_Arabic_ha* = 0x05e7 # XK_Arabic_heh* = 0x05e7 # XK_Arabic_waw* = 0x05e8 # XK_Arabic_alefmaksura* = 0x05e9 # XK_Arabic_yeh* = 0x05ea # XK_Arabic_fathatan* = 0x05eb # XK_Arabic_dammatan* = 0x05ec # XK_Arabic_kasratan* = 0x05ed # XK_Arabic_fatha* = 0x05ee # XK_Arabic_damma* = 0x05ef # XK_Arabic_kasra* = 0x05f0 # XK_Arabic_shadda* = 0x05f1 # XK_Arabic_sukun* = 0x05f2 # XK_Arabic_madda_above* = 0x1000653 # XK_Arabic_hamza_above* = 0x1000654 # XK_Arabic_hamza_below* = 0x1000655 # XK_Arabic_jeh* = 0x1000698 # XK_Arabic_veh* = 0x10006a4 # XK_Arabic_keheh* = 0x10006a9 # XK_Arabic_gaf* = 0x10006af # XK_Arabic_noon_ghunna* = 0x10006ba # XK_Arabic_heh_doachashmee* = 0x10006be # XK_Farsi_yeh* = 0x10006cc # XK_Arabic_farsi_yeh* = 0x10006cc # XK_Arabic_yeh_baree* = 0x10006d2 # XK_Arabic_heh_goal* = 0x10006c1 # XK_Arabic_switch* = 0xff7e # ## # ## Cyrillic # ## Byte 3 = 6 # ## # when defined(XK_CYRILLIC): # const # XK_Cyrillic_GHE_bar* = 0x1000492 # XK_Cyrillic_ghe_bar* = 0x1000493 # XK_Cyrillic_ZHE_descender* = 0x1000496 # XK_Cyrillic_zhe_descender* = 0x1000497 # XK_Cyrillic_KA_descender* = 0x100049a # XK_Cyrillic_ka_descender* = 0x100049b # XK_Cyrillic_KA_vertstroke* = 0x100049c # XK_Cyrillic_ka_vertstroke* = 0x100049d # XK_Cyrillic_EN_descender* = 0x10004a2 # XK_Cyrillic_en_descender* = 0x10004a3 # XK_Cyrillic_U_straight* = 0x10004ae # XK_Cyrillic_u_straight* = 0x10004af # XK_Cyrillic_U_straight_bar* = 0x10004b0 # XK_Cyrillic_u_straight_bar* = 0x10004b1 # XK_Cyrillic_HA_descender* = 0x10004b2 # XK_Cyrillic_ha_descender* = 0x10004b3 # XK_Cyrillic_CHE_descender* = 0x10004b6 # XK_Cyrillic_che_descender* = 0x10004b7 # XK_Cyrillic_CHE_vertstroke* = 0x10004b8 # XK_Cyrillic_che_vertstroke* = 0x10004b9 # XK_Cyrillic_SHHA* = 0x10004ba # XK_Cyrillic_shha* = 0x10004bb # XK_Cyrillic_SCHWA* = 0x10004d8 # XK_Cyrillic_schwa* = 0x10004d9 # XK_Cyrillic_I_macron* = 0x10004e2 # XK_Cyrillic_i_macron* = 0x10004e3 # XK_Cyrillic_O_bar* = 0x10004e8 # XK_Cyrillic_o_bar* = 0x10004e9 # XK_Cyrillic_U_macron* = 0x10004ee # XK_Cyrillic_u_macron* = 0x10004ef # XK_Serbian_dje* = 0x06a1 # XK_Macedonia_gje* = 0x06a2 # XK_Cyrillic_io* = 0x06a3 # XK_Ukrainian_ie* = 0x06a4 # XK_Ukranian_je* = 0x06a4 # XK_Macedonia_dse* = 0x06a5 # XK_Ukrainian_i* = 0x06a6 # XK_Ukranian_i* = 0x06a6 # XK_Ukrainian_yi* = 0x06a7 # XK_Ukranian_yi* = 0x06a7 # XK_Cyrillic_je* = 0x06a8 # XK_Serbian_je* = 0x06a8 # XK_Cyrillic_lje* = 0x06a9 # XK_Serbian_lje* = 0x06a9 # XK_Cyrillic_nje* = 0x06aa # XK_Serbian_nje* = 0x06aa # XK_Serbian_tshe* = 0x06ab # XK_Macedonia_kje* = 0x06ac # XK_Ukrainian_ghe_with_upturn* = 0x06ad # XK_Byelorussian_shortu* = 0x06ae # XK_Cyrillic_dzhe* = 0x06af # XK_Serbian_dze* = 0x06af # XK_numerosign* = 0x06b0 # XK_Serbian_DJE* = 0x06b1 # XK_Macedonia_GJE* = 0x06b2 # XK_Cyrillic_IO* = 0x06b3 # XK_Ukrainian_IE* = 0x06b4 # XK_Ukranian_JE* = 0x06b4 # XK_Macedonia_DSE* = 0x06b5 # XK_Ukrainian_I* = 0x06b6 # XK_Ukranian_I* = 0x06b6 # XK_Ukrainian_YI* = 0x06b7 # XK_Ukranian_YI* = 0x06b7 # XK_Cyrillic_JE* = 0x06b8 # XK_Serbian_JE* = 0x06b8 # XK_Cyrillic_LJE* = 0x06b9 # XK_Serbian_LJE* = 0x06b9 # XK_Cyrillic_NJE* = 0x06ba # XK_Serbian_NJE* = 0x06ba # XK_Serbian_TSHE* = 0x06bb # XK_Macedonia_KJE* = 0x06bc # XK_Ukrainian_GHE_WITH_UPTURN* = 0x06bd # XK_Byelorussian_SHORTU* = 0x06be # XK_Cyrillic_DZHE* = 0x06bf # XK_Serbian_DZE* = 0x06bf # XK_Cyrillic_yu* = 0x06c0 # XK_Cyrillic_a* = 0x06c1 # XK_Cyrillic_be* = 0x06c2 # XK_Cyrillic_tse* = 0x06c3 # XK_Cyrillic_de* = 0x06c4 # XK_Cyrillic_ie* = 0x06c5 # XK_Cyrillic_ef* = 0x06c6 # XK_Cyrillic_ghe* = 0x06c7 # XK_Cyrillic_ha* = 0x06c8 # XK_Cyrillic_i* = 0x06c9 # XK_Cyrillic_shorti* = 0x06ca # XK_Cyrillic_ka* = 0x06cb # XK_Cyrillic_el* = 0x06cc # XK_Cyrillic_em* = 0x06cd # XK_Cyrillic_en* = 0x06ce # XK_Cyrillic_o* = 0x06cf # XK_Cyrillic_pe* = 0x06d0 # XK_Cyrillic_ya* = 0x06d1 # XK_Cyrillic_er* = 0x06d2 # XK_Cyrillic_es* = 0x06d3 # XK_Cyrillic_te* = 0x06d4 # XK_Cyrillic_u* = 0x06d5 # XK_Cyrillic_zhe* = 0x06d6 # XK_Cyrillic_ve* = 0x06d7 # XK_Cyrillic_softsign* = 0x06d8 # XK_Cyrillic_yeru* = 0x06d9 # XK_Cyrillic_ze* = 0x06da # XK_Cyrillic_sha* = 0x06db # XK_Cyrillic_e* = 0x06dc # XK_Cyrillic_shcha* = 0x06dd # XK_Cyrillic_che* = 0x06de # XK_Cyrillic_hardsign* = 0x06df # XK_Cyrillic_YU* = 0x06e0 # XK_Cyrillic_A* = 0x06e1 # XK_Cyrillic_BE* = 0x06e2 # XK_Cyrillic_TSE* = 0x06e3 # XK_Cyrillic_DE* = 0x06e4 # XK_Cyrillic_IE* = 0x06e5 # XK_Cyrillic_EF* = 0x06e6 # XK_Cyrillic_GHE* = 0x06e7 # XK_Cyrillic_HA* = 0x06e8 # XK_Cyrillic_I* = 0x06e9 # XK_Cyrillic_SHORTI* = 0x06ea # XK_Cyrillic_KA* = 0x06eb # XK_Cyrillic_EL* = 0x06ec # XK_Cyrillic_EM* = 0x06ed # XK_Cyrillic_EN* = 0x06ee # XK_Cyrillic_O* = 0x06ef # XK_Cyrillic_PE* = 0x06f0 # XK_Cyrillic_YA* = 0x06f1 # XK_Cyrillic_ER* = 0x06f2 # XK_Cyrillic_ES* = 0x06f3 # XK_Cyrillic_TE* = 0x06f4 # XK_Cyrillic_U* = 0x06f5 # XK_Cyrillic_ZHE* = 0x06f6 # XK_Cyrillic_VE* = 0x06f7 # XK_Cyrillic_SOFTSIGN* = 0x06f8 # XK_Cyrillic_YERU* = 0x06f9 # XK_Cyrillic_ZE* = 0x06fa # XK_Cyrillic_SHA* = 0x06fb # XK_Cyrillic_E* = 0x06fc # XK_Cyrillic_SHCHA* = 0x06fd # XK_Cyrillic_CHE* = 0x06fe # XK_Cyrillic_HARDSIGN* = 0x06ff # ## # ## Greek # ## (based on an early draft of, and not quite identical to, ISO/IEC 8859-7) # ## Byte 3 = 7 # ## # when defined(XK_GREEK): # const # XK_Greek_ALPHAaccent* = 0x07a1 # XK_Greek_EPSILONaccent* = 0x07a2 # XK_Greek_ETAaccent* = 0x07a3 # XK_Greek_IOTAaccent* = 0x07a4 # XK_Greek_IOTAdieresis* = 0x07a5 # XK_Greek_IOTAdiaeresis* = 0x07a5 # XK_Greek_OMICRONaccent* = 0x07a7 # XK_Greek_UPSILONaccent* = 0x07a8 # XK_Greek_UPSILONdieresis* = 0x07a9 # XK_Greek_OMEGAaccent* = 0x07ab # XK_Greek_accentdieresis* = 0x07ae # XK_Greek_horizbar* = 0x07af # XK_Greek_alphaaccent* = 0x07b1 # XK_Greek_epsilonaccent* = 0x07b2 # XK_Greek_etaaccent* = 0x07b3 # XK_Greek_iotaaccent* = 0x07b4 # XK_Greek_iotadieresis* = 0x07b5 # XK_Greek_iotaaccentdieresis* = 0x07b6 # XK_Greek_omicronaccent* = 0x07b7 # XK_Greek_upsilonaccent* = 0x07b8 # XK_Greek_upsilondieresis* = 0x07b9 # XK_Greek_upsilonaccentdieresis* = 0x07ba # XK_Greek_omegaaccent* = 0x07bb # XK_Greek_ALPHA* = 0x07c1 # XK_Greek_BETA* = 0x07c2 # XK_Greek_GAMMA* = 0x07c3 # XK_Greek_DELTA* = 0x07c4 # XK_Greek_EPSILON* = 0x07c5 # XK_Greek_ZETA* = 0x07c6 # XK_Greek_ETA* = 0x07c7 # XK_Greek_THETA* = 0x07c8 # XK_Greek_IOTA* = 0x07c9 # XK_Greek_KAPPA* = 0x07ca # XK_Greek_LAMDA* = 0x07cb # XK_Greek_LAMBDA* = 0x07cb # XK_Greek_MU* = 0x07cc # XK_Greek_NU* = 0x07cd # XK_Greek_XI* = 0x07ce # XK_Greek_OMICRON* = 0x07cf # XK_Greek_PI* = 0x07d0 # XK_Greek_RHO* = 0x07d1 # XK_Greek_SIGMA* = 0x07d2 # XK_Greek_TAU* = 0x07d4 # XK_Greek_UPSILON* = 0x07d5 # XK_Greek_PHI* = 0x07d6 # XK_Greek_CHI* = 0x07d7 # XK_Greek_PSI* = 0x07d8 # XK_Greek_OMEGA* = 0x07d9 # XK_Greek_alpha* = 0x07e1 # XK_Greek_beta* = 0x07e2 # XK_Greek_gamma* = 0x07e3 # XK_Greek_delta* = 0x07e4 # XK_Greek_epsilon* = 0x07e5 # XK_Greek_zeta* = 0x07e6 # XK_Greek_eta* = 0x07e7 # XK_Greek_theta* = 0x07e8 # XK_Greek_iota* = 0x07e9 # XK_Greek_kappa* = 0x07ea # XK_Greek_lamda* = 0x07eb # XK_Greek_lambda* = 0x07eb # XK_Greek_mu* = 0x07ec # XK_Greek_nu* = 0x07ed # XK_Greek_xi* = 0x07ee # XK_Greek_omicron* = 0x07ef # XK_Greek_pi* = 0x07f0 # XK_Greek_rho* = 0x07f1 # XK_Greek_sigma* = 0x07f2 # XK_Greek_finalsmallsigma* = 0x07f3 # XK_Greek_tau* = 0x07f4 # XK_Greek_upsilon* = 0x07f5 # XK_Greek_phi* = 0x07f6 # XK_Greek_chi* = 0x07f7 # XK_Greek_psi* = 0x07f8 # XK_Greek_omega* = 0x07f9 # XK_Greek_switch* = 0xff7e # ## # ## Technical # ## (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html) # ## Byte 3 = 8 # ## # when defined(XK_TECHNICAL): # const # XK_leftradical* = 0x08a1 # XK_topleftradical* = 0x08a2 # XK_horizconnector* = 0x08a3 # XK_topintegral* = 0x08a4 # XK_botintegral* = 0x08a5 # XK_vertconnector* = 0x08a6 # XK_topleftsqbracket* = 0x08a7 # XK_botleftsqbracket* = 0x08a8 # XK_toprightsqbracket* = 0x08a9 # XK_botrightsqbracket* = 0x08aa # XK_topleftparens* = 0x08ab # XK_botleftparens* = 0x08ac # XK_toprightparens* = 0x08ad # XK_botrightparens* = 0x08ae # XK_leftmiddlecurlybrace* = 0x08af # XK_rightmiddlecurlybrace* = 0x08b0 # XK_topleftsummation* = 0x08b1 # XK_botleftsummation* = 0x08b2 # XK_topvertsummationconnector* = 0x08b3 # XK_botvertsummationconnector* = 0x08b4 # XK_toprightsummation* = 0x08b5 # XK_botrightsummation* = 0x08b6 # XK_rightmiddlesummation* = 0x08b7 # XK_lessthanequal* = 0x08bc # XK_notequal* = 0x08bd # XK_greaterthanequal* = 0x08be # XK_integral* = 0x08bf # XK_therefore* = 0x08c0 # XK_variation* = 0x08c1 # XK_infinity* = 0x08c2 # XK_nabla* = 0x08c5 # XK_approximate* = 0x08c8 # XK_similarequal* = 0x08c9 # XK_ifonlyif* = 0x08cd # XK_implies* = 0x08ce # XK_identical* = 0x08cf # XK_radical* = 0x08d6 # XK_includedin* = 0x08da # XK_includes* = 0x08db # XK_intersection* = 0x08dc # XK_union* = 0x08dd # XK_logicaland* = 0x08de # XK_logicalor* = 0x08df # XK_partialderivative* = 0x08ef # XK_function* = 0x08f6 # XK_leftarrow* = 0x08fb # XK_uparrow* = 0x08fc # XK_rightarrow* = 0x08fd # XK_downarrow* = 0x08fe # ## # ## Special # ## (from the DEC VT100 Special Graphics Character Set) # ## Byte 3 = 9 # ## # when defined(XK_SPECIAL): # const # XK_blank* = 0x09df # XK_soliddiamond* = 0x09e0 # XK_checkerboard* = 0x09e1 # XK_ht* = 0x09e2 # XK_ff* = 0x09e3 # XK_cr* = 0x09e4 # XK_lf* = 0x09e5 # XK_nl* = 0x09e8 # XK_vt* = 0x09e9 # XK_lowrightcorner* = 0x09ea # XK_uprightcorner* = 0x09eb # XK_upleftcorner* = 0x09ec # XK_lowleftcorner* = 0x09ed # XK_crossinglines* = 0x09ee # XK_horizlinescan1* = 0x09ef # XK_horizlinescan3* = 0x09f0 # XK_horizlinescan5* = 0x09f1 # XK_horizlinescan7* = 0x09f2 # XK_horizlinescan9* = 0x09f3 # XK_leftt* = 0x09f4 # XK_rightt* = 0x09f5 # XK_bott* = 0x09f6 # XK_topt* = 0x09f7 # XK_vertbar* = 0x09f8 # ## # ## Publishing # ## (these are probably from a long forgotten DEC Publishing # ## font that once shipped with DECwrite) # ## Byte 3 = 0x0a # ## # when defined(XK_PUBLISHING): # const # XK_emspace* = 0x0aa1 # XK_enspace* = 0x0aa2 # XK_em3space* = 0x0aa3 # XK_em4space* = 0x0aa4 # XK_digitspace* = 0x0aa5 # XK_punctspace* = 0x0aa6 # XK_thinspace* = 0x0aa7 # XK_hairspace* = 0x0aa8 # XK_emdash* = 0x0aa9 # XK_endash* = 0x0aaa # XK_signifblank* = 0x0aac # XK_ellipsis* = 0x0aae # XK_doubbaselinedot* = 0x0aaf # XK_onethird* = 0x0ab0 # XK_twothirds* = 0x0ab1 # XK_onefifth* = 0x0ab2 # XK_twofifths* = 0x0ab3 # XK_threefifths* = 0x0ab4 # XK_fourfifths* = 0x0ab5 # XK_onesixth* = 0x0ab6 # XK_fivesixths* = 0x0ab7 # XK_careof* = 0x0ab8 # XK_figdash* = 0x0abb # XK_leftanglebracket* = 0x0abc # XK_decimalpoint* = 0x0abd # XK_rightanglebracket* = 0x0abe # XK_marker* = 0x0abf # XK_oneeighth* = 0x0ac3 # XK_threeeighths* = 0x0ac4 # XK_fiveeighths* = 0x0ac5 # XK_seveneighths* = 0x0ac6 # XK_trademark* = 0x0ac9 # XK_signaturemark* = 0x0aca # XK_trademarkincircle* = 0x0acb # XK_leftopentriangle* = 0x0acc # XK_rightopentriangle* = 0x0acd # XK_emopencircle* = 0x0ace # XK_emopenrectangle* = 0x0acf # XK_leftsinglequotemark* = 0x0ad0 # XK_rightsinglequotemark* = 0x0ad1 # XK_leftdoublequotemark* = 0x0ad2 # XK_rightdoublequotemark* = 0x0ad3 # XK_prescription* = 0x0ad4 # XK_minutes* = 0x0ad6 # XK_seconds* = 0x0ad7 # XK_latincross* = 0x0ad9 # XK_hexagram* = 0x0ada # XK_filledrectbullet* = 0x0adb # XK_filledlefttribullet* = 0x0adc # XK_filledrighttribullet* = 0x0add # XK_emfilledcircle* = 0x0ade # XK_emfilledrect* = 0x0adf # XK_enopencircbullet* = 0x0ae0 # XK_enopensquarebullet* = 0x0ae1 # XK_openrectbullet* = 0x0ae2 # XK_opentribulletup* = 0x0ae3 # XK_opentribulletdown* = 0x0ae4 # XK_openstar* = 0x0ae5 # XK_enfilledcircbullet* = 0x0ae6 # XK_enfilledsqbullet* = 0x0ae7 # XK_filledtribulletup* = 0x0ae8 # XK_filledtribulletdown* = 0x0ae9 # XK_leftpointer* = 0x0aea # XK_rightpointer* = 0x0aeb # XK_club* = 0x0aec # XK_diamond* = 0x0aed # XK_heart* = 0x0aee # XK_maltesecross* = 0x0af0 # XK_dagger* = 0x0af1 # XK_doubledagger* = 0x0af2 # XK_checkmark* = 0x0af3 # XK_ballotcross* = 0x0af4 # XK_musicalsharp* = 0x0af5 # XK_musicalflat* = 0x0af6 # XK_malesymbol* = 0x0af7 # XK_femalesymbol* = 0x0af8 # XK_telephone* = 0x0af9 # XK_telephonerecorder* = 0x0afa # XK_phonographcopyright* = 0x0afb # XK_caret* = 0x0afc # XK_singlelowquotemark* = 0x0afd # XK_doublelowquotemark* = 0x0afe # XK_cursor* = 0x0aff # ## # ## APL # ## Byte 3 = 0x0b # ## # when defined(XK_APL): # const # XK_leftcaret* = 0x0ba3 # XK_rightcaret* = 0x0ba6 # XK_downcaret* = 0x0ba8 # XK_upcaret* = 0x0ba9 # XK_overbar* = 0x0bc0 # XK_downtack* = 0x0bc2 # XK_upshoe* = 0x0bc3 # XK_downstile* = 0x0bc4 # XK_underbar* = 0x0bc6 # XK_jot* = 0x0bca # XK_quad* = 0x0bcc # XK_uptack* = 0x0bce # XK_circle* = 0x0bcf # XK_upstile* = 0x0bd3 # XK_downshoe* = 0x0bd6 # XK_rightshoe* = 0x0bd8 # XK_leftshoe* = 0x0bda # XK_lefttack* = 0x0bdc # XK_righttack* = 0x0bfc # ## # ## Hebrew # ## Byte 3 = 0x0c # ## # when defined(XK_HEBREW): # const # XK_hebrew_doublelowline* = 0x0cdf # XK_hebrew_aleph* = 0x0ce0 # XK_hebrew_bet* = 0x0ce1 # XK_hebrew_beth* = 0x0ce1 # XK_hebrew_gimel* = 0x0ce2 # XK_hebrew_gimmel* = 0x0ce2 # XK_hebrew_dalet* = 0x0ce3 # XK_hebrew_daleth* = 0x0ce3 # XK_hebrew_he* = 0x0ce4 # XK_hebrew_waw* = 0x0ce5 # XK_hebrew_zain* = 0x0ce6 # XK_hebrew_zayin* = 0x0ce6 # XK_hebrew_chet* = 0x0ce7 # XK_hebrew_het* = 0x0ce7 # XK_hebrew_tet* = 0x0ce8 # XK_hebrew_teth* = 0x0ce8 # XK_hebrew_yod* = 0x0ce9 # XK_hebrew_finalkaph* = 0x0cea # XK_hebrew_kaph* = 0x0ceb # XK_hebrew_lamed* = 0x0cec # XK_hebrew_finalmem* = 0x0ced # XK_hebrew_mem* = 0x0cee # XK_hebrew_finalnun* = 0x0cef # XK_hebrew_nun* = 0x0cf0 # XK_hebrew_samech* = 0x0cf1 # XK_hebrew_samekh* = 0x0cf1 # XK_hebrew_ayin* = 0x0cf2 # XK_hebrew_finalpe* = 0x0cf3 # XK_hebrew_pe* = 0x0cf4 # XK_hebrew_finalzade* = 0x0cf5 # XK_hebrew_finalzadi* = 0x0cf5 # XK_hebrew_zade* = 0x0cf6 # XK_hebrew_zadi* = 0x0cf6 # XK_hebrew_qoph* = 0x0cf7 # XK_hebrew_kuf* = 0x0cf7 # XK_hebrew_resh* = 0x0cf8 # XK_hebrew_shin* = 0x0cf9 # XK_hebrew_taw* = 0x0cfa # XK_hebrew_taf* = 0x0cfa # XK_Hebrew_switch* = 0xff7e # ## # ## Thai # ## Byte 3 = 0x0d # ## # when defined(XK_THAI): # const # XK_Thai_kokai* = 0x0da1 # XK_Thai_khokhai* = 0x0da2 # XK_Thai_khokhuat* = 0x0da3 # XK_Thai_khokhwai* = 0x0da4 # XK_Thai_khokhon* = 0x0da5 # XK_Thai_khorakhang* = 0x0da6 # XK_Thai_ngongu* = 0x0da7 # XK_Thai_chochan* = 0x0da8 # XK_Thai_choching* = 0x0da9 # XK_Thai_chochang* = 0x0daa # XK_Thai_soso* = 0x0dab # XK_Thai_chochoe* = 0x0dac # XK_Thai_yoying* = 0x0dad # XK_Thai_dochada* = 0x0dae # XK_Thai_topatak* = 0x0daf # XK_Thai_thothan* = 0x0db0 # XK_Thai_thonangmontho* = 0x0db1 # XK_Thai_thophuthao* = 0x0db2 # XK_Thai_nonen* = 0x0db3 # XK_Thai_dodek* = 0x0db4 # XK_Thai_totao* = 0x0db5 # XK_Thai_thothung* = 0x0db6 # XK_Thai_thothahan* = 0x0db7 # XK_Thai_thothong* = 0x0db8 # XK_Thai_nonu* = 0x0db9 # XK_Thai_bobaimai* = 0x0dba # XK_Thai_popla* = 0x0dbb # XK_Thai_phophung* = 0x0dbc # XK_Thai_fofa* = 0x0dbd # XK_Thai_phophan* = 0x0dbe # XK_Thai_fofan* = 0x0dbf # XK_Thai_phosamphao* = 0x0dc0 # XK_Thai_moma* = 0x0dc1 # XK_Thai_yoyak* = 0x0dc2 # XK_Thai_rorua* = 0x0dc3 # XK_Thai_ru* = 0x0dc4 # XK_Thai_loling* = 0x0dc5 # XK_Thai_lu* = 0x0dc6 # XK_Thai_wowaen* = 0x0dc7 # XK_Thai_sosala* = 0x0dc8 # XK_Thai_sorusi* = 0x0dc9 # XK_Thai_sosua* = 0x0dca # XK_Thai_hohip* = 0x0dcb # XK_Thai_lochula* = 0x0dcc # XK_Thai_oang* = 0x0dcd # XK_Thai_honokhuk* = 0x0dce # XK_Thai_paiyannoi* = 0x0dcf # XK_Thai_saraa* = 0x0dd0 # XK_Thai_maihanakat* = 0x0dd1 # XK_Thai_saraaa* = 0x0dd2 # XK_Thai_saraam* = 0x0dd3 # XK_Thai_sarai* = 0x0dd4 # XK_Thai_saraii* = 0x0dd5 # XK_Thai_saraue* = 0x0dd6 # XK_Thai_sarauee* = 0x0dd7 # XK_Thai_sarau* = 0x0dd8 # XK_Thai_sarauu* = 0x0dd9 # XK_Thai_phinthu* = 0x0dda # XK_Thai_maihanakat_maitho* = 0x0dde # XK_Thai_baht* = 0x0ddf # XK_Thai_sarae* = 0x0de0 # XK_Thai_saraae* = 0x0de1 # XK_Thai_sarao* = 0x0de2 # XK_Thai_saraaimaimuan* = 0x0de3 # XK_Thai_saraaimaimalai* = 0x0de4 # XK_Thai_lakkhangyao* = 0x0de5 # XK_Thai_maiyamok* = 0x0de6 # XK_Thai_maitaikhu* = 0x0de7 # XK_Thai_maiek* = 0x0de8 # XK_Thai_maitho* = 0x0de9 # XK_Thai_maitri* = 0x0dea # XK_Thai_maichattawa* = 0x0deb # XK_Thai_thanthakhat* = 0x0dec # XK_Thai_nikhahit* = 0x0ded # XK_Thai_leksun* = 0x0df0 # XK_Thai_leknung* = 0x0df1 # XK_Thai_leksong* = 0x0df2 # XK_Thai_leksam* = 0x0df3 # XK_Thai_leksi* = 0x0df4 # XK_Thai_lekha* = 0x0df5 # XK_Thai_lekhok* = 0x0df6 # XK_Thai_lekchet* = 0x0df7 # XK_Thai_lekpaet* = 0x0df8 # XK_Thai_lekkao* = 0x0df9 # ## # ## Korean # ## Byte 3 = 0x0e # ## # when defined(XK_KOREAN): # const # XK_Hangul* = 0xff31 # XK_Hangul_Start* = 0xff32 # XK_Hangul_End* = 0xff33 # XK_Hangul_Hanja* = 0xff34 # XK_Hangul_Jamo* = 0xff35 # XK_Hangul_Romaja* = 0xff36 # XK_Hangul_Codeinput* = 0xff37 # XK_Hangul_Jeonja* = 0xff38 # XK_Hangul_Banja* = 0xff39 # XK_Hangul_PreHanja* = 0xff3a # XK_Hangul_PostHanja* = 0xff3b # XK_Hangul_SingleCandidate* = 0xff3c # XK_Hangul_MultipleCandidate* = 0xff3d # XK_Hangul_PreviousCandidate* = 0xff3e # XK_Hangul_Special* = 0xff3f # XK_Hangul_switch* = 0xff7e # ## Hangul Consonant Characters # const # XK_Hangul_Kiyeog* = 0x0ea1 # XK_Hangul_SsangKiyeog* = 0x0ea2 # XK_Hangul_KiyeogSios* = 0x0ea3 # XK_Hangul_Nieun* = 0x0ea4 # XK_Hangul_NieunJieuj* = 0x0ea5 # XK_Hangul_NieunHieuh* = 0x0ea6 # XK_Hangul_Dikeud* = 0x0ea7 # XK_Hangul_SsangDikeud* = 0x0ea8 # XK_Hangul_Rieul* = 0x0ea9 # XK_Hangul_RieulKiyeog* = 0x0eaa # XK_Hangul_RieulMieum* = 0x0eab # XK_Hangul_RieulPieub* = 0x0eac # XK_Hangul_RieulSios* = 0x0ead # XK_Hangul_RieulTieut* = 0x0eae # XK_Hangul_RieulPhieuf* = 0x0eaf # XK_Hangul_RieulHieuh* = 0x0eb0 # XK_Hangul_Mieum* = 0x0eb1 # XK_Hangul_Pieub* = 0x0eb2 # XK_Hangul_SsangPieub* = 0x0eb3 # XK_Hangul_PieubSios* = 0x0eb4 # XK_Hangul_Sios* = 0x0eb5 # XK_Hangul_SsangSios* = 0x0eb6 # XK_Hangul_Ieung* = 0x0eb7 # XK_Hangul_Jieuj* = 0x0eb8 # XK_Hangul_SsangJieuj* = 0x0eb9 # XK_Hangul_Cieuc* = 0x0eba # XK_Hangul_Khieuq* = 0x0ebb # XK_Hangul_Tieut* = 0x0ebc # XK_Hangul_Phieuf* = 0x0ebd # XK_Hangul_Hieuh* = 0x0ebe # ## Hangul Vowel Characters # const # XK_Hangul_A* = 0x0ebf # XK_Hangul_AE* = 0x0ec0 # XK_Hangul_YA* = 0x0ec1 # XK_Hangul_YAE* = 0x0ec2 # XK_Hangul_EO* = 0x0ec3 # XK_Hangul_E* = 0x0ec4 # XK_Hangul_YEO* = 0x0ec5 # XK_Hangul_YE* = 0x0ec6 # XK_Hangul_O* = 0x0ec7 # XK_Hangul_WA* = 0x0ec8 # XK_Hangul_WAE* = 0x0ec9 # XK_Hangul_OE* = 0x0eca # XK_Hangul_YO* = 0x0ecb # XK_Hangul_U* = 0x0ecc # XK_Hangul_WEO* = 0x0ecd # XK_Hangul_WE* = 0x0ece # XK_Hangul_WI* = 0x0ecf # XK_Hangul_YU* = 0x0ed0 # XK_Hangul_EU* = 0x0ed1 # XK_Hangul_YI* = 0x0ed2 # XK_Hangul_I* = 0x0ed3 # ## Hangul syllable-final (JongSeong) Characters # const # XK_Hangul_J_Kiyeog* = 0x0ed4 # XK_Hangul_J_SsangKiyeog* = 0x0ed5 # XK_Hangul_J_KiyeogSios* = 0x0ed6 # XK_Hangul_J_Nieun* = 0x0ed7 # XK_Hangul_J_NieunJieuj* = 0x0ed8 # XK_Hangul_J_NieunHieuh* = 0x0ed9 # XK_Hangul_J_Dikeud* = 0x0eda # XK_Hangul_J_Rieul* = 0x0edb # XK_Hangul_J_RieulKiyeog* = 0x0edc # XK_Hangul_J_RieulMieum* = 0x0edd # XK_Hangul_J_RieulPieub* = 0x0ede # XK_Hangul_J_RieulSios* = 0x0edf # XK_Hangul_J_RieulTieut* = 0x0ee0 # XK_Hangul_J_RieulPhieuf* = 0x0ee1 # XK_Hangul_J_RieulHieuh* = 0x0ee2 # XK_Hangul_J_Mieum* = 0x0ee3 # XK_Hangul_J_Pieub* = 0x0ee4 # XK_Hangul_J_PieubSios* = 0x0ee5 # XK_Hangul_J_Sios* = 0x0ee6 # XK_Hangul_J_SsangSios* = 0x0ee7 # XK_Hangul_J_Ieung* = 0x0ee8 # XK_Hangul_J_Jieuj* = 0x0ee9 # XK_Hangul_J_Cieuc* = 0x0eea # XK_Hangul_J_Khieuq* = 0x0eeb # XK_Hangul_J_Tieut* = 0x0eec # XK_Hangul_J_Phieuf* = 0x0eed # XK_Hangul_J_Hieuh* = 0x0eee # ## Ancient Hangul Consonant Characters # const # XK_Hangul_RieulYeorinHieuh* = 0x0eef # XK_Hangul_SunkyeongeumMieum* = 0x0ef0 # XK_Hangul_SunkyeongeumPieub* = 0x0ef1 # XK_Hangul_PanSios* = 0x0ef2 # XK_Hangul_KkogjiDalrinIeung* = 0x0ef3 # XK_Hangul_SunkyeongeumPhieuf* = 0x0ef4 # XK_Hangul_YeorinHieuh* = 0x0ef5 # ## Ancient Hangul Vowel Characters # const # XK_Hangul_AraeA* = 0x0ef6 # XK_Hangul_AraeAE* = 0x0ef7 # ## Ancient Hangul syllable-final (JongSeong) Characters # const # XK_Hangul_J_PanSios* = 0x0ef8 # XK_Hangul_J_KkogjiDalrinIeung* = 0x0ef9 # XK_Hangul_J_YeorinHieuh* = 0x0efa # ## Korean currency symbol # const # XK_Korean_Won* = 0x0eff # ## # ## Armenian # ## # when defined(XK_ARMENIAN): # const # XK_Armenian_ligature_ew* = 0x1000587 # XK_Armenian_full_stop* = 0x1000589 # XK_Armenian_verjaket* = 0x1000589 # XK_Armenian_separation_mark* = 0x100055d # XK_Armenian_but* = 0x100055d # XK_Armenian_hyphen* = 0x100058a # XK_Armenian_yentamna* = 0x100058a # XK_Armenian_exclam* = 0x100055c # XK_Armenian_amanak* = 0x100055c # XK_Armenian_accent* = 0x100055b # XK_Armenian_shesht* = 0x100055b # XK_Armenian_question* = 0x100055e # XK_Armenian_paruyk* = 0x100055e # XK_Armenian_AYB* = 0x1000531 # XK_Armenian_ayb* = 0x1000561 # XK_Armenian_BEN* = 0x1000532 # XK_Armenian_ben* = 0x1000562 # XK_Armenian_GIM* = 0x1000533 # XK_Armenian_gim* = 0x1000563 # XK_Armenian_DA* = 0x1000534 # XK_Armenian_da* = 0x1000564 # XK_Armenian_YECH* = 0x1000535 # XK_Armenian_yech* = 0x1000565 # XK_Armenian_ZA* = 0x1000536 # XK_Armenian_za* = 0x1000566 # XK_Armenian_E* = 0x1000537 # XK_Armenian_e* = 0x1000567 # XK_Armenian_AT* = 0x1000538 # XK_Armenian_at* = 0x1000568 # XK_Armenian_TO* = 0x1000539 # XK_Armenian_to* = 0x1000569 # XK_Armenian_ZHE* = 0x100053a # XK_Armenian_zhe* = 0x100056a # XK_Armenian_INI* = 0x100053b # XK_Armenian_ini* = 0x100056b # XK_Armenian_LYUN* = 0x100053c # XK_Armenian_lyun* = 0x100056c # XK_Armenian_KHE* = 0x100053d # XK_Armenian_khe* = 0x100056d # XK_Armenian_TSA* = 0x100053e # XK_Armenian_tsa* = 0x100056e # XK_Armenian_KEN* = 0x100053f # XK_Armenian_ken* = 0x100056f # XK_Armenian_HO* = 0x1000540 # XK_Armenian_ho* = 0x1000570 # XK_Armenian_DZA* = 0x1000541 # XK_Armenian_dza* = 0x1000571 # XK_Armenian_GHAT* = 0x1000542 # XK_Armenian_ghat* = 0x1000572 # XK_Armenian_TCHE* = 0x1000543 # XK_Armenian_tche* = 0x1000573 # XK_Armenian_MEN* = 0x1000544 # XK_Armenian_men* = 0x1000574 # XK_Armenian_HI* = 0x1000545 # XK_Armenian_hi* = 0x1000575 # XK_Armenian_NU* = 0x1000546 # XK_Armenian_nu* = 0x1000576 # XK_Armenian_SHA* = 0x1000547 # XK_Armenian_sha* = 0x1000577 # XK_Armenian_VO* = 0x1000548 # XK_Armenian_vo* = 0x1000578 # XK_Armenian_CHA* = 0x1000549 # XK_Armenian_cha* = 0x1000579 # XK_Armenian_PE* = 0x100054a # XK_Armenian_pe* = 0x100057a # XK_Armenian_JE* = 0x100054b # XK_Armenian_je* = 0x100057b # XK_Armenian_RA* = 0x100054c # XK_Armenian_ra* = 0x100057c # XK_Armenian_SE* = 0x100054d # XK_Armenian_se* = 0x100057d # XK_Armenian_VEV* = 0x100054e # XK_Armenian_vev* = 0x100057e # XK_Armenian_TYUN* = 0x100054f # XK_Armenian_tyun* = 0x100057f # XK_Armenian_RE* = 0x1000550 # XK_Armenian_re* = 0x1000580 # XK_Armenian_TSO* = 0x1000551 # XK_Armenian_tso* = 0x1000581 # XK_Armenian_VYUN* = 0x1000552 # XK_Armenian_vyun* = 0x1000582 # XK_Armenian_PYUR* = 0x1000553 # XK_Armenian_pyur* = 0x1000583 # XK_Armenian_KE* = 0x1000554 # XK_Armenian_ke* = 0x1000584 # XK_Armenian_O* = 0x1000555 # XK_Armenian_o* = 0x1000585 # XK_Armenian_FE* = 0x1000556 # XK_Armenian_fe* = 0x1000586 # XK_Armenian_apostrophe* = 0x100055a # ## # ## Georgian # ## # when defined(XK_GEORGIAN): # const # XK_Georgian_an* = 0x10010d0 # XK_Georgian_ban* = 0x10010d1 # XK_Georgian_gan* = 0x10010d2 # XK_Georgian_don* = 0x10010d3 # XK_Georgian_en* = 0x10010d4 # XK_Georgian_vin* = 0x10010d5 # XK_Georgian_zen* = 0x10010d6 # XK_Georgian_tan* = 0x10010d7 # XK_Georgian_in* = 0x10010d8 # XK_Georgian_kan* = 0x10010d9 # XK_Georgian_las* = 0x10010da # XK_Georgian_man* = 0x10010db # XK_Georgian_nar* = 0x10010dc # XK_Georgian_on* = 0x10010dd # XK_Georgian_par* = 0x10010de # XK_Georgian_zhar* = 0x10010df # XK_Georgian_rae* = 0x10010e0 # XK_Georgian_san* = 0x10010e1 # XK_Georgian_tar* = 0x10010e2 # XK_Georgian_un* = 0x10010e3 # XK_Georgian_phar* = 0x10010e4 # XK_Georgian_khar* = 0x10010e5 # XK_Georgian_ghan* = 0x10010e6 # XK_Georgian_qar* = 0x10010e7 # XK_Georgian_shin* = 0x10010e8 # XK_Georgian_chin* = 0x10010e9 # XK_Georgian_can* = 0x10010ea # XK_Georgian_jil* = 0x10010eb # XK_Georgian_cil* = 0x10010ec # XK_Georgian_char* = 0x10010ed # XK_Georgian_xan* = 0x10010ee # XK_Georgian_jhan* = 0x10010ef # XK_Georgian_hae* = 0x10010f0 # XK_Georgian_he* = 0x10010f1 # XK_Georgian_hie* = 0x10010f2 # XK_Georgian_we* = 0x10010f3 # XK_Georgian_har* = 0x10010f4 # XK_Georgian_hoe* = 0x10010f5 # XK_Georgian_fi* = 0x10010f6 # ## # ## Azeri (and other Turkic or Caucasian languages) # ## # when defined(XK_CAUCASUS): # ## latin # const # XK_Xabovedot* = 0x1001e8a # XK_Ibreve* = 0x100012c # XK_Zstroke* = 0x10001b5 # XK_Gcaron* = 0x10001e6 # XK_Ocaron* = 0x10001d1 # XK_Obarred* = 0x100019f # XK_xabovedot* = 0x1001e8b # XK_ibreve* = 0x100012d # XK_zstroke* = 0x10001b6 # XK_gcaron* = 0x10001e7 # XK_ocaron* = 0x10001d2 # XK_obarred* = 0x1000275 # XK_SCHWA* = 0x100018f # XK_schwa* = 0x1000259 # ## those are not really Caucasus # ## For Inupiak # const # XK_Lbelowdot* = 0x1001e36 # XK_lbelowdot* = 0x1001e37 # ## # ## Vietnamese # ## # when defined(XK_VIETNAMESE): # const # XK_Abelowdot* = 0x1001ea0 # XK_abelowdot* = 0x1001ea1 # XK_Ahook* = 0x1001ea2 # XK_ahook* = 0x1001ea3 # XK_Acircumflexacute* = 0x1001ea4 # XK_acircumflexacute* = 0x1001ea5 # XK_Acircumflexgrave* = 0x1001ea6 # XK_acircumflexgrave* = 0x1001ea7 # XK_Acircumflexhook* = 0x1001ea8 # XK_acircumflexhook* = 0x1001ea9 # XK_Acircumflextilde* = 0x1001eaa # XK_acircumflextilde* = 0x1001eab # XK_Acircumflexbelowdot* = 0x1001eac # XK_acircumflexbelowdot* = 0x1001ead # XK_Abreveacute* = 0x1001eae # XK_abreveacute* = 0x1001eaf # XK_Abrevegrave* = 0x1001eb0 # XK_abrevegrave* = 0x1001eb1 # XK_Abrevehook* = 0x1001eb2 # XK_abrevehook* = 0x1001eb3 # XK_Abrevetilde* = 0x1001eb4 # XK_abrevetilde* = 0x1001eb5 # XK_Abrevebelowdot* = 0x1001eb6 # XK_abrevebelowdot* = 0x1001eb7 # XK_Ebelowdot* = 0x1001eb8 # XK_ebelowdot* = 0x1001eb9 # XK_Ehook* = 0x1001eba # XK_ehook* = 0x1001ebb # XK_Etilde* = 0x1001ebc # XK_etilde* = 0x1001ebd # XK_Ecircumflexacute* = 0x1001ebe # XK_ecircumflexacute* = 0x1001ebf # XK_Ecircumflexgrave* = 0x1001ec0 # XK_ecircumflexgrave* = 0x1001ec1 # XK_Ecircumflexhook* = 0x1001ec2 # XK_ecircumflexhook* = 0x1001ec3 # XK_Ecircumflextilde* = 0x1001ec4 # XK_ecircumflextilde* = 0x1001ec5 # XK_Ecircumflexbelowdot* = 0x1001ec6 # XK_ecircumflexbelowdot* = 0x1001ec7 # XK_Ihook* = 0x1001ec8 # XK_ihook* = 0x1001ec9 # XK_Ibelowdot* = 0x1001eca # XK_ibelowdot* = 0x1001ecb # XK_Obelowdot* = 0x1001ecc # XK_obelowdot* = 0x1001ecd # XK_Ohook* = 0x1001ece # XK_ohook* = 0x1001ecf # XK_Ocircumflexacute* = 0x1001ed0 # XK_ocircumflexacute* = 0x1001ed1 # XK_Ocircumflexgrave* = 0x1001ed2 # XK_ocircumflexgrave* = 0x1001ed3 # XK_Ocircumflexhook* = 0x1001ed4 # XK_ocircumflexhook* = 0x1001ed5 # XK_Ocircumflextilde* = 0x1001ed6 # XK_ocircumflextilde* = 0x1001ed7 # XK_Ocircumflexbelowdot* = 0x1001ed8 # XK_ocircumflexbelowdot* = 0x1001ed9 # XK_Ohornacute* = 0x1001eda # XK_ohornacute* = 0x1001edb # XK_Ohorngrave* = 0x1001edc # XK_ohorngrave* = 0x1001edd # XK_Ohornhook* = 0x1001ede # XK_ohornhook* = 0x1001edf # XK_Ohorntilde* = 0x1001ee0 # XK_ohorntilde* = 0x1001ee1 # XK_Ohornbelowdot* = 0x1001ee2 # XK_ohornbelowdot* = 0x1001ee3 # XK_Ubelowdot* = 0x1001ee4 # XK_ubelowdot* = 0x1001ee5 # XK_Uhook* = 0x1001ee6 # XK_uhook* = 0x1001ee7 # XK_Uhornacute* = 0x1001ee8 # XK_uhornacute* = 0x1001ee9 # XK_Uhorngrave* = 0x1001eea # XK_uhorngrave* = 0x1001eeb # XK_Uhornhook* = 0x1001eec # XK_uhornhook* = 0x1001eed # XK_Uhorntilde* = 0x1001eee # XK_uhorntilde* = 0x1001eef # XK_Uhornbelowdot* = 0x1001ef0 # XK_uhornbelowdot* = 0x1001ef1 # XK_Ybelowdot* = 0x1001ef4 # XK_ybelowdot* = 0x1001ef5 # XK_Yhook* = 0x1001ef6 # XK_yhook* = 0x1001ef7 # XK_Ytilde* = 0x1001ef8 # XK_ytilde* = 0x1001ef9 # XK_Ohorn* = 0x10001a0 # XK_ohorn* = 0x10001a1 # XK_Uhorn* = 0x10001af # XK_uhorn* = 0x10001b0 # when defined(XK_CURRENCY): # const # XK_EcuSign* = 0x10020a0 # XK_ColonSign* = 0x10020a1 # XK_CruzeiroSign* = 0x10020a2 # XK_FFrancSign* = 0x10020a3 # XK_LiraSign* = 0x10020a4 # XK_MillSign* = 0x10020a5 # XK_NairaSign* = 0x10020a6 # XK_PesetaSign* = 0x10020a7 # XK_RupeeSign* = 0x10020a8 # XK_WonSign* = 0x10020a9 # XK_NewSheqelSign* = 0x10020aa # XK_DongSign* = 0x10020ab # XK_EuroSign* = 0x20ac