/* This file fakes some of X11's key handling for the special purpose of running a standalone rdp2vnc (without linking to X11) */ #include "x11stubs.h" #include /* ignored */ int *display; typedef struct { const char *string; KeySym keysym; } StringToKeysym_t; StringToKeysym_t StringToKeysym[] = { #ifndef KEYSYMFAKE_H {"VoidSymbol", XK_VoidSymbol}, #ifdef XK_MISCELLANY {"BackSpace", XK_BackSpace}, {"Tab", XK_Tab}, {"Linefeed", XK_Linefeed}, {"Clear", XK_Clear}, {"Return", XK_Return}, {"Pause", XK_Pause}, {"Scroll_Lock", XK_Scroll_Lock}, {"Sys_Req", XK_Sys_Req}, {"Escape", XK_Escape}, {"Delete", XK_Delete}, {"Multi_key", XK_Multi_key}, {"SingleCandidate", XK_SingleCandidate}, {"MultipleCandidate", XK_MultipleCandidate}, {"PreviousCandidate", XK_PreviousCandidate}, {"Kanji", XK_Kanji}, {"Muhenkan", XK_Muhenkan}, {"Henkan_Mode", XK_Henkan_Mode}, {"Henkan", XK_Henkan}, {"Romaji", XK_Romaji}, {"Hiragana", XK_Hiragana}, {"Katakana", XK_Katakana}, {"Hiragana_Katakana", XK_Hiragana_Katakana}, {"Zenkaku", XK_Zenkaku}, {"Hankaku", XK_Hankaku}, {"Zenkaku_Hankaku", XK_Zenkaku_Hankaku}, {"Touroku", XK_Touroku}, {"Massyo", XK_Massyo}, {"Kana_Lock", XK_Kana_Lock}, {"Kana_Shift", XK_Kana_Shift}, {"Eisu_Shift", XK_Eisu_Shift}, {"Eisu_toggle", XK_Eisu_toggle}, {"Zen_Koho", XK_Zen_Koho}, {"Mae_Koho", XK_Mae_Koho}, {"Home", XK_Home}, {"Left", XK_Left}, {"Up", XK_Up}, {"Right", XK_Right}, {"Down", XK_Down}, {"Prior", XK_Prior}, {"Page_Up", XK_Page_Up}, {"Next", XK_Next}, {"Page_Down", XK_Page_Down}, {"End", XK_End}, {"Begin", XK_Begin}, {"Select", XK_Select}, {"Print", XK_Print}, {"Execute", XK_Execute}, {"Insert", XK_Insert}, {"Undo", XK_Undo}, {"Redo", XK_Redo}, {"Menu", XK_Menu}, {"Find", XK_Find}, {"Cancel", XK_Cancel}, {"Help", XK_Help}, {"Break", XK_Break}, {"Mode_switch", XK_Mode_switch}, {"script_switch", XK_script_switch}, {"Num_Lock", XK_Num_Lock}, {"KP_Space", XK_KP_Space}, {"KP_Tab", XK_KP_Tab}, {"KP_Enter", XK_KP_Enter}, {"KP_F1", XK_KP_F1}, {"KP_F2", XK_KP_F2}, {"KP_F3", XK_KP_F3}, {"KP_F4", XK_KP_F4}, {"KP_Home", XK_KP_Home}, {"KP_Left", XK_KP_Left}, {"KP_Up", XK_KP_Up}, {"KP_Right", XK_KP_Right}, {"KP_Down", XK_KP_Down}, {"KP_Prior", XK_KP_Prior}, {"KP_Page_Up", XK_KP_Page_Up}, {"KP_Next", XK_KP_Next}, {"KP_Page_Down", XK_KP_Page_Down}, {"KP_End", XK_KP_End}, {"KP_Begin", XK_KP_Begin}, {"KP_Insert", XK_KP_Insert}, {"KP_Delete", XK_KP_Delete}, {"KP_Equal", XK_KP_Equal}, {"KP_Multiply", XK_KP_Multiply}, {"KP_Add", XK_KP_Add}, {"KP_Separator", XK_KP_Separator}, {"KP_Subtract", XK_KP_Subtract}, {"KP_Decimal", XK_KP_Decimal}, {"KP_Divide", XK_KP_Divide}, {"KP_0", XK_KP_0}, {"KP_1", XK_KP_1}, {"KP_2", XK_KP_2}, {"KP_3", XK_KP_3}, {"KP_4", XK_KP_4}, {"KP_5", XK_KP_5}, {"KP_6", XK_KP_6}, {"KP_7", XK_KP_7}, {"KP_8", XK_KP_8}, {"KP_9", XK_KP_9}, {"F1", XK_F1}, {"F2", XK_F2}, {"F3", XK_F3}, {"F4", XK_F4}, {"F5", XK_F5}, {"F6", XK_F6}, {"F7", XK_F7}, {"F8", XK_F8}, {"F9", XK_F9}, {"F10", XK_F10}, {"F11", XK_F11}, {"L1", XK_L1}, {"F12", XK_F12}, {"L2", XK_L2}, {"F13", XK_F13}, {"L3", XK_L3}, {"F14", XK_F14}, {"L4", XK_L4}, {"F15", XK_F15}, {"L5", XK_L5}, {"F16", XK_F16}, {"L6", XK_L6}, {"F17", XK_F17}, {"L7", XK_L7}, {"F18", XK_F18}, {"L8", XK_L8}, {"F19", XK_F19}, {"L9", XK_L9}, {"F20", XK_F20}, {"L10", XK_L10}, {"F21", XK_F21}, {"R1", XK_R1}, {"F22", XK_F22}, {"R2", XK_R2}, {"F23", XK_F23}, {"R3", XK_R3}, {"F24", XK_F24}, {"R4", XK_R4}, {"F25", XK_F25}, {"R5", XK_R5}, {"F26", XK_F26}, {"R6", XK_R6}, {"F27", XK_F27}, {"R7", XK_R7}, {"F28", XK_F28}, {"R8", XK_R8}, {"F29", XK_F29}, {"R9", XK_R9}, {"F30", XK_F30}, {"R10", XK_R10}, {"F31", XK_F31}, {"R11", XK_R11}, {"F32", XK_F32}, {"R12", XK_R12}, {"F33", XK_F33}, {"R13", XK_R13}, {"F34", XK_F34}, {"R14", XK_R14}, {"F35", XK_F35}, {"R15", XK_R15}, {"Shift_L", XK_Shift_L}, {"Shift_R", XK_Shift_R}, {"Control_L", XK_Control_L}, {"Control_R", XK_Control_R}, {"Caps_Lock", XK_Caps_Lock}, {"Shift_Lock", XK_Shift_Lock}, {"Meta_L", XK_Meta_L}, {"Meta_R", XK_Meta_R}, {"Alt_L", XK_Alt_L}, {"Alt_R", XK_Alt_R}, {"Super_L", XK_Super_L}, {"Super_R", XK_Super_R}, {"Hyper_L", XK_Hyper_L}, {"Hyper_R", XK_Hyper_R}, #endif /* XK_MISCELLANY */ #ifdef XK_XKB_KEYS {"ISO_Lock", XK_ISO_Lock}, {"ISO_Level2_Latch", XK_ISO_Level2_Latch}, {"ISO_Level3_Shift", XK_ISO_Level3_Shift}, {"ISO_Level3_Latch", XK_ISO_Level3_Latch}, {"ISO_Level3_Lock", XK_ISO_Level3_Lock}, {"ISO_Group_Shift", XK_ISO_Group_Shift}, {"ISO_Group_Latch", XK_ISO_Group_Latch}, {"ISO_Group_Lock", XK_ISO_Group_Lock}, {"ISO_Next_Group", XK_ISO_Next_Group}, {"ISO_Next_Group_Lock", XK_ISO_Next_Group_Lock}, {"ISO_Prev_Group", XK_ISO_Prev_Group}, {"ISO_Prev_Group_Lock", XK_ISO_Prev_Group_Lock}, {"ISO_First_Group", XK_ISO_First_Group}, {"ISO_First_Group_Lock", XK_ISO_First_Group_Lock}, {"ISO_Last_Group", XK_ISO_Last_Group}, {"ISO_Last_Group_Lock", XK_ISO_Last_Group_Lock}, {"ISO_Left_Tab", XK_ISO_Left_Tab}, {"ISO_Move_Line_Up", XK_ISO_Move_Line_Up}, {"ISO_Move_Line_Down", XK_ISO_Move_Line_Down}, {"ISO_Partial_Line_Up", XK_ISO_Partial_Line_Up}, {"ISO_Partial_Line_Down", XK_ISO_Partial_Line_Down}, {"ISO_Partial_Space_Left", XK_ISO_Partial_Space_Left}, {"ISO_Partial_Space_Right", XK_ISO_Partial_Space_Right}, {"ISO_Set_Margin_Left", XK_ISO_Set_Margin_Left}, {"ISO_Set_Margin_Right", XK_ISO_Set_Margin_Right}, {"ISO_Release_Margin_Left", XK_ISO_Release_Margin_Left}, {"ISO_Release_Margin_Right", XK_ISO_Release_Margin_Right}, {"ISO_Release_Both_Margins", XK_ISO_Release_Both_Margins}, {"ISO_Fast_Cursor_Left", XK_ISO_Fast_Cursor_Left}, {"ISO_Fast_Cursor_Right", XK_ISO_Fast_Cursor_Right}, {"ISO_Fast_Cursor_Up", XK_ISO_Fast_Cursor_Up}, {"ISO_Fast_Cursor_Down", XK_ISO_Fast_Cursor_Down}, {"ISO_Continuous_Underline", XK_ISO_Continuous_Underline}, {"ISO_Discontinuous_Underline", XK_ISO_Discontinuous_Underline}, {"ISO_Emphasize", XK_ISO_Emphasize}, {"ISO_Center_Object", XK_ISO_Center_Object}, {"ISO_Enter", XK_ISO_Enter}, {"dead_grave", XK_dead_grave}, {"dead_acute", XK_dead_acute}, {"dead_circumflex", XK_dead_circumflex}, {"dead_tilde", XK_dead_tilde}, {"dead_macron", XK_dead_macron}, {"dead_breve", XK_dead_breve}, {"dead_abovedot", XK_dead_abovedot}, {"dead_diaeresis", XK_dead_diaeresis}, {"dead_abovering", XK_dead_abovering}, {"dead_doubleacute", XK_dead_doubleacute}, {"dead_caron", XK_dead_caron}, {"dead_cedilla", XK_dead_cedilla}, {"dead_ogonek", XK_dead_ogonek}, {"dead_iota", XK_dead_iota}, {"dead_voiced_sound", XK_dead_voiced_sound}, {"dead_semivoiced_sound", XK_dead_semivoiced_sound}, {"dead_belowdot", XK_dead_belowdot}, {"First_Virtual_Screen", XK_First_Virtual_Screen}, {"Prev_Virtual_Screen", XK_Prev_Virtual_Screen}, {"Next_Virtual_Screen", XK_Next_Virtual_Screen}, {"Last_Virtual_Screen", XK_Last_Virtual_Screen}, {"Terminate_Server", XK_Terminate_Server}, {"AccessX_Enable", XK_AccessX_Enable}, {"AccessX_Feedback_Enable", XK_AccessX_Feedback_Enable}, {"RepeatKeys_Enable", XK_RepeatKeys_Enable}, {"SlowKeys_Enable", XK_SlowKeys_Enable}, {"BounceKeys_Enable", XK_BounceKeys_Enable}, {"StickyKeys_Enable", XK_StickyKeys_Enable}, {"MouseKeys_Enable", XK_MouseKeys_Enable}, {"MouseKeys_Accel_Enable", XK_MouseKeys_Accel_Enable}, {"Overlay1_Enable", XK_Overlay1_Enable}, {"Overlay2_Enable", XK_Overlay2_Enable}, {"AudibleBell_Enable", XK_AudibleBell_Enable}, {"Pointer_Left", XK_Pointer_Left}, {"Pointer_Right", XK_Pointer_Right}, {"Pointer_Up", XK_Pointer_Up}, {"Pointer_Down", XK_Pointer_Down}, {"Pointer_UpLeft", XK_Pointer_UpLeft}, {"Pointer_UpRight", XK_Pointer_UpRight}, {"Pointer_DownLeft", XK_Pointer_DownLeft}, {"Pointer_DownRight", XK_Pointer_DownRight}, {"Pointer_Button_Dflt", XK_Pointer_Button_Dflt}, {"Pointer_Button1", XK_Pointer_Button1}, {"Pointer_Button2", XK_Pointer_Button2}, {"Pointer_Button3", XK_Pointer_Button3}, {"Pointer_Button4", XK_Pointer_Button4}, {"Pointer_Button5", XK_Pointer_Button5}, {"Pointer_DblClick_Dflt", XK_Pointer_DblClick_Dflt}, {"Pointer_DblClick1", XK_Pointer_DblClick1}, {"Pointer_DblClick2", XK_Pointer_DblClick2}, {"Pointer_DblClick3", XK_Pointer_DblClick3}, {"Pointer_DblClick4", XK_Pointer_DblClick4}, {"Pointer_DblClick5", XK_Pointer_DblClick5}, {"Pointer_Drag_Dflt", XK_Pointer_Drag_Dflt}, {"Pointer_Drag1", XK_Pointer_Drag1}, {"Pointer_Drag2", XK_Pointer_Drag2}, {"Pointer_Drag3", XK_Pointer_Drag3}, {"Pointer_Drag4", XK_Pointer_Drag4}, {"Pointer_Drag5", XK_Pointer_Drag5}, {"Pointer_EnableKeys", XK_Pointer_EnableKeys}, {"Pointer_Accelerate", XK_Pointer_Accelerate}, {"Pointer_DfltBtnNext", XK_Pointer_DfltBtnNext}, {"Pointer_DfltBtnPrev", XK_Pointer_DfltBtnPrev}, #endif #ifdef XK_3270 {"3270_Duplicate", XK_3270_Duplicate}, {"3270_FieldMark", XK_3270_FieldMark}, {"3270_Right2", XK_3270_Right2}, {"3270_Left2", XK_3270_Left2}, {"3270_BackTab", XK_3270_BackTab}, {"3270_EraseEOF", XK_3270_EraseEOF}, {"3270_EraseInput", XK_3270_EraseInput}, {"3270_Reset", XK_3270_Reset}, {"3270_Quit", XK_3270_Quit}, {"3270_PA1", XK_3270_PA1}, {"3270_PA2", XK_3270_PA2}, {"3270_PA3", XK_3270_PA3}, {"3270_Test", XK_3270_Test}, {"3270_Attn", XK_3270_Attn}, {"3270_CursorBlink", XK_3270_CursorBlink}, {"3270_AltCursor", XK_3270_AltCursor}, {"3270_KeyClick", XK_3270_KeyClick}, {"3270_Jump", XK_3270_Jump}, {"3270_Ident", XK_3270_Ident}, {"3270_Rule", XK_3270_Rule}, {"3270_Copy", XK_3270_Copy}, {"3270_Play", XK_3270_Play}, {"3270_Setup", XK_3270_Setup}, {"3270_Record", XK_3270_Record}, {"3270_ChangeScreen", XK_3270_ChangeScreen}, {"3270_DeleteWord", XK_3270_DeleteWord}, {"3270_ExSelect", XK_3270_ExSelect}, {"3270_CursorSelect", XK_3270_CursorSelect}, {"3270_PrintScreen", XK_3270_PrintScreen}, {"3270_Enter", XK_3270_Enter}, #endif #ifdef XK_LATIN1 {"space", XK_space}, {"exclam", XK_exclam}, {"quotedbl", XK_quotedbl}, {"numbersign", XK_numbersign}, {"dollar", XK_dollar}, {"percent", XK_percent}, {"ampersand", XK_ampersand}, {"apostrophe", XK_apostrophe}, {"quoteright", XK_quoteright}, {"parenleft", XK_parenleft}, {"parenright", XK_parenright}, {"asterisk", XK_asterisk}, {"plus", XK_plus}, {"comma", XK_comma}, {"minus", XK_minus}, {"period", XK_period}, {"slash", XK_slash}, {"0", XK_0}, {"1", XK_1}, {"2", XK_2}, {"3", XK_3}, {"4", XK_4}, {"5", XK_5}, {"6", XK_6}, {"7", XK_7}, {"8", XK_8}, {"9", XK_9}, {"colon", XK_colon}, {"semicolon", XK_semicolon}, {"less", XK_less}, {"equal", XK_equal}, {"greater", XK_greater}, {"question", XK_question}, {"at", XK_at}, {"A", XK_A}, {"B", XK_B}, {"C", XK_C}, {"D", XK_D}, {"E", XK_E}, {"F", XK_F}, {"G", XK_G}, {"H", XK_H}, {"I", XK_I}, {"J", XK_J}, {"K", XK_K}, {"L", XK_L}, {"M", XK_M}, {"N", XK_N}, {"O", XK_O}, {"P", XK_P}, {"Q", XK_Q}, {"R", XK_R}, {"S", XK_S}, {"T", XK_T}, {"U", XK_U}, {"V", XK_V}, {"W", XK_W}, {"X", XK_X}, {"Y", XK_Y}, {"Z", XK_Z}, {"bracketleft", XK_bracketleft}, {"backslash", XK_backslash}, {"bracketright", XK_bracketright}, {"asciicircum", XK_asciicircum}, {"underscore", XK_underscore}, {"grave", XK_grave}, {"quoteleft", XK_quoteleft}, {"a", XK_a}, {"b", XK_b}, {"c", XK_c}, {"d", XK_d}, {"e", XK_e}, {"f", XK_f}, {"g", XK_g}, {"h", XK_h}, {"i", XK_i}, {"j", XK_j}, {"k", XK_k}, {"l", XK_l}, {"m", XK_m}, {"n", XK_n}, {"o", XK_o}, {"p", XK_p}, {"q", XK_q}, {"r", XK_r}, {"s", XK_s}, {"t", XK_t}, {"u", XK_u}, {"v", XK_v}, {"w", XK_w}, {"x", XK_x}, {"y", XK_y}, {"z", XK_z}, {"braceleft", XK_braceleft}, {"bar", XK_bar}, {"braceright", XK_braceright}, {"asciitilde", XK_asciitilde}, {"nobreakspace", XK_nobreakspace}, {"exclamdown", XK_exclamdown}, {"cent", XK_cent}, {"sterling", XK_sterling}, {"currency", XK_currency}, {"yen", XK_yen}, {"brokenbar", XK_brokenbar}, {"section", XK_section}, {"diaeresis", XK_diaeresis}, {"copyright", XK_copyright}, {"ordfeminine", XK_ordfeminine}, {"guillemotleft", XK_guillemotleft}, {"notsign", XK_notsign}, {"hyphen", XK_hyphen}, {"registered", XK_registered}, {"macron", XK_macron}, {"degree", XK_degree}, {"plusminus", XK_plusminus}, {"twosuperior", XK_twosuperior}, {"threesuperior", XK_threesuperior}, {"acute", XK_acute}, {"mu", XK_mu}, {"paragraph", XK_paragraph}, {"periodcentered", XK_periodcentered}, {"cedilla", XK_cedilla}, {"onesuperior", XK_onesuperior}, {"masculine", XK_masculine}, {"guillemotright", XK_guillemotright}, {"onequarter", XK_onequarter}, {"onehalf", XK_onehalf}, {"threequarters", XK_threequarters}, {"questiondown", XK_questiondown}, {"Agrave", XK_Agrave}, {"Aacute", XK_Aacute}, {"Acircumflex", XK_Acircumflex}, {"Atilde", XK_Atilde}, {"Adiaeresis", XK_Adiaeresis}, {"Aring", XK_Aring}, {"AE", XK_AE}, {"Ccedilla", XK_Ccedilla}, {"Egrave", XK_Egrave}, {"Eacute", XK_Eacute}, {"Ecircumflex", XK_Ecircumflex}, {"Ediaeresis", XK_Ediaeresis}, {"Igrave", XK_Igrave}, {"Iacute", XK_Iacute}, {"Icircumflex", XK_Icircumflex}, {"Idiaeresis", XK_Idiaeresis}, {"ETH", XK_ETH}, {"Eth", XK_Eth}, {"Ntilde", XK_Ntilde}, {"Ograve", XK_Ograve}, {"Oacute", XK_Oacute}, {"Ocircumflex", XK_Ocircumflex}, {"Otilde", XK_Otilde}, {"Odiaeresis", XK_Odiaeresis}, {"multiply", XK_multiply}, {"Ooblique", XK_Ooblique}, {"Ugrave", XK_Ugrave}, {"Uacute", XK_Uacute}, {"Ucircumflex", XK_Ucircumflex}, {"Udiaeresis", XK_Udiaeresis}, {"Yacute", XK_Yacute}, {"THORN", XK_THORN}, {"Thorn", XK_Thorn}, {"ssharp", XK_ssharp}, {"agrave", XK_agrave}, {"aacute", XK_aacute}, {"acircumflex", XK_acircumflex}, {"atilde", XK_atilde}, {"adiaeresis", XK_adiaeresis}, {"aring", XK_aring}, {"ae", XK_ae}, {"ccedilla", XK_ccedilla}, {"egrave", XK_egrave}, {"eacute", XK_eacute}, {"ecircumflex", XK_ecircumflex}, {"ediaeresis", XK_ediaeresis}, {"igrave", XK_igrave}, {"iacute", XK_iacute}, {"icircumflex", XK_icircumflex}, {"idiaeresis", XK_idiaeresis}, {"eth", XK_eth}, {"ntilde", XK_ntilde}, {"ograve", XK_ograve}, {"oacute", XK_oacute}, {"ocircumflex", XK_ocircumflex}, {"otilde", XK_otilde}, {"odiaeresis", XK_odiaeresis}, {"division", XK_division}, {"oslash", XK_oslash}, {"ugrave", XK_ugrave}, {"uacute", XK_uacute}, {"ucircumflex", XK_ucircumflex}, {"udiaeresis", XK_udiaeresis}, {"yacute", XK_yacute}, {"thorn", XK_thorn}, {"ydiaeresis", XK_ydiaeresis}, #endif /* XK_LATIN1 */ #ifdef XK_LATIN2 {"Aogonek", XK_Aogonek}, {"breve", XK_breve}, {"Lstroke", XK_Lstroke}, {"Lcaron", XK_Lcaron}, {"Sacute", XK_Sacute}, {"Scaron", XK_Scaron}, {"Scedilla", XK_Scedilla}, {"Tcaron", XK_Tcaron}, {"Zacute", XK_Zacute}, {"Zcaron", XK_Zcaron}, {"Zabovedot", XK_Zabovedot}, {"aogonek", XK_aogonek}, {"ogonek", XK_ogonek}, {"lstroke", XK_lstroke}, {"lcaron", XK_lcaron}, {"sacute", XK_sacute}, {"caron", XK_caron}, {"scaron", XK_scaron}, {"scedilla", XK_scedilla}, {"tcaron", XK_tcaron}, {"zacute", XK_zacute}, {"doubleacute", XK_doubleacute}, {"zcaron", XK_zcaron}, {"zabovedot", XK_zabovedot}, {"Racute", XK_Racute}, {"Abreve", XK_Abreve}, {"Lacute", XK_Lacute}, {"Cacute", XK_Cacute}, {"Ccaron", XK_Ccaron}, {"Eogonek", XK_Eogonek}, {"Ecaron", XK_Ecaron}, {"Dcaron", XK_Dcaron}, {"Dstroke", XK_Dstroke}, {"Nacute", XK_Nacute}, {"Ncaron", XK_Ncaron}, {"Odoubleacute", XK_Odoubleacute}, {"Rcaron", XK_Rcaron}, {"Uring", XK_Uring}, {"Udoubleacute", XK_Udoubleacute}, {"Tcedilla", XK_Tcedilla}, {"racute", XK_racute}, {"abreve", XK_abreve}, {"lacute", XK_lacute}, {"cacute", XK_cacute}, {"ccaron", XK_ccaron}, {"eogonek", XK_eogonek}, {"ecaron", XK_ecaron}, {"dcaron", XK_dcaron}, {"dstroke", XK_dstroke}, {"nacute", XK_nacute}, {"ncaron", XK_ncaron}, {"odoubleacute", XK_odoubleacute}, {"udoubleacute", XK_udoubleacute}, {"rcaron", XK_rcaron}, {"uring", XK_uring}, {"tcedilla", XK_tcedilla}, {"abovedot", XK_abovedot}, #endif /* XK_LATIN2 */ #ifdef XK_LATIN3 {"Hstroke", XK_Hstroke}, {"Hcircumflex", XK_Hcircumflex}, {"Iabovedot", XK_Iabovedot}, {"Gbreve", XK_Gbreve}, {"Jcircumflex", XK_Jcircumflex}, {"hstroke", XK_hstroke}, {"hcircumflex", XK_hcircumflex}, {"idotless", XK_idotless}, {"gbreve", XK_gbreve}, {"jcircumflex", XK_jcircumflex}, {"Cabovedot", XK_Cabovedot}, {"Ccircumflex", XK_Ccircumflex}, {"Gabovedot", XK_Gabovedot}, {"Gcircumflex", XK_Gcircumflex}, {"Ubreve", XK_Ubreve}, {"Scircumflex", XK_Scircumflex}, {"cabovedot", XK_cabovedot}, {"ccircumflex", XK_ccircumflex}, {"gabovedot", XK_gabovedot}, {"gcircumflex", XK_gcircumflex}, {"ubreve", XK_ubreve}, {"scircumflex", XK_scircumflex}, #endif /* XK_LATIN3 */ #ifdef XK_LATIN4 {"kra", XK_kra}, {"kappa", XK_kappa}, {"Rcedilla", XK_Rcedilla}, {"Itilde", XK_Itilde}, {"Lcedilla", XK_Lcedilla}, {"Emacron", XK_Emacron}, {"Gcedilla", XK_Gcedilla}, {"Tslash", XK_Tslash}, {"rcedilla", XK_rcedilla}, {"itilde", XK_itilde}, {"lcedilla", XK_lcedilla}, {"emacron", XK_emacron}, {"gcedilla", XK_gcedilla}, {"tslash", XK_tslash}, {"ENG", XK_ENG}, {"eng", XK_eng}, {"Amacron", XK_Amacron}, {"Iogonek", XK_Iogonek}, {"Eabovedot", XK_Eabovedot}, {"Imacron", XK_Imacron}, {"Ncedilla", XK_Ncedilla}, {"Omacron", XK_Omacron}, {"Kcedilla", XK_Kcedilla}, {"Uogonek", XK_Uogonek}, {"Utilde", XK_Utilde}, {"Umacron", XK_Umacron}, {"amacron", XK_amacron}, {"iogonek", XK_iogonek}, {"eabovedot", XK_eabovedot}, {"imacron", XK_imacron}, {"ncedilla", XK_ncedilla}, {"omacron", XK_omacron}, {"kcedilla", XK_kcedilla}, {"uogonek", XK_uogonek}, {"utilde", XK_utilde}, {"umacron", XK_umacron}, #endif /* XK_LATIN4 */ #ifdef XK_KATAKANA {"overline", XK_overline}, {"kana_fullstop", XK_kana_fullstop}, {"kana_openingbracket", XK_kana_openingbracket}, {"kana_closingbracket", XK_kana_closingbracket}, {"kana_comma", XK_kana_comma}, {"kana_conjunctive", XK_kana_conjunctive}, {"kana_middledot", XK_kana_middledot}, {"kana_WO", XK_kana_WO}, {"kana_a", XK_kana_a}, {"kana_i", XK_kana_i}, {"kana_u", XK_kana_u}, {"kana_e", XK_kana_e}, {"kana_o", XK_kana_o}, {"kana_ya", XK_kana_ya}, {"kana_yu", XK_kana_yu}, {"kana_yo", XK_kana_yo}, {"kana_tsu", XK_kana_tsu}, {"kana_tu", XK_kana_tu}, {"prolongedsound", XK_prolongedsound}, {"kana_A", XK_kana_A}, {"kana_I", XK_kana_I}, {"kana_U", XK_kana_U}, {"kana_E", XK_kana_E}, {"kana_O", XK_kana_O}, {"kana_KA", XK_kana_KA}, {"kana_KI", XK_kana_KI}, {"kana_KU", XK_kana_KU}, {"kana_KE", XK_kana_KE}, {"kana_KO", XK_kana_KO}, {"kana_SA", XK_kana_SA}, {"kana_SHI", XK_kana_SHI}, {"kana_SU", XK_kana_SU}, {"kana_SE", XK_kana_SE}, {"kana_SO", XK_kana_SO}, {"kana_TA", XK_kana_TA}, {"kana_CHI", XK_kana_CHI}, {"kana_TI", XK_kana_TI}, {"kana_TSU", XK_kana_TSU}, {"kana_TU", XK_kana_TU}, {"kana_TE", XK_kana_TE}, {"kana_TO", XK_kana_TO}, {"kana_NA", XK_kana_NA}, {"kana_NI", XK_kana_NI}, {"kana_NU", XK_kana_NU}, {"kana_NE", XK_kana_NE}, {"kana_NO", XK_kana_NO}, {"kana_HA", XK_kana_HA}, {"kana_HI", XK_kana_HI}, {"kana_FU", XK_kana_FU}, {"kana_HU", XK_kana_HU}, {"kana_HE", XK_kana_HE}, {"kana_HO", XK_kana_HO}, {"kana_MA", XK_kana_MA}, {"kana_MI", XK_kana_MI}, {"kana_MU", XK_kana_MU}, {"kana_ME", XK_kana_ME}, {"kana_MO", XK_kana_MO}, {"kana_YA", XK_kana_YA}, {"kana_YU", XK_kana_YU}, {"kana_YO", XK_kana_YO}, {"kana_RA", XK_kana_RA}, {"kana_RI", XK_kana_RI}, {"kana_RU", XK_kana_RU}, {"kana_RE", XK_kana_RE}, {"kana_RO", XK_kana_RO}, {"kana_WA", XK_kana_WA}, {"kana_N", XK_kana_N}, {"voicedsound", XK_voicedsound}, {"semivoicedsound", XK_semivoicedsound}, {"kana_switch", XK_kana_switch}, #endif /* XK_KATAKANA */ #ifdef XK_ARABIC {"Arabic_comma", XK_Arabic_comma}, {"Arabic_semicolon", XK_Arabic_semicolon}, {"Arabic_question_mark", XK_Arabic_question_mark}, {"Arabic_hamza", XK_Arabic_hamza}, {"Arabic_maddaonalef", XK_Arabic_maddaonalef}, {"Arabic_hamzaonalef", XK_Arabic_hamzaonalef}, {"Arabic_hamzaonwaw", XK_Arabic_hamzaonwaw}, {"Arabic_hamzaunderalef", XK_Arabic_hamzaunderalef}, {"Arabic_hamzaonyeh", XK_Arabic_hamzaonyeh}, {"Arabic_alef", XK_Arabic_alef}, {"Arabic_beh", XK_Arabic_beh}, {"Arabic_tehmarbuta", XK_Arabic_tehmarbuta}, {"Arabic_teh", XK_Arabic_teh}, {"Arabic_theh", XK_Arabic_theh}, {"Arabic_jeem", XK_Arabic_jeem}, {"Arabic_hah", XK_Arabic_hah}, {"Arabic_khah", XK_Arabic_khah}, {"Arabic_dal", XK_Arabic_dal}, {"Arabic_thal", XK_Arabic_thal}, {"Arabic_ra", XK_Arabic_ra}, {"Arabic_zain", XK_Arabic_zain}, {"Arabic_seen", XK_Arabic_seen}, {"Arabic_sheen", XK_Arabic_sheen}, {"Arabic_sad", XK_Arabic_sad}, {"Arabic_dad", XK_Arabic_dad}, {"Arabic_tah", XK_Arabic_tah}, {"Arabic_zah", XK_Arabic_zah}, {"Arabic_ain", XK_Arabic_ain}, {"Arabic_ghain", XK_Arabic_ghain}, {"Arabic_tatweel", XK_Arabic_tatweel}, {"Arabic_feh", XK_Arabic_feh}, {"Arabic_qaf", XK_Arabic_qaf}, {"Arabic_kaf", XK_Arabic_kaf}, {"Arabic_lam", XK_Arabic_lam}, {"Arabic_meem", XK_Arabic_meem}, {"Arabic_noon", XK_Arabic_noon}, {"Arabic_ha", XK_Arabic_ha}, {"Arabic_heh", XK_Arabic_heh}, {"Arabic_waw", XK_Arabic_waw}, {"Arabic_alefmaksura", XK_Arabic_alefmaksura}, {"Arabic_yeh", XK_Arabic_yeh}, {"Arabic_fathatan", XK_Arabic_fathatan}, {"Arabic_dammatan", XK_Arabic_dammatan}, {"Arabic_kasratan", XK_Arabic_kasratan}, {"Arabic_fatha", XK_Arabic_fatha}, {"Arabic_damma", XK_Arabic_damma}, {"Arabic_kasra", XK_Arabic_kasra}, {"Arabic_shadda", XK_Arabic_shadda}, {"Arabic_sukun", XK_Arabic_sukun}, {"Arabic_switch", XK_Arabic_switch}, #endif /* XK_ARABIC */ #ifdef XK_CYRILLIC {"Serbian_dje", XK_Serbian_dje}, {"Macedonia_gje", XK_Macedonia_gje}, {"Cyrillic_io", XK_Cyrillic_io}, {"Ukrainian_ie", XK_Ukrainian_ie}, {"Ukranian_je", XK_Ukranian_je}, {"Macedonia_dse", XK_Macedonia_dse}, {"Ukrainian_i", XK_Ukrainian_i}, {"Ukranian_i", XK_Ukranian_i}, {"Ukrainian_yi", XK_Ukrainian_yi}, {"Ukranian_yi", XK_Ukranian_yi}, {"Cyrillic_je", XK_Cyrillic_je}, {"Serbian_je", XK_Serbian_je}, {"Cyrillic_lje", XK_Cyrillic_lje}, {"Serbian_lje", XK_Serbian_lje}, {"Cyrillic_nje", XK_Cyrillic_nje}, {"Serbian_nje", XK_Serbian_nje}, {"Serbian_tshe", XK_Serbian_tshe}, {"Macedonia_kje", XK_Macedonia_kje}, {"Byelorussian_shortu", XK_Byelorussian_shortu}, {"Cyrillic_dzhe", XK_Cyrillic_dzhe}, {"Serbian_dze", XK_Serbian_dze}, {"numerosign", XK_numerosign}, {"Serbian_DJE", XK_Serbian_DJE}, {"Macedonia_GJE", XK_Macedonia_GJE}, {"Cyrillic_IO", XK_Cyrillic_IO}, {"Ukrainian_IE", XK_Ukrainian_IE}, {"Ukranian_JE", XK_Ukranian_JE}, {"Macedonia_DSE", XK_Macedonia_DSE}, {"Ukrainian_I", XK_Ukrainian_I}, {"Ukranian_I", XK_Ukranian_I}, {"Ukrainian_YI", XK_Ukrainian_YI}, {"Ukranian_YI", XK_Ukranian_YI}, {"Cyrillic_JE", XK_Cyrillic_JE}, {"Serbian_JE", XK_Serbian_JE}, {"Cyrillic_LJE", XK_Cyrillic_LJE}, {"Serbian_LJE", XK_Serbian_LJE}, {"Cyrillic_NJE", XK_Cyrillic_NJE}, {"Serbian_NJE", XK_Serbian_NJE}, {"Serbian_TSHE", XK_Serbian_TSHE}, {"Macedonia_KJE", XK_Macedonia_KJE}, {"Byelorussian_SHORTU", XK_Byelorussian_SHORTU}, {"Cyrillic_DZHE", XK_Cyrillic_DZHE}, {"Serbian_DZE", XK_Serbian_DZE}, {"Cyrillic_yu", XK_Cyrillic_yu}, {"Cyrillic_a", XK_Cyrillic_a}, {"Cyrillic_be", XK_Cyrillic_be}, {"Cyrillic_tse", XK_Cyrillic_tse}, {"Cyrillic_de", XK_Cyrillic_de}, {"Cyrillic_ie", XK_Cyrillic_ie}, {"Cyrillic_ef", XK_Cyrillic_ef}, {"Cyrillic_ghe", XK_Cyrillic_ghe}, {"Cyrillic_ha", XK_Cyrillic_ha}, {"Cyrillic_i", XK_Cyrillic_i}, {"Cyrillic_shorti", XK_Cyrillic_shorti}, {"Cyrillic_ka", XK_Cyrillic_ka}, {"Cyrillic_el", XK_Cyrillic_el}, {"Cyrillic_em", XK_Cyrillic_em}, {"Cyrillic_en", XK_Cyrillic_en}, {"Cyrillic_o", XK_Cyrillic_o}, {"Cyrillic_pe", XK_Cyrillic_pe}, {"Cyrillic_ya", XK_Cyrillic_ya}, {"Cyrillic_er", XK_Cyrillic_er}, {"Cyrillic_es", XK_Cyrillic_es}, {"Cyrillic_te", XK_Cyrillic_te}, {"Cyrillic_u", XK_Cyrillic_u}, {"Cyrillic_zhe", XK_Cyrillic_zhe}, {"Cyrillic_ve", XK_Cyrillic_ve}, {"Cyrillic_softsign", XK_Cyrillic_softsign}, {"Cyrillic_yeru", XK_Cyrillic_yeru}, {"Cyrillic_ze", XK_Cyrillic_ze}, {"Cyrillic_sha", XK_Cyrillic_sha}, {"Cyrillic_e", XK_Cyrillic_e}, {"Cyrillic_shcha", XK_Cyrillic_shcha}, {"Cyrillic_che", XK_Cyrillic_che}, {"Cyrillic_hardsign", XK_Cyrillic_hardsign}, {"Cyrillic_YU", XK_Cyrillic_YU}, {"Cyrillic_A", XK_Cyrillic_A}, {"Cyrillic_BE", XK_Cyrillic_BE}, {"Cyrillic_TSE", XK_Cyrillic_TSE}, {"Cyrillic_DE", XK_Cyrillic_DE}, {"Cyrillic_IE", XK_Cyrillic_IE}, {"Cyrillic_EF", XK_Cyrillic_EF}, {"Cyrillic_GHE", XK_Cyrillic_GHE}, {"Cyrillic_HA", XK_Cyrillic_HA}, {"Cyrillic_I", XK_Cyrillic_I}, {"Cyrillic_SHORTI", XK_Cyrillic_SHORTI}, {"Cyrillic_KA", XK_Cyrillic_KA}, {"Cyrillic_EL", XK_Cyrillic_EL}, {"Cyrillic_EM", XK_Cyrillic_EM}, {"Cyrillic_EN", XK_Cyrillic_EN}, {"Cyrillic_O", XK_Cyrillic_O}, {"Cyrillic_PE", XK_Cyrillic_PE}, {"Cyrillic_YA", XK_Cyrillic_YA}, {"Cyrillic_ER", XK_Cyrillic_ER}, {"Cyrillic_ES", XK_Cyrillic_ES}, {"Cyrillic_TE", XK_Cyrillic_TE}, {"Cyrillic_U", XK_Cyrillic_U}, {"Cyrillic_ZHE", XK_Cyrillic_ZHE}, {"Cyrillic_VE", XK_Cyrillic_VE}, {"Cyrillic_SOFTSIGN", XK_Cyrillic_SOFTSIGN}, {"Cyrillic_YERU", XK_Cyrillic_YERU}, {"Cyrillic_ZE", XK_Cyrillic_ZE}, {"Cyrillic_SHA", XK_Cyrillic_SHA}, {"Cyrillic_E", XK_Cyrillic_E}, {"Cyrillic_SHCHA", XK_Cyrillic_SHCHA}, {"Cyrillic_CHE", XK_Cyrillic_CHE}, {"Cyrillic_HARDSIGN", XK_Cyrillic_HARDSIGN}, #endif /* XK_CYRILLIC */ #ifdef XK_GREEK {"Greek_ALPHAaccent", XK_Greek_ALPHAaccent}, {"Greek_EPSILONaccent", XK_Greek_EPSILONaccent}, {"Greek_ETAaccent", XK_Greek_ETAaccent}, {"Greek_IOTAaccent", XK_Greek_IOTAaccent}, {"Greek_IOTAdieresis", XK_Greek_IOTAdieresis}, {"Greek_OMICRONaccent", XK_Greek_OMICRONaccent}, {"Greek_UPSILONaccent", XK_Greek_UPSILONaccent}, {"Greek_UPSILONdieresis", XK_Greek_UPSILONdieresis}, {"Greek_OMEGAaccent", XK_Greek_OMEGAaccent}, {"Greek_accentdieresis", XK_Greek_accentdieresis}, {"Greek_horizbar", XK_Greek_horizbar}, {"Greek_alphaaccent", XK_Greek_alphaaccent}, {"Greek_epsilonaccent", XK_Greek_epsilonaccent}, {"Greek_etaaccent", XK_Greek_etaaccent}, {"Greek_iotaaccent", XK_Greek_iotaaccent}, {"Greek_iotadieresis", XK_Greek_iotadieresis}, {"Greek_iotaaccentdieresis", XK_Greek_iotaaccentdieresis}, {"Greek_omicronaccent", XK_Greek_omicronaccent}, {"Greek_upsilonaccent", XK_Greek_upsilonaccent}, {"Greek_upsilondieresis", XK_Greek_upsilondieresis}, {"Greek_upsilonaccentdieresis", XK_Greek_upsilonaccentdieresis}, {"Greek_omegaaccent", XK_Greek_omegaaccent}, {"Greek_ALPHA", XK_Greek_ALPHA}, {"Greek_BETA", XK_Greek_BETA}, {"Greek_GAMMA", XK_Greek_GAMMA}, {"Greek_DELTA", XK_Greek_DELTA}, {"Greek_EPSILON", XK_Greek_EPSILON}, {"Greek_ZETA", XK_Greek_ZETA}, {"Greek_ETA", XK_Greek_ETA}, {"Greek_THETA", XK_Greek_THETA}, {"Greek_IOTA", XK_Greek_IOTA}, {"Greek_KAPPA", XK_Greek_KAPPA}, {"Greek_LAMDA", XK_Greek_LAMDA}, {"Greek_LAMBDA", XK_Greek_LAMBDA}, {"Greek_MU", XK_Greek_MU}, {"Greek_NU", XK_Greek_NU}, {"Greek_XI", XK_Greek_XI}, {"Greek_OMICRON", XK_Greek_OMICRON}, {"Greek_PI", XK_Greek_PI}, {"Greek_RHO", XK_Greek_RHO}, {"Greek_SIGMA", XK_Greek_SIGMA}, {"Greek_TAU", XK_Greek_TAU}, {"Greek_UPSILON", XK_Greek_UPSILON}, {"Greek_PHI", XK_Greek_PHI}, {"Greek_CHI", XK_Greek_CHI}, {"Greek_PSI", XK_Greek_PSI}, {"Greek_OMEGA", XK_Greek_OMEGA}, {"Greek_alpha", XK_Greek_alpha}, {"Greek_beta", XK_Greek_beta}, {"Greek_gamma", XK_Greek_gamma}, {"Greek_delta", XK_Greek_delta}, {"Greek_epsilon", XK_Greek_epsilon}, {"Greek_zeta", XK_Greek_zeta}, {"Greek_eta", XK_Greek_eta}, {"Greek_theta", XK_Greek_theta}, {"Greek_iota", XK_Greek_iota}, {"Greek_kappa", XK_Greek_kappa}, {"Greek_lamda", XK_Greek_lamda}, {"Greek_lambda", XK_Greek_lambda}, {"Greek_mu", XK_Greek_mu}, {"Greek_nu", XK_Greek_nu}, {"Greek_xi", XK_Greek_xi}, {"Greek_omicron", XK_Greek_omicron}, {"Greek_pi", XK_Greek_pi}, {"Greek_rho", XK_Greek_rho}, {"Greek_sigma", XK_Greek_sigma}, {"Greek_finalsmallsigma", XK_Greek_finalsmallsigma}, {"Greek_tau", XK_Greek_tau}, {"Greek_upsilon", XK_Greek_upsilon}, {"Greek_phi", XK_Greek_phi}, {"Greek_chi", XK_Greek_chi}, {"Greek_psi", XK_Greek_psi}, {"Greek_omega", XK_Greek_omega}, {"Greek_switch", XK_Greek_switch}, #endif /* XK_GREEK */ #ifdef XK_TECHNICAL {"leftradical", XK_leftradical}, {"topleftradical", XK_topleftradical}, {"horizconnector", XK_horizconnector}, {"topintegral", XK_topintegral}, {"botintegral", XK_botintegral}, {"vertconnector", XK_vertconnector}, {"topleftsqbracket", XK_topleftsqbracket}, {"botleftsqbracket", XK_botleftsqbracket}, {"toprightsqbracket", XK_toprightsqbracket}, {"botrightsqbracket", XK_botrightsqbracket}, {"topleftparens", XK_topleftparens}, {"botleftparens", XK_botleftparens}, {"toprightparens", XK_toprightparens}, {"botrightparens", XK_botrightparens}, {"leftmiddlecurlybrace", XK_leftmiddlecurlybrace}, {"rightmiddlecurlybrace", XK_rightmiddlecurlybrace}, {"topleftsummation", XK_topleftsummation}, {"botleftsummation", XK_botleftsummation}, {"topvertsummationconnector", XK_topvertsummationconnector}, {"botvertsummationconnector", XK_botvertsummationconnector}, {"toprightsummation", XK_toprightsummation}, {"botrightsummation", XK_botrightsummation}, {"rightmiddlesummation", XK_rightmiddlesummation}, {"lessthanequal", XK_lessthanequal}, {"notequal", XK_notequal}, {"greaterthanequal", XK_greaterthanequal}, {"integral", XK_integral}, {"therefore", XK_therefore}, {"variation", XK_variation}, {"infinity", XK_infinity}, {"nabla", XK_nabla}, {"approximate", XK_approximate}, {"similarequal", XK_similarequal}, {"ifonlyif", XK_ifonlyif}, {"implies", XK_implies}, {"identical", XK_identical}, {"radical", XK_radical}, {"includedin", XK_includedin}, {"includes", XK_includes}, {"intersection", XK_intersection}, {"union", XK_union}, {"logicaland", XK_logicaland}, {"logicalor", XK_logicalor}, {"partialderivative", XK_partialderivative}, {"function", XK_function}, {"leftarrow", XK_leftarrow}, {"uparrow", XK_uparrow}, {"rightarrow", XK_rightarrow}, {"downarrow", XK_downarrow}, #endif /* XK_TECHNICAL */ #ifdef XK_SPECIAL {"blank", XK_blank}, {"soliddiamond", XK_soliddiamond}, {"checkerboard", XK_checkerboard}, {"ht", XK_ht}, {"ff", XK_ff}, {"cr", XK_cr}, {"lf", XK_lf}, {"nl", XK_nl}, {"vt", XK_vt}, {"lowrightcorner", XK_lowrightcorner}, {"uprightcorner", XK_uprightcorner}, {"upleftcorner", XK_upleftcorner}, {"lowleftcorner", XK_lowleftcorner}, {"crossinglines", XK_crossinglines}, {"horizlinescan1", XK_horizlinescan1}, {"horizlinescan3", XK_horizlinescan3}, {"horizlinescan5", XK_horizlinescan5}, {"horizlinescan7", XK_horizlinescan7}, {"horizlinescan9", XK_horizlinescan9}, {"leftt", XK_leftt}, {"rightt", XK_rightt}, {"bott", XK_bott}, {"topt", XK_topt}, {"vertbar", XK_vertbar}, #endif /* XK_SPECIAL */ #ifdef XK_PUBLISHING {"emspace", XK_emspace}, {"enspace", XK_enspace}, {"em3space", XK_em3space}, {"em4space", XK_em4space}, {"digitspace", XK_digitspace}, {"punctspace", XK_punctspace}, {"thinspace", XK_thinspace}, {"hairspace", XK_hairspace}, {"emdash", XK_emdash}, {"endash", XK_endash}, {"signifblank", XK_signifblank}, {"ellipsis", XK_ellipsis}, {"doubbaselinedot", XK_doubbaselinedot}, {"onethird", XK_onethird}, {"twothirds", XK_twothirds}, {"onefifth", XK_onefifth}, {"twofifths", XK_twofifths}, {"threefifths", XK_threefifths}, {"fourfifths", XK_fourfifths}, {"onesixth", XK_onesixth}, {"fivesixths", XK_fivesixths}, {"careof", XK_careof}, {"figdash", XK_figdash}, {"leftanglebracket", XK_leftanglebracket}, {"decimalpoint", XK_decimalpoint}, {"rightanglebracket", XK_rightanglebracket}, {"marker", XK_marker}, {"oneeighth", XK_oneeighth}, {"threeeighths", XK_threeeighths}, {"fiveeighths", XK_fiveeighths}, {"seveneighths", XK_seveneighths}, {"trademark", XK_trademark}, {"signaturemark", XK_signaturemark}, {"trademarkincircle", XK_trademarkincircle}, {"leftopentriangle", XK_leftopentriangle}, {"rightopentriangle", XK_rightopentriangle}, {"emopencircle", XK_emopencircle}, {"emopenrectangle", XK_emopenrectangle}, {"leftsinglequotemark", XK_leftsinglequotemark}, {"rightsinglequotemark", XK_rightsinglequotemark}, {"leftdoublequotemark", XK_leftdoublequotemark}, {"rightdoublequotemark", XK_rightdoublequotemark}, {"prescription", XK_prescription}, {"minutes", XK_minutes}, {"seconds", XK_seconds}, {"latincross", XK_latincross}, {"hexagram", XK_hexagram}, {"filledrectbullet", XK_filledrectbullet}, {"filledlefttribullet", XK_filledlefttribullet}, {"filledrighttribullet", XK_filledrighttribullet}, {"emfilledcircle", XK_emfilledcircle}, {"emfilledrect", XK_emfilledrect}, {"enopencircbullet", XK_enopencircbullet}, {"enopensquarebullet", XK_enopensquarebullet}, {"openrectbullet", XK_openrectbullet}, {"opentribulletup", XK_opentribulletup}, {"opentribulletdown", XK_opentribulletdown}, {"openstar", XK_openstar}, {"enfilledcircbullet", XK_enfilledcircbullet}, {"enfilledsqbullet", XK_enfilledsqbullet}, {"filledtribulletup", XK_filledtribulletup}, {"filledtribulletdown", XK_filledtribulletdown}, {"leftpointer", XK_leftpointer}, {"rightpointer", XK_rightpointer}, {"club", XK_club}, {"diamond", XK_diamond}, {"heart", XK_heart}, {"maltesecross", XK_maltesecross}, {"dagger", XK_dagger}, {"doubledagger", XK_doubledagger}, {"checkmark", XK_checkmark}, {"ballotcross", XK_ballotcross}, {"musicalsharp", XK_musicalsharp}, {"musicalflat", XK_musicalflat}, {"malesymbol", XK_malesymbol}, {"femalesymbol", XK_femalesymbol}, {"telephone", XK_telephone}, {"telephonerecorder", XK_telephonerecorder}, {"phonographcopyright", XK_phonographcopyright}, {"caret", XK_caret}, {"singlelowquotemark", XK_singlelowquotemark}, {"doublelowquotemark", XK_doublelowquotemark}, {"cursor", XK_cursor}, #endif /* XK_PUBLISHING */ #ifdef XK_APL {"leftcaret", XK_leftcaret}, {"rightcaret", XK_rightcaret}, {"downcaret", XK_downcaret}, {"upcaret", XK_upcaret}, {"overbar", XK_overbar}, {"downtack", XK_downtack}, {"upshoe", XK_upshoe}, {"downstile", XK_downstile}, {"underbar", XK_underbar}, {"jot", XK_jot}, {"quad", XK_quad}, {"uptack", XK_uptack}, {"circle", XK_circle}, {"upstile", XK_upstile}, {"downshoe", XK_downshoe}, {"rightshoe", XK_rightshoe}, {"leftshoe", XK_leftshoe}, {"lefttack", XK_lefttack}, {"righttack", XK_righttack}, #endif /* XK_APL */ #ifdef XK_HEBREW {"hebrew_doublelowline", XK_hebrew_doublelowline}, {"hebrew_aleph", XK_hebrew_aleph}, {"hebrew_bet", XK_hebrew_bet}, {"hebrew_beth", XK_hebrew_beth}, {"hebrew_gimel", XK_hebrew_gimel}, {"hebrew_gimmel", XK_hebrew_gimmel}, {"hebrew_dalet", XK_hebrew_dalet}, {"hebrew_daleth", XK_hebrew_daleth}, {"hebrew_he", XK_hebrew_he}, {"hebrew_waw", XK_hebrew_waw}, {"hebrew_zain", XK_hebrew_zain}, {"hebrew_zayin", XK_hebrew_zayin}, {"hebrew_chet", XK_hebrew_chet}, {"hebrew_het", XK_hebrew_het}, {"hebrew_tet", XK_hebrew_tet}, {"hebrew_teth", XK_hebrew_teth}, {"hebrew_yod", XK_hebrew_yod}, {"hebrew_finalkaph", XK_hebrew_finalkaph}, {"hebrew_kaph", XK_hebrew_kaph}, {"hebrew_lamed", XK_hebrew_lamed}, {"hebrew_finalmem", XK_hebrew_finalmem}, {"hebrew_mem", XK_hebrew_mem}, {"hebrew_finalnun", XK_hebrew_finalnun}, {"hebrew_nun", XK_hebrew_nun}, {"hebrew_samech", XK_hebrew_samech}, {"hebrew_samekh", XK_hebrew_samekh}, {"hebrew_ayin", XK_hebrew_ayin}, {"hebrew_finalpe", XK_hebrew_finalpe}, {"hebrew_pe", XK_hebrew_pe}, {"hebrew_finalzade", XK_hebrew_finalzade}, {"hebrew_finalzadi", XK_hebrew_finalzadi}, {"hebrew_zade", XK_hebrew_zade}, {"hebrew_zadi", XK_hebrew_zadi}, {"hebrew_qoph", XK_hebrew_qoph}, {"hebrew_kuf", XK_hebrew_kuf}, {"hebrew_resh", XK_hebrew_resh}, {"hebrew_shin", XK_hebrew_shin}, {"hebrew_taw", XK_hebrew_taw}, {"hebrew_taf", XK_hebrew_taf}, {"Hebrew_switch", XK_Hebrew_switch}, #endif /* XK_HEBREW */ #ifdef XK_THAI {"Thai_kokai", XK_Thai_kokai}, {"Thai_khokhai", XK_Thai_khokhai}, {"Thai_khokhuat", XK_Thai_khokhuat}, {"Thai_khokhwai", XK_Thai_khokhwai}, {"Thai_khokhon", XK_Thai_khokhon}, {"Thai_khorakhang", XK_Thai_khorakhang}, {"Thai_ngongu", XK_Thai_ngongu}, {"Thai_chochan", XK_Thai_chochan}, {"Thai_choching", XK_Thai_choching}, {"Thai_chochang", XK_Thai_chochang}, {"Thai_soso", XK_Thai_soso}, {"Thai_chochoe", XK_Thai_chochoe}, {"Thai_yoying", XK_Thai_yoying}, {"Thai_dochada", XK_Thai_dochada}, {"Thai_topatak", XK_Thai_topatak}, {"Thai_thothan", XK_Thai_thothan}, {"Thai_thonangmontho", XK_Thai_thonangmontho}, {"Thai_thophuthao", XK_Thai_thophuthao}, {"Thai_nonen", XK_Thai_nonen}, {"Thai_dodek", XK_Thai_dodek}, {"Thai_totao", XK_Thai_totao}, {"Thai_thothung", XK_Thai_thothung}, {"Thai_thothahan", XK_Thai_thothahan}, {"Thai_thothong", XK_Thai_thothong}, {"Thai_nonu", XK_Thai_nonu}, {"Thai_bobaimai", XK_Thai_bobaimai}, {"Thai_popla", XK_Thai_popla}, {"Thai_phophung", XK_Thai_phophung}, {"Thai_fofa", XK_Thai_fofa}, {"Thai_phophan", XK_Thai_phophan}, {"Thai_fofan", XK_Thai_fofan}, {"Thai_phosamphao", XK_Thai_phosamphao}, {"Thai_moma", XK_Thai_moma}, {"Thai_yoyak", XK_Thai_yoyak}, {"Thai_rorua", XK_Thai_rorua}, {"Thai_ru", XK_Thai_ru}, {"Thai_loling", XK_Thai_loling}, {"Thai_lu", XK_Thai_lu}, {"Thai_wowaen", XK_Thai_wowaen}, {"Thai_sosala", XK_Thai_sosala}, {"Thai_sorusi", XK_Thai_sorusi}, {"Thai_sosua", XK_Thai_sosua}, {"Thai_hohip", XK_Thai_hohip}, {"Thai_lochula", XK_Thai_lochula}, {"Thai_oang", XK_Thai_oang}, {"Thai_honokhuk", XK_Thai_honokhuk}, {"Thai_paiyannoi", XK_Thai_paiyannoi}, {"Thai_saraa", XK_Thai_saraa}, {"Thai_maihanakat", XK_Thai_maihanakat}, {"Thai_saraaa", XK_Thai_saraaa}, {"Thai_saraam", XK_Thai_saraam}, {"Thai_sarai", XK_Thai_sarai}, {"Thai_saraii", XK_Thai_saraii}, {"Thai_saraue", XK_Thai_saraue}, {"Thai_sarauee", XK_Thai_sarauee}, {"Thai_sarau", XK_Thai_sarau}, {"Thai_sarauu", XK_Thai_sarauu}, {"Thai_phinthu", XK_Thai_phinthu}, {"Thai_maihanakat_maitho", XK_Thai_maihanakat_maitho}, {"Thai_baht", XK_Thai_baht}, {"Thai_sarae", XK_Thai_sarae}, {"Thai_saraae", XK_Thai_saraae}, {"Thai_sarao", XK_Thai_sarao}, {"Thai_saraaimaimuan", XK_Thai_saraaimaimuan}, {"Thai_saraaimaimalai", XK_Thai_saraaimaimalai}, {"Thai_lakkhangyao", XK_Thai_lakkhangyao}, {"Thai_maiyamok", XK_Thai_maiyamok}, {"Thai_maitaikhu", XK_Thai_maitaikhu}, {"Thai_maiek", XK_Thai_maiek}, {"Thai_maitho", XK_Thai_maitho}, {"Thai_maitri", XK_Thai_maitri}, {"Thai_maichattawa", XK_Thai_maichattawa}, {"Thai_thanthakhat", XK_Thai_thanthakhat}, {"Thai_nikhahit", XK_Thai_nikhahit}, {"Thai_leksun", XK_Thai_leksun}, {"Thai_leknung", XK_Thai_leknung}, {"Thai_leksong", XK_Thai_leksong}, {"Thai_leksam", XK_Thai_leksam}, {"Thai_leksi", XK_Thai_leksi}, {"Thai_lekha", XK_Thai_lekha}, {"Thai_lekhok", XK_Thai_lekhok}, {"Thai_lekchet", XK_Thai_lekchet}, {"Thai_lekpaet", XK_Thai_lekpaet}, {"Thai_lekkao", XK_Thai_lekkao}, #endif /* XK_THAI */ #ifdef XK_KOREAN {"Hangul", XK_Hangul}, {"Hangul_Start", XK_Hangul_Start}, {"Hangul_End", XK_Hangul_End}, {"Hangul_Hanja", XK_Hangul_Hanja}, {"Hangul_Jamo", XK_Hangul_Jamo}, {"Hangul_Romaja", XK_Hangul_Romaja}, {"Hangul_Codeinput", XK_Hangul_Codeinput}, {"Hangul_Jeonja", XK_Hangul_Jeonja}, {"Hangul_Banja", XK_Hangul_Banja}, {"Hangul_PreHanja", XK_Hangul_PreHanja}, {"Hangul_PostHanja", XK_Hangul_PostHanja}, {"Hangul_SingleCandidate", XK_Hangul_SingleCandidate}, {"Hangul_MultipleCandidate", XK_Hangul_MultipleCandidate}, {"Hangul_PreviousCandidate", XK_Hangul_PreviousCandidate}, {"Hangul_Special", XK_Hangul_Special}, {"Hangul_switch", XK_Hangul_switch}, {"Hangul_Kiyeog", XK_Hangul_Kiyeog}, {"Hangul_SsangKiyeog", XK_Hangul_SsangKiyeog}, {"Hangul_KiyeogSios", XK_Hangul_KiyeogSios}, {"Hangul_Nieun", XK_Hangul_Nieun}, {"Hangul_NieunJieuj", XK_Hangul_NieunJieuj}, {"Hangul_NieunHieuh", XK_Hangul_NieunHieuh}, {"Hangul_Dikeud", XK_Hangul_Dikeud}, {"Hangul_SsangDikeud", XK_Hangul_SsangDikeud}, {"Hangul_Rieul", XK_Hangul_Rieul}, {"Hangul_RieulKiyeog", XK_Hangul_RieulKiyeog}, {"Hangul_RieulMieum", XK_Hangul_RieulMieum}, {"Hangul_RieulPieub", XK_Hangul_RieulPieub}, {"Hangul_RieulSios", XK_Hangul_RieulSios}, {"Hangul_RieulTieut", XK_Hangul_RieulTieut}, {"Hangul_RieulPhieuf", XK_Hangul_RieulPhieuf}, {"Hangul_RieulHieuh", XK_Hangul_RieulHieuh}, {"Hangul_Mieum", XK_Hangul_Mieum}, {"Hangul_Pieub", XK_Hangul_Pieub}, {"Hangul_SsangPieub", XK_Hangul_SsangPieub}, {"Hangul_PieubSios", XK_Hangul_PieubSios}, {"Hangul_Sios", XK_Hangul_Sios}, {"Hangul_SsangSios", XK_Hangul_SsangSios}, {"Hangul_Ieung", XK_Hangul_Ieung}, {"Hangul_Jieuj", XK_Hangul_Jieuj}, {"Hangul_SsangJieuj", XK_Hangul_SsangJieuj}, {"Hangul_Cieuc", XK_Hangul_Cieuc}, {"Hangul_Khieuq", XK_Hangul_Khieuq}, {"Hangul_Tieut", XK_Hangul_Tieut}, {"Hangul_Phieuf", XK_Hangul_Phieuf}, {"Hangul_Hieuh", XK_Hangul_Hieuh}, {"Hangul_A", XK_Hangul_A}, {"Hangul_AE", XK_Hangul_AE}, {"Hangul_YA", XK_Hangul_YA}, {"Hangul_YAE", XK_Hangul_YAE}, {"Hangul_EO", XK_Hangul_EO}, {"Hangul_E", XK_Hangul_E}, {"Hangul_YEO", XK_Hangul_YEO}, {"Hangul_YE", XK_Hangul_YE}, {"Hangul_O", XK_Hangul_O}, {"Hangul_WA", XK_Hangul_WA}, {"Hangul_WAE", XK_Hangul_WAE}, {"Hangul_OE", XK_Hangul_OE}, {"Hangul_YO", XK_Hangul_YO}, {"Hangul_U", XK_Hangul_U}, {"Hangul_WEO", XK_Hangul_WEO}, {"Hangul_WE", XK_Hangul_WE}, {"Hangul_WI", XK_Hangul_WI}, {"Hangul_YU", XK_Hangul_YU}, {"Hangul_EU", XK_Hangul_EU}, {"Hangul_YI", XK_Hangul_YI}, {"Hangul_I", XK_Hangul_I}, {"Hangul_J_Kiyeog", XK_Hangul_J_Kiyeog}, {"Hangul_J_SsangKiyeog", XK_Hangul_J_SsangKiyeog}, {"Hangul_J_KiyeogSios", XK_Hangul_J_KiyeogSios}, {"Hangul_J_Nieun", XK_Hangul_J_Nieun}, {"Hangul_J_NieunJieuj", XK_Hangul_J_NieunJieuj}, {"Hangul_J_NieunHieuh", XK_Hangul_J_NieunHieuh}, {"Hangul_J_Dikeud", XK_Hangul_J_Dikeud}, {"Hangul_J_Rieul", XK_Hangul_J_Rieul}, {"Hangul_J_RieulKiyeog", XK_Hangul_J_RieulKiyeog}, {"Hangul_J_RieulMieum", XK_Hangul_J_RieulMieum}, {"Hangul_J_RieulPieub", XK_Hangul_J_RieulPieub}, {"Hangul_J_RieulSios", XK_Hangul_J_RieulSios}, {"Hangul_J_RieulTieut", XK_Hangul_J_RieulTieut}, {"Hangul_J_RieulPhieuf", XK_Hangul_J_RieulPhieuf}, {"Hangul_J_RieulHieuh", XK_Hangul_J_RieulHieuh}, {"Hangul_J_Mieum", XK_Hangul_J_Mieum}, {"Hangul_J_Pieub", XK_Hangul_J_Pieub}, {"Hangul_J_PieubSios", XK_Hangul_J_PieubSios}, {"Hangul_J_Sios", XK_Hangul_J_Sios}, {"Hangul_J_SsangSios", XK_Hangul_J_SsangSios}, {"Hangul_J_Ieung", XK_Hangul_J_Ieung}, {"Hangul_J_Jieuj", XK_Hangul_J_Jieuj}, {"Hangul_J_Cieuc", XK_Hangul_J_Cieuc}, {"Hangul_J_Khieuq", XK_Hangul_J_Khieuq}, {"Hangul_J_Tieut", XK_Hangul_J_Tieut}, {"Hangul_J_Phieuf", XK_Hangul_J_Phieuf}, {"Hangul_J_Hieuh", XK_Hangul_J_Hieuh}, {"Hangul_RieulYeorinHieuh", XK_Hangul_RieulYeorinHieuh}, {"Hangul_SunkyeongeumMieum", XK_Hangul_SunkyeongeumMieum}, {"Hangul_SunkyeongeumPieub", XK_Hangul_SunkyeongeumPieub}, {"Hangul_PanSios", XK_Hangul_PanSios}, {"Hangul_KkogjiDalrinIeung", XK_Hangul_KkogjiDalrinIeung}, {"Hangul_SunkyeongeumPhieuf", XK_Hangul_SunkyeongeumPhieuf}, {"Hangul_YeorinHieuh", XK_Hangul_YeorinHieuh}, {"Hangul_AraeA", XK_Hangul_AraeA}, {"Hangul_AraeAE", XK_Hangul_AraeAE}, {"Hangul_J_PanSios", XK_Hangul_J_PanSios}, {"Hangul_J_KkogjiDalrinIeung", XK_Hangul_J_KkogjiDalrinIeung}, {"Hangul_J_YeorinHieuh", XK_Hangul_J_YeorinHieuh}, {"Korean_Won", XK_Korean_Won}, #endif /* XK_KOREAN */ {"EuroSign", XK_EuroSign}, #endif {"NoSymbol", NoSymbol} }; KeySym XStringToKeysym(const char *str) { int i; for (i = 0; StringToKeysym[i].keysym != NoSymbol && strcmp(StringToKeysym[i].string, str); i++); return StringToKeysym[i].keysym; } const char * XKeysymToString(KeySym keysym) { int i; for (i = 0; StringToKeysym[i].keysym != NoSymbol && StringToKeysym[i].keysym != keysym; i++); return StringToKeysym[i].string; } void XDisplayKeycodes(Display * display, int *min_keycode, int *max_keycode) { /* VNC keycodes are non-existant */ *min_keycode = 0xffff; *max_keycode = 0; }