#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 (<KS>) {
	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;
}

