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