From 560e51efb5655d7b85bac381e5780a8d863a0f57 Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Wed, 30 Nov 2016 02:05:33 +0900 Subject: [PATCH] Define X11 keysym constants --- mrblib/xkremap/event_handler.rb | 10 +- mrblib/xkremap/key_remap_compiler.rb | 2 +- src/x11_constants.c | 2166 ++++++++++++++++++++++++++ src/xkremap_gem.c | 3 +- 4 files changed, 2174 insertions(+), 7 deletions(-) create mode 100644 src/x11_constants.c diff --git a/mrblib/xkremap/event_handler.rb b/mrblib/xkremap/event_handler.rb index 2986cc0..cee7703 100644 --- a/mrblib/xkremap/event_handler.rb +++ b/mrblib/xkremap/event_handler.rb @@ -3,14 +3,14 @@ module Xkremap # @param [Xkremap::Config] config # @param [Xkremap::Display] display def initialize(config, display) - @active_window = ActiveWindow.new(display) - @grab_manager = GrabManager.new(display) - @remap_compiler = KeyRemapCompiler.new(config, display) + @active_window = ActiveWindow.new(display) + @grab_manager = GrabManager.new(display) + @key_remap_compiler = KeyRemapCompiler.new(config, display) remap_keys end def handle_key_press(keycode, state) - handler = @remap_handlers[keycode][state] + handler = @key_press_handlers[keycode][state] if handler handler.call else @@ -32,7 +32,7 @@ module Xkremap private def remap_keys - @remap_handlers = @remap_compiler.compile + @key_press_handlers = @key_remap_compiler.compile @grab_manager.grab_keys puts 'remap keys!' end diff --git a/mrblib/xkremap/key_remap_compiler.rb b/mrblib/xkremap/key_remap_compiler.rb index 4b4c53d..521c8b8 100644 --- a/mrblib/xkremap/key_remap_compiler.rb +++ b/mrblib/xkremap/key_remap_compiler.rb @@ -18,7 +18,7 @@ module Xkremap display = @display # C-b -> Left - result[to_keycode(0x0062)][1<<2] = Proc.new do + result[to_keycode(X11::XK_b)][1<<2] = Proc.new do XlibWrapper.input_key(display, 0xff51, 0) end end diff --git a/src/x11_constants.c b/src/x11_constants.c new file mode 100644 index 0000000..1846e60 --- /dev/null +++ b/src/x11_constants.c @@ -0,0 +1,2166 @@ +#include +#include "mruby.h" + +void +mrb_xkremap_x11_constants_init(mrb_state *mrb, struct RClass *mXkremap) +{ + struct RClass *mX11 = mrb_define_module_under(mrb, mXkremap, "X11"); +# define define_x11_const(name) mrb_define_const(mrb, mX11, #name, mrb_fixnum_value(name)) + + // cat /usr/include/X11/keysymdef.h| ruby -e 'puts STDIN.read.split("\n").select {|l| l.match(/\A(#define XK_|#ifdef|#endif)/) }.map{|l| l.match(/\A#define XK_/) ? %Q[ define_x11_const(#{l.split(" ")[1]});] : l }.join("\n")' + define_x11_const(XK_VoidSymbol); +#ifdef XK_MISCELLANY + define_x11_const(XK_BackSpace); + define_x11_const(XK_Tab); + define_x11_const(XK_Linefeed); + define_x11_const(XK_Clear); + define_x11_const(XK_Return); + define_x11_const(XK_Pause); + define_x11_const(XK_Scroll_Lock); + define_x11_const(XK_Sys_Req); + define_x11_const(XK_Escape); + define_x11_const(XK_Delete); + define_x11_const(XK_Multi_key); + define_x11_const(XK_Codeinput); + define_x11_const(XK_SingleCandidate); + define_x11_const(XK_MultipleCandidate); + define_x11_const(XK_PreviousCandidate); + define_x11_const(XK_Kanji); + define_x11_const(XK_Muhenkan); + define_x11_const(XK_Henkan_Mode); + define_x11_const(XK_Henkan); + define_x11_const(XK_Romaji); + define_x11_const(XK_Hiragana); + define_x11_const(XK_Katakana); + define_x11_const(XK_Hiragana_Katakana); + define_x11_const(XK_Zenkaku); + define_x11_const(XK_Hankaku); + define_x11_const(XK_Zenkaku_Hankaku); + define_x11_const(XK_Touroku); + define_x11_const(XK_Massyo); + define_x11_const(XK_Kana_Lock); + define_x11_const(XK_Kana_Shift); + define_x11_const(XK_Eisu_Shift); + define_x11_const(XK_Eisu_toggle); + define_x11_const(XK_Kanji_Bangou); + define_x11_const(XK_Zen_Koho); + define_x11_const(XK_Mae_Koho); + define_x11_const(XK_Home); + define_x11_const(XK_Left); + define_x11_const(XK_Up); + define_x11_const(XK_Right); + define_x11_const(XK_Down); + define_x11_const(XK_Prior); + define_x11_const(XK_Page_Up); + define_x11_const(XK_Next); + define_x11_const(XK_Page_Down); + define_x11_const(XK_End); + define_x11_const(XK_Begin); + define_x11_const(XK_Select); + define_x11_const(XK_Print); + define_x11_const(XK_Execute); + define_x11_const(XK_Insert); + define_x11_const(XK_Undo); + define_x11_const(XK_Redo); + define_x11_const(XK_Menu); + define_x11_const(XK_Find); + define_x11_const(XK_Cancel); + define_x11_const(XK_Help); + define_x11_const(XK_Break); + define_x11_const(XK_Mode_switch); + define_x11_const(XK_script_switch); + define_x11_const(XK_Num_Lock); + define_x11_const(XK_KP_Space); + define_x11_const(XK_KP_Tab); + define_x11_const(XK_KP_Enter); + define_x11_const(XK_KP_F1); + define_x11_const(XK_KP_F2); + define_x11_const(XK_KP_F3); + define_x11_const(XK_KP_F4); + define_x11_const(XK_KP_Home); + define_x11_const(XK_KP_Left); + define_x11_const(XK_KP_Up); + define_x11_const(XK_KP_Right); + define_x11_const(XK_KP_Down); + define_x11_const(XK_KP_Prior); + define_x11_const(XK_KP_Page_Up); + define_x11_const(XK_KP_Next); + define_x11_const(XK_KP_Page_Down); + define_x11_const(XK_KP_End); + define_x11_const(XK_KP_Begin); + define_x11_const(XK_KP_Insert); + define_x11_const(XK_KP_Delete); + define_x11_const(XK_KP_Equal); + define_x11_const(XK_KP_Multiply); + define_x11_const(XK_KP_Add); + define_x11_const(XK_KP_Separator); + define_x11_const(XK_KP_Subtract); + define_x11_const(XK_KP_Decimal); + define_x11_const(XK_KP_Divide); + define_x11_const(XK_KP_0); + define_x11_const(XK_KP_1); + define_x11_const(XK_KP_2); + define_x11_const(XK_KP_3); + define_x11_const(XK_KP_4); + define_x11_const(XK_KP_5); + define_x11_const(XK_KP_6); + define_x11_const(XK_KP_7); + define_x11_const(XK_KP_8); + define_x11_const(XK_KP_9); + define_x11_const(XK_F1); + define_x11_const(XK_F2); + define_x11_const(XK_F3); + define_x11_const(XK_F4); + define_x11_const(XK_F5); + define_x11_const(XK_F6); + define_x11_const(XK_F7); + define_x11_const(XK_F8); + define_x11_const(XK_F9); + define_x11_const(XK_F10); + define_x11_const(XK_F11); + define_x11_const(XK_L1); + define_x11_const(XK_F12); + define_x11_const(XK_L2); + define_x11_const(XK_F13); + define_x11_const(XK_L3); + define_x11_const(XK_F14); + define_x11_const(XK_L4); + define_x11_const(XK_F15); + define_x11_const(XK_L5); + define_x11_const(XK_F16); + define_x11_const(XK_L6); + define_x11_const(XK_F17); + define_x11_const(XK_L7); + define_x11_const(XK_F18); + define_x11_const(XK_L8); + define_x11_const(XK_F19); + define_x11_const(XK_L9); + define_x11_const(XK_F20); + define_x11_const(XK_L10); + define_x11_const(XK_F21); + define_x11_const(XK_R1); + define_x11_const(XK_F22); + define_x11_const(XK_R2); + define_x11_const(XK_F23); + define_x11_const(XK_R3); + define_x11_const(XK_F24); + define_x11_const(XK_R4); + define_x11_const(XK_F25); + define_x11_const(XK_R5); + define_x11_const(XK_F26); + define_x11_const(XK_R6); + define_x11_const(XK_F27); + define_x11_const(XK_R7); + define_x11_const(XK_F28); + define_x11_const(XK_R8); + define_x11_const(XK_F29); + define_x11_const(XK_R9); + define_x11_const(XK_F30); + define_x11_const(XK_R10); + define_x11_const(XK_F31); + define_x11_const(XK_R11); + define_x11_const(XK_F32); + define_x11_const(XK_R12); + define_x11_const(XK_F33); + define_x11_const(XK_R13); + define_x11_const(XK_F34); + define_x11_const(XK_R14); + define_x11_const(XK_F35); + define_x11_const(XK_R15); + define_x11_const(XK_Shift_L); + define_x11_const(XK_Shift_R); + define_x11_const(XK_Control_L); + define_x11_const(XK_Control_R); + define_x11_const(XK_Caps_Lock); + define_x11_const(XK_Shift_Lock); + define_x11_const(XK_Meta_L); + define_x11_const(XK_Meta_R); + define_x11_const(XK_Alt_L); + define_x11_const(XK_Alt_R); + define_x11_const(XK_Super_L); + define_x11_const(XK_Super_R); + define_x11_const(XK_Hyper_L); + define_x11_const(XK_Hyper_R); +#endif /* XK_MISCELLANY */ +#ifdef XK_XKB_KEYS + define_x11_const(XK_ISO_Lock); + define_x11_const(XK_ISO_Level2_Latch); + define_x11_const(XK_ISO_Level3_Shift); + define_x11_const(XK_ISO_Level3_Latch); + define_x11_const(XK_ISO_Level3_Lock); + define_x11_const(XK_ISO_Level5_Shift); + define_x11_const(XK_ISO_Level5_Latch); + define_x11_const(XK_ISO_Level5_Lock); + define_x11_const(XK_ISO_Group_Shift); + define_x11_const(XK_ISO_Group_Latch); + define_x11_const(XK_ISO_Group_Lock); + define_x11_const(XK_ISO_Next_Group); + define_x11_const(XK_ISO_Next_Group_Lock); + define_x11_const(XK_ISO_Prev_Group); + define_x11_const(XK_ISO_Prev_Group_Lock); + define_x11_const(XK_ISO_First_Group); + define_x11_const(XK_ISO_First_Group_Lock); + define_x11_const(XK_ISO_Last_Group); + define_x11_const(XK_ISO_Last_Group_Lock); + define_x11_const(XK_ISO_Left_Tab); + define_x11_const(XK_ISO_Move_Line_Up); + define_x11_const(XK_ISO_Move_Line_Down); + define_x11_const(XK_ISO_Partial_Line_Up); + define_x11_const(XK_ISO_Partial_Line_Down); + define_x11_const(XK_ISO_Partial_Space_Left); + define_x11_const(XK_ISO_Partial_Space_Right); + define_x11_const(XK_ISO_Set_Margin_Left); + define_x11_const(XK_ISO_Set_Margin_Right); + define_x11_const(XK_ISO_Release_Margin_Left); + define_x11_const(XK_ISO_Release_Margin_Right); + define_x11_const(XK_ISO_Release_Both_Margins); + define_x11_const(XK_ISO_Fast_Cursor_Left); + define_x11_const(XK_ISO_Fast_Cursor_Right); + define_x11_const(XK_ISO_Fast_Cursor_Up); + define_x11_const(XK_ISO_Fast_Cursor_Down); + define_x11_const(XK_ISO_Continuous_Underline); + define_x11_const(XK_ISO_Discontinuous_Underline); + define_x11_const(XK_ISO_Emphasize); + define_x11_const(XK_ISO_Center_Object); + define_x11_const(XK_ISO_Enter); + define_x11_const(XK_dead_grave); + define_x11_const(XK_dead_acute); + define_x11_const(XK_dead_circumflex); + define_x11_const(XK_dead_tilde); + define_x11_const(XK_dead_perispomeni); + define_x11_const(XK_dead_macron); + define_x11_const(XK_dead_breve); + define_x11_const(XK_dead_abovedot); + define_x11_const(XK_dead_diaeresis); + define_x11_const(XK_dead_abovering); + define_x11_const(XK_dead_doubleacute); + define_x11_const(XK_dead_caron); + define_x11_const(XK_dead_cedilla); + define_x11_const(XK_dead_ogonek); + define_x11_const(XK_dead_iota); + define_x11_const(XK_dead_voiced_sound); + define_x11_const(XK_dead_semivoiced_sound); + define_x11_const(XK_dead_belowdot); + define_x11_const(XK_dead_hook); + define_x11_const(XK_dead_horn); + define_x11_const(XK_dead_stroke); + define_x11_const(XK_dead_abovecomma); + define_x11_const(XK_dead_psili); + define_x11_const(XK_dead_abovereversedcomma); + define_x11_const(XK_dead_dasia); + define_x11_const(XK_dead_doublegrave); + define_x11_const(XK_dead_belowring); + define_x11_const(XK_dead_belowmacron); + define_x11_const(XK_dead_belowcircumflex); + define_x11_const(XK_dead_belowtilde); + define_x11_const(XK_dead_belowbreve); + define_x11_const(XK_dead_belowdiaeresis); + define_x11_const(XK_dead_invertedbreve); + define_x11_const(XK_dead_belowcomma); + define_x11_const(XK_dead_currency); + define_x11_const(XK_dead_lowline); + define_x11_const(XK_dead_aboveverticalline); + define_x11_const(XK_dead_belowverticalline); + define_x11_const(XK_dead_longsolidusoverlay); + define_x11_const(XK_dead_a); + define_x11_const(XK_dead_A); + define_x11_const(XK_dead_e); + define_x11_const(XK_dead_E); + define_x11_const(XK_dead_i); + define_x11_const(XK_dead_I); + define_x11_const(XK_dead_o); + define_x11_const(XK_dead_O); + define_x11_const(XK_dead_u); + define_x11_const(XK_dead_U); + define_x11_const(XK_dead_small_schwa); + define_x11_const(XK_dead_capital_schwa); + define_x11_const(XK_dead_greek); + define_x11_const(XK_First_Virtual_Screen); + define_x11_const(XK_Prev_Virtual_Screen); + define_x11_const(XK_Next_Virtual_Screen); + define_x11_const(XK_Last_Virtual_Screen); + define_x11_const(XK_Terminate_Server); + define_x11_const(XK_AccessX_Enable); + define_x11_const(XK_AccessX_Feedback_Enable); + define_x11_const(XK_RepeatKeys_Enable); + define_x11_const(XK_SlowKeys_Enable); + define_x11_const(XK_BounceKeys_Enable); + define_x11_const(XK_StickyKeys_Enable); + define_x11_const(XK_MouseKeys_Enable); + define_x11_const(XK_MouseKeys_Accel_Enable); + define_x11_const(XK_Overlay1_Enable); + define_x11_const(XK_Overlay2_Enable); + define_x11_const(XK_AudibleBell_Enable); + define_x11_const(XK_Pointer_Left); + define_x11_const(XK_Pointer_Right); + define_x11_const(XK_Pointer_Up); + define_x11_const(XK_Pointer_Down); + define_x11_const(XK_Pointer_UpLeft); + define_x11_const(XK_Pointer_UpRight); + define_x11_const(XK_Pointer_DownLeft); + define_x11_const(XK_Pointer_DownRight); + define_x11_const(XK_Pointer_Button_Dflt); + define_x11_const(XK_Pointer_Button1); + define_x11_const(XK_Pointer_Button2); + define_x11_const(XK_Pointer_Button3); + define_x11_const(XK_Pointer_Button4); + define_x11_const(XK_Pointer_Button5); + define_x11_const(XK_Pointer_DblClick_Dflt); + define_x11_const(XK_Pointer_DblClick1); + define_x11_const(XK_Pointer_DblClick2); + define_x11_const(XK_Pointer_DblClick3); + define_x11_const(XK_Pointer_DblClick4); + define_x11_const(XK_Pointer_DblClick5); + define_x11_const(XK_Pointer_Drag_Dflt); + define_x11_const(XK_Pointer_Drag1); + define_x11_const(XK_Pointer_Drag2); + define_x11_const(XK_Pointer_Drag3); + define_x11_const(XK_Pointer_Drag4); + define_x11_const(XK_Pointer_Drag5); + define_x11_const(XK_Pointer_EnableKeys); + define_x11_const(XK_Pointer_Accelerate); + define_x11_const(XK_Pointer_DfltBtnNext); + define_x11_const(XK_Pointer_DfltBtnPrev); + define_x11_const(XK_ch); + define_x11_const(XK_Ch); + define_x11_const(XK_CH); + define_x11_const(XK_c_h); + define_x11_const(XK_C_h); + define_x11_const(XK_C_H); +#endif /* XK_XKB_KEYS */ +#ifdef XK_3270 + define_x11_const(XK_3270_Duplicate); + define_x11_const(XK_3270_FieldMark); + define_x11_const(XK_3270_Right2); + define_x11_const(XK_3270_Left2); + define_x11_const(XK_3270_BackTab); + define_x11_const(XK_3270_EraseEOF); + define_x11_const(XK_3270_EraseInput); + define_x11_const(XK_3270_Reset); + define_x11_const(XK_3270_Quit); + define_x11_const(XK_3270_PA1); + define_x11_const(XK_3270_PA2); + define_x11_const(XK_3270_PA3); + define_x11_const(XK_3270_Test); + define_x11_const(XK_3270_Attn); + define_x11_const(XK_3270_CursorBlink); + define_x11_const(XK_3270_AltCursor); + define_x11_const(XK_3270_KeyClick); + define_x11_const(XK_3270_Jump); + define_x11_const(XK_3270_Ident); + define_x11_const(XK_3270_Rule); + define_x11_const(XK_3270_Copy); + define_x11_const(XK_3270_Play); + define_x11_const(XK_3270_Setup); + define_x11_const(XK_3270_Record); + define_x11_const(XK_3270_ChangeScreen); + define_x11_const(XK_3270_DeleteWord); + define_x11_const(XK_3270_ExSelect); + define_x11_const(XK_3270_CursorSelect); + define_x11_const(XK_3270_PrintScreen); + define_x11_const(XK_3270_Enter); +#endif /* XK_3270 */ +#ifdef XK_LATIN1 + define_x11_const(XK_space); + define_x11_const(XK_exclam); + define_x11_const(XK_quotedbl); + define_x11_const(XK_numbersign); + define_x11_const(XK_dollar); + define_x11_const(XK_percent); + define_x11_const(XK_ampersand); + define_x11_const(XK_apostrophe); + define_x11_const(XK_quoteright); + define_x11_const(XK_parenleft); + define_x11_const(XK_parenright); + define_x11_const(XK_asterisk); + define_x11_const(XK_plus); + define_x11_const(XK_comma); + define_x11_const(XK_minus); + define_x11_const(XK_period); + define_x11_const(XK_slash); + define_x11_const(XK_0); + define_x11_const(XK_1); + define_x11_const(XK_2); + define_x11_const(XK_3); + define_x11_const(XK_4); + define_x11_const(XK_5); + define_x11_const(XK_6); + define_x11_const(XK_7); + define_x11_const(XK_8); + define_x11_const(XK_9); + define_x11_const(XK_colon); + define_x11_const(XK_semicolon); + define_x11_const(XK_less); + define_x11_const(XK_equal); + define_x11_const(XK_greater); + define_x11_const(XK_question); + define_x11_const(XK_at); + define_x11_const(XK_A); + define_x11_const(XK_B); + define_x11_const(XK_C); + define_x11_const(XK_D); + define_x11_const(XK_E); + define_x11_const(XK_F); + define_x11_const(XK_G); + define_x11_const(XK_H); + define_x11_const(XK_I); + define_x11_const(XK_J); + define_x11_const(XK_K); + define_x11_const(XK_L); + define_x11_const(XK_M); + define_x11_const(XK_N); + define_x11_const(XK_O); + define_x11_const(XK_P); + define_x11_const(XK_Q); + define_x11_const(XK_R); + define_x11_const(XK_S); + define_x11_const(XK_T); + define_x11_const(XK_U); + define_x11_const(XK_V); + define_x11_const(XK_W); + define_x11_const(XK_X); + define_x11_const(XK_Y); + define_x11_const(XK_Z); + define_x11_const(XK_bracketleft); + define_x11_const(XK_backslash); + define_x11_const(XK_bracketright); + define_x11_const(XK_asciicircum); + define_x11_const(XK_underscore); + define_x11_const(XK_grave); + define_x11_const(XK_quoteleft); + define_x11_const(XK_a); + define_x11_const(XK_b); + define_x11_const(XK_c); + define_x11_const(XK_d); + define_x11_const(XK_e); + define_x11_const(XK_f); + define_x11_const(XK_g); + define_x11_const(XK_h); + define_x11_const(XK_i); + define_x11_const(XK_j); + define_x11_const(XK_k); + define_x11_const(XK_l); + define_x11_const(XK_m); + define_x11_const(XK_n); + define_x11_const(XK_o); + define_x11_const(XK_p); + define_x11_const(XK_q); + define_x11_const(XK_r); + define_x11_const(XK_s); + define_x11_const(XK_t); + define_x11_const(XK_u); + define_x11_const(XK_v); + define_x11_const(XK_w); + define_x11_const(XK_x); + define_x11_const(XK_y); + define_x11_const(XK_z); + define_x11_const(XK_braceleft); + define_x11_const(XK_bar); + define_x11_const(XK_braceright); + define_x11_const(XK_asciitilde); + define_x11_const(XK_nobreakspace); + define_x11_const(XK_exclamdown); + define_x11_const(XK_cent); + define_x11_const(XK_sterling); + define_x11_const(XK_currency); + define_x11_const(XK_yen); + define_x11_const(XK_brokenbar); + define_x11_const(XK_section); + define_x11_const(XK_diaeresis); + define_x11_const(XK_copyright); + define_x11_const(XK_ordfeminine); + define_x11_const(XK_guillemotleft); + define_x11_const(XK_notsign); + define_x11_const(XK_hyphen); + define_x11_const(XK_registered); + define_x11_const(XK_macron); + define_x11_const(XK_degree); + define_x11_const(XK_plusminus); + define_x11_const(XK_twosuperior); + define_x11_const(XK_threesuperior); + define_x11_const(XK_acute); + define_x11_const(XK_mu); + define_x11_const(XK_paragraph); + define_x11_const(XK_periodcentered); + define_x11_const(XK_cedilla); + define_x11_const(XK_onesuperior); + define_x11_const(XK_masculine); + define_x11_const(XK_guillemotright); + define_x11_const(XK_onequarter); + define_x11_const(XK_onehalf); + define_x11_const(XK_threequarters); + define_x11_const(XK_questiondown); + define_x11_const(XK_Agrave); + define_x11_const(XK_Aacute); + define_x11_const(XK_Acircumflex); + define_x11_const(XK_Atilde); + define_x11_const(XK_Adiaeresis); + define_x11_const(XK_Aring); + define_x11_const(XK_AE); + define_x11_const(XK_Ccedilla); + define_x11_const(XK_Egrave); + define_x11_const(XK_Eacute); + define_x11_const(XK_Ecircumflex); + define_x11_const(XK_Ediaeresis); + define_x11_const(XK_Igrave); + define_x11_const(XK_Iacute); + define_x11_const(XK_Icircumflex); + define_x11_const(XK_Idiaeresis); + define_x11_const(XK_ETH); + define_x11_const(XK_Eth); + define_x11_const(XK_Ntilde); + define_x11_const(XK_Ograve); + define_x11_const(XK_Oacute); + define_x11_const(XK_Ocircumflex); + define_x11_const(XK_Otilde); + define_x11_const(XK_Odiaeresis); + define_x11_const(XK_multiply); + define_x11_const(XK_Oslash); + define_x11_const(XK_Ooblique); + define_x11_const(XK_Ugrave); + define_x11_const(XK_Uacute); + define_x11_const(XK_Ucircumflex); + define_x11_const(XK_Udiaeresis); + define_x11_const(XK_Yacute); + define_x11_const(XK_THORN); + define_x11_const(XK_Thorn); + define_x11_const(XK_ssharp); + define_x11_const(XK_agrave); + define_x11_const(XK_aacute); + define_x11_const(XK_acircumflex); + define_x11_const(XK_atilde); + define_x11_const(XK_adiaeresis); + define_x11_const(XK_aring); + define_x11_const(XK_ae); + define_x11_const(XK_ccedilla); + define_x11_const(XK_egrave); + define_x11_const(XK_eacute); + define_x11_const(XK_ecircumflex); + define_x11_const(XK_ediaeresis); + define_x11_const(XK_igrave); + define_x11_const(XK_iacute); + define_x11_const(XK_icircumflex); + define_x11_const(XK_idiaeresis); + define_x11_const(XK_eth); + define_x11_const(XK_ntilde); + define_x11_const(XK_ograve); + define_x11_const(XK_oacute); + define_x11_const(XK_ocircumflex); + define_x11_const(XK_otilde); + define_x11_const(XK_odiaeresis); + define_x11_const(XK_division); + define_x11_const(XK_oslash); + define_x11_const(XK_ooblique); + define_x11_const(XK_ugrave); + define_x11_const(XK_uacute); + define_x11_const(XK_ucircumflex); + define_x11_const(XK_udiaeresis); + define_x11_const(XK_yacute); + define_x11_const(XK_thorn); + define_x11_const(XK_ydiaeresis); +#endif /* XK_LATIN1 */ +#ifdef XK_LATIN2 + define_x11_const(XK_Aogonek); + define_x11_const(XK_breve); + define_x11_const(XK_Lstroke); + define_x11_const(XK_Lcaron); + define_x11_const(XK_Sacute); + define_x11_const(XK_Scaron); + define_x11_const(XK_Scedilla); + define_x11_const(XK_Tcaron); + define_x11_const(XK_Zacute); + define_x11_const(XK_Zcaron); + define_x11_const(XK_Zabovedot); + define_x11_const(XK_aogonek); + define_x11_const(XK_ogonek); + define_x11_const(XK_lstroke); + define_x11_const(XK_lcaron); + define_x11_const(XK_sacute); + define_x11_const(XK_caron); + define_x11_const(XK_scaron); + define_x11_const(XK_scedilla); + define_x11_const(XK_tcaron); + define_x11_const(XK_zacute); + define_x11_const(XK_doubleacute); + define_x11_const(XK_zcaron); + define_x11_const(XK_zabovedot); + define_x11_const(XK_Racute); + define_x11_const(XK_Abreve); + define_x11_const(XK_Lacute); + define_x11_const(XK_Cacute); + define_x11_const(XK_Ccaron); + define_x11_const(XK_Eogonek); + define_x11_const(XK_Ecaron); + define_x11_const(XK_Dcaron); + define_x11_const(XK_Dstroke); + define_x11_const(XK_Nacute); + define_x11_const(XK_Ncaron); + define_x11_const(XK_Odoubleacute); + define_x11_const(XK_Rcaron); + define_x11_const(XK_Uring); + define_x11_const(XK_Udoubleacute); + define_x11_const(XK_Tcedilla); + define_x11_const(XK_racute); + define_x11_const(XK_abreve); + define_x11_const(XK_lacute); + define_x11_const(XK_cacute); + define_x11_const(XK_ccaron); + define_x11_const(XK_eogonek); + define_x11_const(XK_ecaron); + define_x11_const(XK_dcaron); + define_x11_const(XK_dstroke); + define_x11_const(XK_nacute); + define_x11_const(XK_ncaron); + define_x11_const(XK_odoubleacute); + define_x11_const(XK_rcaron); + define_x11_const(XK_uring); + define_x11_const(XK_udoubleacute); + define_x11_const(XK_tcedilla); + define_x11_const(XK_abovedot); +#endif /* XK_LATIN2 */ +#ifdef XK_LATIN3 + define_x11_const(XK_Hstroke); + define_x11_const(XK_Hcircumflex); + define_x11_const(XK_Iabovedot); + define_x11_const(XK_Gbreve); + define_x11_const(XK_Jcircumflex); + define_x11_const(XK_hstroke); + define_x11_const(XK_hcircumflex); + define_x11_const(XK_idotless); + define_x11_const(XK_gbreve); + define_x11_const(XK_jcircumflex); + define_x11_const(XK_Cabovedot); + define_x11_const(XK_Ccircumflex); + define_x11_const(XK_Gabovedot); + define_x11_const(XK_Gcircumflex); + define_x11_const(XK_Ubreve); + define_x11_const(XK_Scircumflex); + define_x11_const(XK_cabovedot); + define_x11_const(XK_ccircumflex); + define_x11_const(XK_gabovedot); + define_x11_const(XK_gcircumflex); + define_x11_const(XK_ubreve); + define_x11_const(XK_scircumflex); +#endif /* XK_LATIN3 */ +#ifdef XK_LATIN4 + define_x11_const(XK_kra); + define_x11_const(XK_kappa); + define_x11_const(XK_Rcedilla); + define_x11_const(XK_Itilde); + define_x11_const(XK_Lcedilla); + define_x11_const(XK_Emacron); + define_x11_const(XK_Gcedilla); + define_x11_const(XK_Tslash); + define_x11_const(XK_rcedilla); + define_x11_const(XK_itilde); + define_x11_const(XK_lcedilla); + define_x11_const(XK_emacron); + define_x11_const(XK_gcedilla); + define_x11_const(XK_tslash); + define_x11_const(XK_ENG); + define_x11_const(XK_eng); + define_x11_const(XK_Amacron); + define_x11_const(XK_Iogonek); + define_x11_const(XK_Eabovedot); + define_x11_const(XK_Imacron); + define_x11_const(XK_Ncedilla); + define_x11_const(XK_Omacron); + define_x11_const(XK_Kcedilla); + define_x11_const(XK_Uogonek); + define_x11_const(XK_Utilde); + define_x11_const(XK_Umacron); + define_x11_const(XK_amacron); + define_x11_const(XK_iogonek); + define_x11_const(XK_eabovedot); + define_x11_const(XK_imacron); + define_x11_const(XK_ncedilla); + define_x11_const(XK_omacron); + define_x11_const(XK_kcedilla); + define_x11_const(XK_uogonek); + define_x11_const(XK_utilde); + define_x11_const(XK_umacron); +#endif /* XK_LATIN4 */ +#ifdef XK_LATIN8 + define_x11_const(XK_Wcircumflex); + define_x11_const(XK_wcircumflex); + define_x11_const(XK_Ycircumflex); + define_x11_const(XK_ycircumflex); + define_x11_const(XK_Babovedot); + define_x11_const(XK_babovedot); + define_x11_const(XK_Dabovedot); + define_x11_const(XK_dabovedot); + define_x11_const(XK_Fabovedot); + define_x11_const(XK_fabovedot); + define_x11_const(XK_Mabovedot); + define_x11_const(XK_mabovedot); + define_x11_const(XK_Pabovedot); + define_x11_const(XK_pabovedot); + define_x11_const(XK_Sabovedot); + define_x11_const(XK_sabovedot); + define_x11_const(XK_Tabovedot); + define_x11_const(XK_tabovedot); + define_x11_const(XK_Wgrave); + define_x11_const(XK_wgrave); + define_x11_const(XK_Wacute); + define_x11_const(XK_wacute); + define_x11_const(XK_Wdiaeresis); + define_x11_const(XK_wdiaeresis); + define_x11_const(XK_Ygrave); + define_x11_const(XK_ygrave); +#endif /* XK_LATIN8 */ +#ifdef XK_LATIN9 + define_x11_const(XK_OE); + define_x11_const(XK_oe); + define_x11_const(XK_Ydiaeresis); +#endif /* XK_LATIN9 */ +#ifdef XK_KATAKANA + define_x11_const(XK_overline); + define_x11_const(XK_kana_fullstop); + define_x11_const(XK_kana_openingbracket); + define_x11_const(XK_kana_closingbracket); + define_x11_const(XK_kana_comma); + define_x11_const(XK_kana_conjunctive); + define_x11_const(XK_kana_middledot); + define_x11_const(XK_kana_WO); + define_x11_const(XK_kana_a); + define_x11_const(XK_kana_i); + define_x11_const(XK_kana_u); + define_x11_const(XK_kana_e); + define_x11_const(XK_kana_o); + define_x11_const(XK_kana_ya); + define_x11_const(XK_kana_yu); + define_x11_const(XK_kana_yo); + define_x11_const(XK_kana_tsu); + define_x11_const(XK_kana_tu); + define_x11_const(XK_prolongedsound); + define_x11_const(XK_kana_A); + define_x11_const(XK_kana_I); + define_x11_const(XK_kana_U); + define_x11_const(XK_kana_E); + define_x11_const(XK_kana_O); + define_x11_const(XK_kana_KA); + define_x11_const(XK_kana_KI); + define_x11_const(XK_kana_KU); + define_x11_const(XK_kana_KE); + define_x11_const(XK_kana_KO); + define_x11_const(XK_kana_SA); + define_x11_const(XK_kana_SHI); + define_x11_const(XK_kana_SU); + define_x11_const(XK_kana_SE); + define_x11_const(XK_kana_SO); + define_x11_const(XK_kana_TA); + define_x11_const(XK_kana_CHI); + define_x11_const(XK_kana_TI); + define_x11_const(XK_kana_TSU); + define_x11_const(XK_kana_TU); + define_x11_const(XK_kana_TE); + define_x11_const(XK_kana_TO); + define_x11_const(XK_kana_NA); + define_x11_const(XK_kana_NI); + define_x11_const(XK_kana_NU); + define_x11_const(XK_kana_NE); + define_x11_const(XK_kana_NO); + define_x11_const(XK_kana_HA); + define_x11_const(XK_kana_HI); + define_x11_const(XK_kana_FU); + define_x11_const(XK_kana_HU); + define_x11_const(XK_kana_HE); + define_x11_const(XK_kana_HO); + define_x11_const(XK_kana_MA); + define_x11_const(XK_kana_MI); + define_x11_const(XK_kana_MU); + define_x11_const(XK_kana_ME); + define_x11_const(XK_kana_MO); + define_x11_const(XK_kana_YA); + define_x11_const(XK_kana_YU); + define_x11_const(XK_kana_YO); + define_x11_const(XK_kana_RA); + define_x11_const(XK_kana_RI); + define_x11_const(XK_kana_RU); + define_x11_const(XK_kana_RE); + define_x11_const(XK_kana_RO); + define_x11_const(XK_kana_WA); + define_x11_const(XK_kana_N); + define_x11_const(XK_voicedsound); + define_x11_const(XK_semivoicedsound); + define_x11_const(XK_kana_switch); +#endif /* XK_KATAKANA */ +#ifdef XK_ARABIC + define_x11_const(XK_Farsi_0); + define_x11_const(XK_Farsi_1); + define_x11_const(XK_Farsi_2); + define_x11_const(XK_Farsi_3); + define_x11_const(XK_Farsi_4); + define_x11_const(XK_Farsi_5); + define_x11_const(XK_Farsi_6); + define_x11_const(XK_Farsi_7); + define_x11_const(XK_Farsi_8); + define_x11_const(XK_Farsi_9); + define_x11_const(XK_Arabic_percent); + define_x11_const(XK_Arabic_superscript_alef); + define_x11_const(XK_Arabic_tteh); + define_x11_const(XK_Arabic_peh); + define_x11_const(XK_Arabic_tcheh); + define_x11_const(XK_Arabic_ddal); + define_x11_const(XK_Arabic_rreh); + define_x11_const(XK_Arabic_comma); + define_x11_const(XK_Arabic_fullstop); + define_x11_const(XK_Arabic_0); + define_x11_const(XK_Arabic_1); + define_x11_const(XK_Arabic_2); + define_x11_const(XK_Arabic_3); + define_x11_const(XK_Arabic_4); + define_x11_const(XK_Arabic_5); + define_x11_const(XK_Arabic_6); + define_x11_const(XK_Arabic_7); + define_x11_const(XK_Arabic_8); + define_x11_const(XK_Arabic_9); + define_x11_const(XK_Arabic_semicolon); + define_x11_const(XK_Arabic_question_mark); + define_x11_const(XK_Arabic_hamza); + define_x11_const(XK_Arabic_maddaonalef); + define_x11_const(XK_Arabic_hamzaonalef); + define_x11_const(XK_Arabic_hamzaonwaw); + define_x11_const(XK_Arabic_hamzaunderalef); + define_x11_const(XK_Arabic_hamzaonyeh); + define_x11_const(XK_Arabic_alef); + define_x11_const(XK_Arabic_beh); + define_x11_const(XK_Arabic_tehmarbuta); + define_x11_const(XK_Arabic_teh); + define_x11_const(XK_Arabic_theh); + define_x11_const(XK_Arabic_jeem); + define_x11_const(XK_Arabic_hah); + define_x11_const(XK_Arabic_khah); + define_x11_const(XK_Arabic_dal); + define_x11_const(XK_Arabic_thal); + define_x11_const(XK_Arabic_ra); + define_x11_const(XK_Arabic_zain); + define_x11_const(XK_Arabic_seen); + define_x11_const(XK_Arabic_sheen); + define_x11_const(XK_Arabic_sad); + define_x11_const(XK_Arabic_dad); + define_x11_const(XK_Arabic_tah); + define_x11_const(XK_Arabic_zah); + define_x11_const(XK_Arabic_ain); + define_x11_const(XK_Arabic_ghain); + define_x11_const(XK_Arabic_tatweel); + define_x11_const(XK_Arabic_feh); + define_x11_const(XK_Arabic_qaf); + define_x11_const(XK_Arabic_kaf); + define_x11_const(XK_Arabic_lam); + define_x11_const(XK_Arabic_meem); + define_x11_const(XK_Arabic_noon); + define_x11_const(XK_Arabic_ha); + define_x11_const(XK_Arabic_heh); + define_x11_const(XK_Arabic_waw); + define_x11_const(XK_Arabic_alefmaksura); + define_x11_const(XK_Arabic_yeh); + define_x11_const(XK_Arabic_fathatan); + define_x11_const(XK_Arabic_dammatan); + define_x11_const(XK_Arabic_kasratan); + define_x11_const(XK_Arabic_fatha); + define_x11_const(XK_Arabic_damma); + define_x11_const(XK_Arabic_kasra); + define_x11_const(XK_Arabic_shadda); + define_x11_const(XK_Arabic_sukun); + define_x11_const(XK_Arabic_madda_above); + define_x11_const(XK_Arabic_hamza_above); + define_x11_const(XK_Arabic_hamza_below); + define_x11_const(XK_Arabic_jeh); + define_x11_const(XK_Arabic_veh); + define_x11_const(XK_Arabic_keheh); + define_x11_const(XK_Arabic_gaf); + define_x11_const(XK_Arabic_noon_ghunna); + define_x11_const(XK_Arabic_heh_doachashmee); + define_x11_const(XK_Farsi_yeh); + define_x11_const(XK_Arabic_farsi_yeh); + define_x11_const(XK_Arabic_yeh_baree); + define_x11_const(XK_Arabic_heh_goal); + define_x11_const(XK_Arabic_switch); +#endif /* XK_ARABIC */ +#ifdef XK_CYRILLIC + define_x11_const(XK_Cyrillic_GHE_bar); + define_x11_const(XK_Cyrillic_ghe_bar); + define_x11_const(XK_Cyrillic_ZHE_descender); + define_x11_const(XK_Cyrillic_zhe_descender); + define_x11_const(XK_Cyrillic_KA_descender); + define_x11_const(XK_Cyrillic_ka_descender); + define_x11_const(XK_Cyrillic_KA_vertstroke); + define_x11_const(XK_Cyrillic_ka_vertstroke); + define_x11_const(XK_Cyrillic_EN_descender); + define_x11_const(XK_Cyrillic_en_descender); + define_x11_const(XK_Cyrillic_U_straight); + define_x11_const(XK_Cyrillic_u_straight); + define_x11_const(XK_Cyrillic_U_straight_bar); + define_x11_const(XK_Cyrillic_u_straight_bar); + define_x11_const(XK_Cyrillic_HA_descender); + define_x11_const(XK_Cyrillic_ha_descender); + define_x11_const(XK_Cyrillic_CHE_descender); + define_x11_const(XK_Cyrillic_che_descender); + define_x11_const(XK_Cyrillic_CHE_vertstroke); + define_x11_const(XK_Cyrillic_che_vertstroke); + define_x11_const(XK_Cyrillic_SHHA); + define_x11_const(XK_Cyrillic_shha); + define_x11_const(XK_Cyrillic_SCHWA); + define_x11_const(XK_Cyrillic_schwa); + define_x11_const(XK_Cyrillic_I_macron); + define_x11_const(XK_Cyrillic_i_macron); + define_x11_const(XK_Cyrillic_O_bar); + define_x11_const(XK_Cyrillic_o_bar); + define_x11_const(XK_Cyrillic_U_macron); + define_x11_const(XK_Cyrillic_u_macron); + define_x11_const(XK_Serbian_dje); + define_x11_const(XK_Macedonia_gje); + define_x11_const(XK_Cyrillic_io); + define_x11_const(XK_Ukrainian_ie); + define_x11_const(XK_Ukranian_je); + define_x11_const(XK_Macedonia_dse); + define_x11_const(XK_Ukrainian_i); + define_x11_const(XK_Ukranian_i); + define_x11_const(XK_Ukrainian_yi); + define_x11_const(XK_Ukranian_yi); + define_x11_const(XK_Cyrillic_je); + define_x11_const(XK_Serbian_je); + define_x11_const(XK_Cyrillic_lje); + define_x11_const(XK_Serbian_lje); + define_x11_const(XK_Cyrillic_nje); + define_x11_const(XK_Serbian_nje); + define_x11_const(XK_Serbian_tshe); + define_x11_const(XK_Macedonia_kje); + define_x11_const(XK_Ukrainian_ghe_with_upturn); + define_x11_const(XK_Byelorussian_shortu); + define_x11_const(XK_Cyrillic_dzhe); + define_x11_const(XK_Serbian_dze); + define_x11_const(XK_numerosign); + define_x11_const(XK_Serbian_DJE); + define_x11_const(XK_Macedonia_GJE); + define_x11_const(XK_Cyrillic_IO); + define_x11_const(XK_Ukrainian_IE); + define_x11_const(XK_Ukranian_JE); + define_x11_const(XK_Macedonia_DSE); + define_x11_const(XK_Ukrainian_I); + define_x11_const(XK_Ukranian_I); + define_x11_const(XK_Ukrainian_YI); + define_x11_const(XK_Ukranian_YI); + define_x11_const(XK_Cyrillic_JE); + define_x11_const(XK_Serbian_JE); + define_x11_const(XK_Cyrillic_LJE); + define_x11_const(XK_Serbian_LJE); + define_x11_const(XK_Cyrillic_NJE); + define_x11_const(XK_Serbian_NJE); + define_x11_const(XK_Serbian_TSHE); + define_x11_const(XK_Macedonia_KJE); + define_x11_const(XK_Ukrainian_GHE_WITH_UPTURN); + define_x11_const(XK_Byelorussian_SHORTU); + define_x11_const(XK_Cyrillic_DZHE); + define_x11_const(XK_Serbian_DZE); + define_x11_const(XK_Cyrillic_yu); + define_x11_const(XK_Cyrillic_a); + define_x11_const(XK_Cyrillic_be); + define_x11_const(XK_Cyrillic_tse); + define_x11_const(XK_Cyrillic_de); + define_x11_const(XK_Cyrillic_ie); + define_x11_const(XK_Cyrillic_ef); + define_x11_const(XK_Cyrillic_ghe); + define_x11_const(XK_Cyrillic_ha); + define_x11_const(XK_Cyrillic_i); + define_x11_const(XK_Cyrillic_shorti); + define_x11_const(XK_Cyrillic_ka); + define_x11_const(XK_Cyrillic_el); + define_x11_const(XK_Cyrillic_em); + define_x11_const(XK_Cyrillic_en); + define_x11_const(XK_Cyrillic_o); + define_x11_const(XK_Cyrillic_pe); + define_x11_const(XK_Cyrillic_ya); + define_x11_const(XK_Cyrillic_er); + define_x11_const(XK_Cyrillic_es); + define_x11_const(XK_Cyrillic_te); + define_x11_const(XK_Cyrillic_u); + define_x11_const(XK_Cyrillic_zhe); + define_x11_const(XK_Cyrillic_ve); + define_x11_const(XK_Cyrillic_softsign); + define_x11_const(XK_Cyrillic_yeru); + define_x11_const(XK_Cyrillic_ze); + define_x11_const(XK_Cyrillic_sha); + define_x11_const(XK_Cyrillic_e); + define_x11_const(XK_Cyrillic_shcha); + define_x11_const(XK_Cyrillic_che); + define_x11_const(XK_Cyrillic_hardsign); + define_x11_const(XK_Cyrillic_YU); + define_x11_const(XK_Cyrillic_A); + define_x11_const(XK_Cyrillic_BE); + define_x11_const(XK_Cyrillic_TSE); + define_x11_const(XK_Cyrillic_DE); + define_x11_const(XK_Cyrillic_IE); + define_x11_const(XK_Cyrillic_EF); + define_x11_const(XK_Cyrillic_GHE); + define_x11_const(XK_Cyrillic_HA); + define_x11_const(XK_Cyrillic_I); + define_x11_const(XK_Cyrillic_SHORTI); + define_x11_const(XK_Cyrillic_KA); + define_x11_const(XK_Cyrillic_EL); + define_x11_const(XK_Cyrillic_EM); + define_x11_const(XK_Cyrillic_EN); + define_x11_const(XK_Cyrillic_O); + define_x11_const(XK_Cyrillic_PE); + define_x11_const(XK_Cyrillic_YA); + define_x11_const(XK_Cyrillic_ER); + define_x11_const(XK_Cyrillic_ES); + define_x11_const(XK_Cyrillic_TE); + define_x11_const(XK_Cyrillic_U); + define_x11_const(XK_Cyrillic_ZHE); + define_x11_const(XK_Cyrillic_VE); + define_x11_const(XK_Cyrillic_SOFTSIGN); + define_x11_const(XK_Cyrillic_YERU); + define_x11_const(XK_Cyrillic_ZE); + define_x11_const(XK_Cyrillic_SHA); + define_x11_const(XK_Cyrillic_E); + define_x11_const(XK_Cyrillic_SHCHA); + define_x11_const(XK_Cyrillic_CHE); + define_x11_const(XK_Cyrillic_HARDSIGN); +#endif /* XK_CYRILLIC */ +#ifdef XK_GREEK + define_x11_const(XK_Greek_ALPHAaccent); + define_x11_const(XK_Greek_EPSILONaccent); + define_x11_const(XK_Greek_ETAaccent); + define_x11_const(XK_Greek_IOTAaccent); + define_x11_const(XK_Greek_IOTAdieresis); + define_x11_const(XK_Greek_IOTAdiaeresis); + define_x11_const(XK_Greek_OMICRONaccent); + define_x11_const(XK_Greek_UPSILONaccent); + define_x11_const(XK_Greek_UPSILONdieresis); + define_x11_const(XK_Greek_OMEGAaccent); + define_x11_const(XK_Greek_accentdieresis); + define_x11_const(XK_Greek_horizbar); + define_x11_const(XK_Greek_alphaaccent); + define_x11_const(XK_Greek_epsilonaccent); + define_x11_const(XK_Greek_etaaccent); + define_x11_const(XK_Greek_iotaaccent); + define_x11_const(XK_Greek_iotadieresis); + define_x11_const(XK_Greek_iotaaccentdieresis); + define_x11_const(XK_Greek_omicronaccent); + define_x11_const(XK_Greek_upsilonaccent); + define_x11_const(XK_Greek_upsilondieresis); + define_x11_const(XK_Greek_upsilonaccentdieresis); + define_x11_const(XK_Greek_omegaaccent); + define_x11_const(XK_Greek_ALPHA); + define_x11_const(XK_Greek_BETA); + define_x11_const(XK_Greek_GAMMA); + define_x11_const(XK_Greek_DELTA); + define_x11_const(XK_Greek_EPSILON); + define_x11_const(XK_Greek_ZETA); + define_x11_const(XK_Greek_ETA); + define_x11_const(XK_Greek_THETA); + define_x11_const(XK_Greek_IOTA); + define_x11_const(XK_Greek_KAPPA); + define_x11_const(XK_Greek_LAMDA); + define_x11_const(XK_Greek_LAMBDA); + define_x11_const(XK_Greek_MU); + define_x11_const(XK_Greek_NU); + define_x11_const(XK_Greek_XI); + define_x11_const(XK_Greek_OMICRON); + define_x11_const(XK_Greek_PI); + define_x11_const(XK_Greek_RHO); + define_x11_const(XK_Greek_SIGMA); + define_x11_const(XK_Greek_TAU); + define_x11_const(XK_Greek_UPSILON); + define_x11_const(XK_Greek_PHI); + define_x11_const(XK_Greek_CHI); + define_x11_const(XK_Greek_PSI); + define_x11_const(XK_Greek_OMEGA); + define_x11_const(XK_Greek_alpha); + define_x11_const(XK_Greek_beta); + define_x11_const(XK_Greek_gamma); + define_x11_const(XK_Greek_delta); + define_x11_const(XK_Greek_epsilon); + define_x11_const(XK_Greek_zeta); + define_x11_const(XK_Greek_eta); + define_x11_const(XK_Greek_theta); + define_x11_const(XK_Greek_iota); + define_x11_const(XK_Greek_kappa); + define_x11_const(XK_Greek_lamda); + define_x11_const(XK_Greek_lambda); + define_x11_const(XK_Greek_mu); + define_x11_const(XK_Greek_nu); + define_x11_const(XK_Greek_xi); + define_x11_const(XK_Greek_omicron); + define_x11_const(XK_Greek_pi); + define_x11_const(XK_Greek_rho); + define_x11_const(XK_Greek_sigma); + define_x11_const(XK_Greek_finalsmallsigma); + define_x11_const(XK_Greek_tau); + define_x11_const(XK_Greek_upsilon); + define_x11_const(XK_Greek_phi); + define_x11_const(XK_Greek_chi); + define_x11_const(XK_Greek_psi); + define_x11_const(XK_Greek_omega); + define_x11_const(XK_Greek_switch); +#endif /* XK_GREEK */ +#ifdef XK_TECHNICAL + define_x11_const(XK_leftradical); + define_x11_const(XK_topleftradical); + define_x11_const(XK_horizconnector); + define_x11_const(XK_topintegral); + define_x11_const(XK_botintegral); + define_x11_const(XK_vertconnector); + define_x11_const(XK_topleftsqbracket); + define_x11_const(XK_botleftsqbracket); + define_x11_const(XK_toprightsqbracket); + define_x11_const(XK_botrightsqbracket); + define_x11_const(XK_topleftparens); + define_x11_const(XK_botleftparens); + define_x11_const(XK_toprightparens); + define_x11_const(XK_botrightparens); + define_x11_const(XK_leftmiddlecurlybrace); + define_x11_const(XK_rightmiddlecurlybrace); + define_x11_const(XK_topleftsummation); + define_x11_const(XK_botleftsummation); + define_x11_const(XK_topvertsummationconnector); + define_x11_const(XK_botvertsummationconnector); + define_x11_const(XK_toprightsummation); + define_x11_const(XK_botrightsummation); + define_x11_const(XK_rightmiddlesummation); + define_x11_const(XK_lessthanequal); + define_x11_const(XK_notequal); + define_x11_const(XK_greaterthanequal); + define_x11_const(XK_integral); + define_x11_const(XK_therefore); + define_x11_const(XK_variation); + define_x11_const(XK_infinity); + define_x11_const(XK_nabla); + define_x11_const(XK_approximate); + define_x11_const(XK_similarequal); + define_x11_const(XK_ifonlyif); + define_x11_const(XK_implies); + define_x11_const(XK_identical); + define_x11_const(XK_radical); + define_x11_const(XK_includedin); + define_x11_const(XK_includes); + define_x11_const(XK_intersection); + define_x11_const(XK_union); + define_x11_const(XK_logicaland); + define_x11_const(XK_logicalor); + define_x11_const(XK_partialderivative); + define_x11_const(XK_function); + define_x11_const(XK_leftarrow); + define_x11_const(XK_uparrow); + define_x11_const(XK_rightarrow); + define_x11_const(XK_downarrow); +#endif /* XK_TECHNICAL */ +#ifdef XK_SPECIAL + define_x11_const(XK_blank); + define_x11_const(XK_soliddiamond); + define_x11_const(XK_checkerboard); + define_x11_const(XK_ht); + define_x11_const(XK_ff); + define_x11_const(XK_cr); + define_x11_const(XK_lf); + define_x11_const(XK_nl); + define_x11_const(XK_vt); + define_x11_const(XK_lowrightcorner); + define_x11_const(XK_uprightcorner); + define_x11_const(XK_upleftcorner); + define_x11_const(XK_lowleftcorner); + define_x11_const(XK_crossinglines); + define_x11_const(XK_horizlinescan1); + define_x11_const(XK_horizlinescan3); + define_x11_const(XK_horizlinescan5); + define_x11_const(XK_horizlinescan7); + define_x11_const(XK_horizlinescan9); + define_x11_const(XK_leftt); + define_x11_const(XK_rightt); + define_x11_const(XK_bott); + define_x11_const(XK_topt); + define_x11_const(XK_vertbar); +#endif /* XK_SPECIAL */ +#ifdef XK_PUBLISHING + define_x11_const(XK_emspace); + define_x11_const(XK_enspace); + define_x11_const(XK_em3space); + define_x11_const(XK_em4space); + define_x11_const(XK_digitspace); + define_x11_const(XK_punctspace); + define_x11_const(XK_thinspace); + define_x11_const(XK_hairspace); + define_x11_const(XK_emdash); + define_x11_const(XK_endash); + define_x11_const(XK_signifblank); + define_x11_const(XK_ellipsis); + define_x11_const(XK_doubbaselinedot); + define_x11_const(XK_onethird); + define_x11_const(XK_twothirds); + define_x11_const(XK_onefifth); + define_x11_const(XK_twofifths); + define_x11_const(XK_threefifths); + define_x11_const(XK_fourfifths); + define_x11_const(XK_onesixth); + define_x11_const(XK_fivesixths); + define_x11_const(XK_careof); + define_x11_const(XK_figdash); + define_x11_const(XK_leftanglebracket); + define_x11_const(XK_decimalpoint); + define_x11_const(XK_rightanglebracket); + define_x11_const(XK_marker); + define_x11_const(XK_oneeighth); + define_x11_const(XK_threeeighths); + define_x11_const(XK_fiveeighths); + define_x11_const(XK_seveneighths); + define_x11_const(XK_trademark); + define_x11_const(XK_signaturemark); + define_x11_const(XK_trademarkincircle); + define_x11_const(XK_leftopentriangle); + define_x11_const(XK_rightopentriangle); + define_x11_const(XK_emopencircle); + define_x11_const(XK_emopenrectangle); + define_x11_const(XK_leftsinglequotemark); + define_x11_const(XK_rightsinglequotemark); + define_x11_const(XK_leftdoublequotemark); + define_x11_const(XK_rightdoublequotemark); + define_x11_const(XK_prescription); + define_x11_const(XK_permille); + define_x11_const(XK_minutes); + define_x11_const(XK_seconds); + define_x11_const(XK_latincross); + define_x11_const(XK_hexagram); + define_x11_const(XK_filledrectbullet); + define_x11_const(XK_filledlefttribullet); + define_x11_const(XK_filledrighttribullet); + define_x11_const(XK_emfilledcircle); + define_x11_const(XK_emfilledrect); + define_x11_const(XK_enopencircbullet); + define_x11_const(XK_enopensquarebullet); + define_x11_const(XK_openrectbullet); + define_x11_const(XK_opentribulletup); + define_x11_const(XK_opentribulletdown); + define_x11_const(XK_openstar); + define_x11_const(XK_enfilledcircbullet); + define_x11_const(XK_enfilledsqbullet); + define_x11_const(XK_filledtribulletup); + define_x11_const(XK_filledtribulletdown); + define_x11_const(XK_leftpointer); + define_x11_const(XK_rightpointer); + define_x11_const(XK_club); + define_x11_const(XK_diamond); + define_x11_const(XK_heart); + define_x11_const(XK_maltesecross); + define_x11_const(XK_dagger); + define_x11_const(XK_doubledagger); + define_x11_const(XK_checkmark); + define_x11_const(XK_ballotcross); + define_x11_const(XK_musicalsharp); + define_x11_const(XK_musicalflat); + define_x11_const(XK_malesymbol); + define_x11_const(XK_femalesymbol); + define_x11_const(XK_telephone); + define_x11_const(XK_telephonerecorder); + define_x11_const(XK_phonographcopyright); + define_x11_const(XK_caret); + define_x11_const(XK_singlelowquotemark); + define_x11_const(XK_doublelowquotemark); + define_x11_const(XK_cursor); +#endif /* XK_PUBLISHING */ +#ifdef XK_APL + define_x11_const(XK_leftcaret); + define_x11_const(XK_rightcaret); + define_x11_const(XK_downcaret); + define_x11_const(XK_upcaret); + define_x11_const(XK_overbar); + define_x11_const(XK_downtack); + define_x11_const(XK_upshoe); + define_x11_const(XK_downstile); + define_x11_const(XK_underbar); + define_x11_const(XK_jot); + define_x11_const(XK_quad); + define_x11_const(XK_uptack); + define_x11_const(XK_circle); + define_x11_const(XK_upstile); + define_x11_const(XK_downshoe); + define_x11_const(XK_rightshoe); + define_x11_const(XK_leftshoe); + define_x11_const(XK_lefttack); + define_x11_const(XK_righttack); +#endif /* XK_APL */ +#ifdef XK_HEBREW + define_x11_const(XK_hebrew_doublelowline); + define_x11_const(XK_hebrew_aleph); + define_x11_const(XK_hebrew_bet); + define_x11_const(XK_hebrew_beth); + define_x11_const(XK_hebrew_gimel); + define_x11_const(XK_hebrew_gimmel); + define_x11_const(XK_hebrew_dalet); + define_x11_const(XK_hebrew_daleth); + define_x11_const(XK_hebrew_he); + define_x11_const(XK_hebrew_waw); + define_x11_const(XK_hebrew_zain); + define_x11_const(XK_hebrew_zayin); + define_x11_const(XK_hebrew_chet); + define_x11_const(XK_hebrew_het); + define_x11_const(XK_hebrew_tet); + define_x11_const(XK_hebrew_teth); + define_x11_const(XK_hebrew_yod); + define_x11_const(XK_hebrew_finalkaph); + define_x11_const(XK_hebrew_kaph); + define_x11_const(XK_hebrew_lamed); + define_x11_const(XK_hebrew_finalmem); + define_x11_const(XK_hebrew_mem); + define_x11_const(XK_hebrew_finalnun); + define_x11_const(XK_hebrew_nun); + define_x11_const(XK_hebrew_samech); + define_x11_const(XK_hebrew_samekh); + define_x11_const(XK_hebrew_ayin); + define_x11_const(XK_hebrew_finalpe); + define_x11_const(XK_hebrew_pe); + define_x11_const(XK_hebrew_finalzade); + define_x11_const(XK_hebrew_finalzadi); + define_x11_const(XK_hebrew_zade); + define_x11_const(XK_hebrew_zadi); + define_x11_const(XK_hebrew_qoph); + define_x11_const(XK_hebrew_kuf); + define_x11_const(XK_hebrew_resh); + define_x11_const(XK_hebrew_shin); + define_x11_const(XK_hebrew_taw); + define_x11_const(XK_hebrew_taf); + define_x11_const(XK_Hebrew_switch); +#endif /* XK_HEBREW */ +#ifdef XK_THAI + define_x11_const(XK_Thai_kokai); + define_x11_const(XK_Thai_khokhai); + define_x11_const(XK_Thai_khokhuat); + define_x11_const(XK_Thai_khokhwai); + define_x11_const(XK_Thai_khokhon); + define_x11_const(XK_Thai_khorakhang); + define_x11_const(XK_Thai_ngongu); + define_x11_const(XK_Thai_chochan); + define_x11_const(XK_Thai_choching); + define_x11_const(XK_Thai_chochang); + define_x11_const(XK_Thai_soso); + define_x11_const(XK_Thai_chochoe); + define_x11_const(XK_Thai_yoying); + define_x11_const(XK_Thai_dochada); + define_x11_const(XK_Thai_topatak); + define_x11_const(XK_Thai_thothan); + define_x11_const(XK_Thai_thonangmontho); + define_x11_const(XK_Thai_thophuthao); + define_x11_const(XK_Thai_nonen); + define_x11_const(XK_Thai_dodek); + define_x11_const(XK_Thai_totao); + define_x11_const(XK_Thai_thothung); + define_x11_const(XK_Thai_thothahan); + define_x11_const(XK_Thai_thothong); + define_x11_const(XK_Thai_nonu); + define_x11_const(XK_Thai_bobaimai); + define_x11_const(XK_Thai_popla); + define_x11_const(XK_Thai_phophung); + define_x11_const(XK_Thai_fofa); + define_x11_const(XK_Thai_phophan); + define_x11_const(XK_Thai_fofan); + define_x11_const(XK_Thai_phosamphao); + define_x11_const(XK_Thai_moma); + define_x11_const(XK_Thai_yoyak); + define_x11_const(XK_Thai_rorua); + define_x11_const(XK_Thai_ru); + define_x11_const(XK_Thai_loling); + define_x11_const(XK_Thai_lu); + define_x11_const(XK_Thai_wowaen); + define_x11_const(XK_Thai_sosala); + define_x11_const(XK_Thai_sorusi); + define_x11_const(XK_Thai_sosua); + define_x11_const(XK_Thai_hohip); + define_x11_const(XK_Thai_lochula); + define_x11_const(XK_Thai_oang); + define_x11_const(XK_Thai_honokhuk); + define_x11_const(XK_Thai_paiyannoi); + define_x11_const(XK_Thai_saraa); + define_x11_const(XK_Thai_maihanakat); + define_x11_const(XK_Thai_saraaa); + define_x11_const(XK_Thai_saraam); + define_x11_const(XK_Thai_sarai); + define_x11_const(XK_Thai_saraii); + define_x11_const(XK_Thai_saraue); + define_x11_const(XK_Thai_sarauee); + define_x11_const(XK_Thai_sarau); + define_x11_const(XK_Thai_sarauu); + define_x11_const(XK_Thai_phinthu); + define_x11_const(XK_Thai_maihanakat_maitho); + define_x11_const(XK_Thai_baht); + define_x11_const(XK_Thai_sarae); + define_x11_const(XK_Thai_saraae); + define_x11_const(XK_Thai_sarao); + define_x11_const(XK_Thai_saraaimaimuan); + define_x11_const(XK_Thai_saraaimaimalai); + define_x11_const(XK_Thai_lakkhangyao); + define_x11_const(XK_Thai_maiyamok); + define_x11_const(XK_Thai_maitaikhu); + define_x11_const(XK_Thai_maiek); + define_x11_const(XK_Thai_maitho); + define_x11_const(XK_Thai_maitri); + define_x11_const(XK_Thai_maichattawa); + define_x11_const(XK_Thai_thanthakhat); + define_x11_const(XK_Thai_nikhahit); + define_x11_const(XK_Thai_leksun); + define_x11_const(XK_Thai_leknung); + define_x11_const(XK_Thai_leksong); + define_x11_const(XK_Thai_leksam); + define_x11_const(XK_Thai_leksi); + define_x11_const(XK_Thai_lekha); + define_x11_const(XK_Thai_lekhok); + define_x11_const(XK_Thai_lekchet); + define_x11_const(XK_Thai_lekpaet); + define_x11_const(XK_Thai_lekkao); +#endif /* XK_THAI */ +#ifdef XK_KOREAN + define_x11_const(XK_Hangul); + define_x11_const(XK_Hangul_Start); + define_x11_const(XK_Hangul_End); + define_x11_const(XK_Hangul_Hanja); + define_x11_const(XK_Hangul_Jamo); + define_x11_const(XK_Hangul_Romaja); + define_x11_const(XK_Hangul_Codeinput); + define_x11_const(XK_Hangul_Jeonja); + define_x11_const(XK_Hangul_Banja); + define_x11_const(XK_Hangul_PreHanja); + define_x11_const(XK_Hangul_PostHanja); + define_x11_const(XK_Hangul_SingleCandidate); + define_x11_const(XK_Hangul_MultipleCandidate); + define_x11_const(XK_Hangul_PreviousCandidate); + define_x11_const(XK_Hangul_Special); + define_x11_const(XK_Hangul_switch); + define_x11_const(XK_Hangul_Kiyeog); + define_x11_const(XK_Hangul_SsangKiyeog); + define_x11_const(XK_Hangul_KiyeogSios); + define_x11_const(XK_Hangul_Nieun); + define_x11_const(XK_Hangul_NieunJieuj); + define_x11_const(XK_Hangul_NieunHieuh); + define_x11_const(XK_Hangul_Dikeud); + define_x11_const(XK_Hangul_SsangDikeud); + define_x11_const(XK_Hangul_Rieul); + define_x11_const(XK_Hangul_RieulKiyeog); + define_x11_const(XK_Hangul_RieulMieum); + define_x11_const(XK_Hangul_RieulPieub); + define_x11_const(XK_Hangul_RieulSios); + define_x11_const(XK_Hangul_RieulTieut); + define_x11_const(XK_Hangul_RieulPhieuf); + define_x11_const(XK_Hangul_RieulHieuh); + define_x11_const(XK_Hangul_Mieum); + define_x11_const(XK_Hangul_Pieub); + define_x11_const(XK_Hangul_SsangPieub); + define_x11_const(XK_Hangul_PieubSios); + define_x11_const(XK_Hangul_Sios); + define_x11_const(XK_Hangul_SsangSios); + define_x11_const(XK_Hangul_Ieung); + define_x11_const(XK_Hangul_Jieuj); + define_x11_const(XK_Hangul_SsangJieuj); + define_x11_const(XK_Hangul_Cieuc); + define_x11_const(XK_Hangul_Khieuq); + define_x11_const(XK_Hangul_Tieut); + define_x11_const(XK_Hangul_Phieuf); + define_x11_const(XK_Hangul_Hieuh); + define_x11_const(XK_Hangul_A); + define_x11_const(XK_Hangul_AE); + define_x11_const(XK_Hangul_YA); + define_x11_const(XK_Hangul_YAE); + define_x11_const(XK_Hangul_EO); + define_x11_const(XK_Hangul_E); + define_x11_const(XK_Hangul_YEO); + define_x11_const(XK_Hangul_YE); + define_x11_const(XK_Hangul_O); + define_x11_const(XK_Hangul_WA); + define_x11_const(XK_Hangul_WAE); + define_x11_const(XK_Hangul_OE); + define_x11_const(XK_Hangul_YO); + define_x11_const(XK_Hangul_U); + define_x11_const(XK_Hangul_WEO); + define_x11_const(XK_Hangul_WE); + define_x11_const(XK_Hangul_WI); + define_x11_const(XK_Hangul_YU); + define_x11_const(XK_Hangul_EU); + define_x11_const(XK_Hangul_YI); + define_x11_const(XK_Hangul_I); + define_x11_const(XK_Hangul_J_Kiyeog); + define_x11_const(XK_Hangul_J_SsangKiyeog); + define_x11_const(XK_Hangul_J_KiyeogSios); + define_x11_const(XK_Hangul_J_Nieun); + define_x11_const(XK_Hangul_J_NieunJieuj); + define_x11_const(XK_Hangul_J_NieunHieuh); + define_x11_const(XK_Hangul_J_Dikeud); + define_x11_const(XK_Hangul_J_Rieul); + define_x11_const(XK_Hangul_J_RieulKiyeog); + define_x11_const(XK_Hangul_J_RieulMieum); + define_x11_const(XK_Hangul_J_RieulPieub); + define_x11_const(XK_Hangul_J_RieulSios); + define_x11_const(XK_Hangul_J_RieulTieut); + define_x11_const(XK_Hangul_J_RieulPhieuf); + define_x11_const(XK_Hangul_J_RieulHieuh); + define_x11_const(XK_Hangul_J_Mieum); + define_x11_const(XK_Hangul_J_Pieub); + define_x11_const(XK_Hangul_J_PieubSios); + define_x11_const(XK_Hangul_J_Sios); + define_x11_const(XK_Hangul_J_SsangSios); + define_x11_const(XK_Hangul_J_Ieung); + define_x11_const(XK_Hangul_J_Jieuj); + define_x11_const(XK_Hangul_J_Cieuc); + define_x11_const(XK_Hangul_J_Khieuq); + define_x11_const(XK_Hangul_J_Tieut); + define_x11_const(XK_Hangul_J_Phieuf); + define_x11_const(XK_Hangul_J_Hieuh); + define_x11_const(XK_Hangul_RieulYeorinHieuh); + define_x11_const(XK_Hangul_SunkyeongeumMieum); + define_x11_const(XK_Hangul_SunkyeongeumPieub); + define_x11_const(XK_Hangul_PanSios); + define_x11_const(XK_Hangul_KkogjiDalrinIeung); + define_x11_const(XK_Hangul_SunkyeongeumPhieuf); + define_x11_const(XK_Hangul_YeorinHieuh); + define_x11_const(XK_Hangul_AraeA); + define_x11_const(XK_Hangul_AraeAE); + define_x11_const(XK_Hangul_J_PanSios); + define_x11_const(XK_Hangul_J_KkogjiDalrinIeung); + define_x11_const(XK_Hangul_J_YeorinHieuh); + define_x11_const(XK_Korean_Won); +#endif /* XK_KOREAN */ +#ifdef XK_ARMENIAN + define_x11_const(XK_Armenian_ligature_ew); + define_x11_const(XK_Armenian_full_stop); + define_x11_const(XK_Armenian_verjaket); + define_x11_const(XK_Armenian_separation_mark); + define_x11_const(XK_Armenian_but); + define_x11_const(XK_Armenian_hyphen); + define_x11_const(XK_Armenian_yentamna); + define_x11_const(XK_Armenian_exclam); + define_x11_const(XK_Armenian_amanak); + define_x11_const(XK_Armenian_accent); + define_x11_const(XK_Armenian_shesht); + define_x11_const(XK_Armenian_question); + define_x11_const(XK_Armenian_paruyk); + define_x11_const(XK_Armenian_AYB); + define_x11_const(XK_Armenian_ayb); + define_x11_const(XK_Armenian_BEN); + define_x11_const(XK_Armenian_ben); + define_x11_const(XK_Armenian_GIM); + define_x11_const(XK_Armenian_gim); + define_x11_const(XK_Armenian_DA); + define_x11_const(XK_Armenian_da); + define_x11_const(XK_Armenian_YECH); + define_x11_const(XK_Armenian_yech); + define_x11_const(XK_Armenian_ZA); + define_x11_const(XK_Armenian_za); + define_x11_const(XK_Armenian_E); + define_x11_const(XK_Armenian_e); + define_x11_const(XK_Armenian_AT); + define_x11_const(XK_Armenian_at); + define_x11_const(XK_Armenian_TO); + define_x11_const(XK_Armenian_to); + define_x11_const(XK_Armenian_ZHE); + define_x11_const(XK_Armenian_zhe); + define_x11_const(XK_Armenian_INI); + define_x11_const(XK_Armenian_ini); + define_x11_const(XK_Armenian_LYUN); + define_x11_const(XK_Armenian_lyun); + define_x11_const(XK_Armenian_KHE); + define_x11_const(XK_Armenian_khe); + define_x11_const(XK_Armenian_TSA); + define_x11_const(XK_Armenian_tsa); + define_x11_const(XK_Armenian_KEN); + define_x11_const(XK_Armenian_ken); + define_x11_const(XK_Armenian_HO); + define_x11_const(XK_Armenian_ho); + define_x11_const(XK_Armenian_DZA); + define_x11_const(XK_Armenian_dza); + define_x11_const(XK_Armenian_GHAT); + define_x11_const(XK_Armenian_ghat); + define_x11_const(XK_Armenian_TCHE); + define_x11_const(XK_Armenian_tche); + define_x11_const(XK_Armenian_MEN); + define_x11_const(XK_Armenian_men); + define_x11_const(XK_Armenian_HI); + define_x11_const(XK_Armenian_hi); + define_x11_const(XK_Armenian_NU); + define_x11_const(XK_Armenian_nu); + define_x11_const(XK_Armenian_SHA); + define_x11_const(XK_Armenian_sha); + define_x11_const(XK_Armenian_VO); + define_x11_const(XK_Armenian_vo); + define_x11_const(XK_Armenian_CHA); + define_x11_const(XK_Armenian_cha); + define_x11_const(XK_Armenian_PE); + define_x11_const(XK_Armenian_pe); + define_x11_const(XK_Armenian_JE); + define_x11_const(XK_Armenian_je); + define_x11_const(XK_Armenian_RA); + define_x11_const(XK_Armenian_ra); + define_x11_const(XK_Armenian_SE); + define_x11_const(XK_Armenian_se); + define_x11_const(XK_Armenian_VEV); + define_x11_const(XK_Armenian_vev); + define_x11_const(XK_Armenian_TYUN); + define_x11_const(XK_Armenian_tyun); + define_x11_const(XK_Armenian_RE); + define_x11_const(XK_Armenian_re); + define_x11_const(XK_Armenian_TSO); + define_x11_const(XK_Armenian_tso); + define_x11_const(XK_Armenian_VYUN); + define_x11_const(XK_Armenian_vyun); + define_x11_const(XK_Armenian_PYUR); + define_x11_const(XK_Armenian_pyur); + define_x11_const(XK_Armenian_KE); + define_x11_const(XK_Armenian_ke); + define_x11_const(XK_Armenian_O); + define_x11_const(XK_Armenian_o); + define_x11_const(XK_Armenian_FE); + define_x11_const(XK_Armenian_fe); + define_x11_const(XK_Armenian_apostrophe); +#endif /* XK_ARMENIAN */ +#ifdef XK_GEORGIAN + define_x11_const(XK_Georgian_an); + define_x11_const(XK_Georgian_ban); + define_x11_const(XK_Georgian_gan); + define_x11_const(XK_Georgian_don); + define_x11_const(XK_Georgian_en); + define_x11_const(XK_Georgian_vin); + define_x11_const(XK_Georgian_zen); + define_x11_const(XK_Georgian_tan); + define_x11_const(XK_Georgian_in); + define_x11_const(XK_Georgian_kan); + define_x11_const(XK_Georgian_las); + define_x11_const(XK_Georgian_man); + define_x11_const(XK_Georgian_nar); + define_x11_const(XK_Georgian_on); + define_x11_const(XK_Georgian_par); + define_x11_const(XK_Georgian_zhar); + define_x11_const(XK_Georgian_rae); + define_x11_const(XK_Georgian_san); + define_x11_const(XK_Georgian_tar); + define_x11_const(XK_Georgian_un); + define_x11_const(XK_Georgian_phar); + define_x11_const(XK_Georgian_khar); + define_x11_const(XK_Georgian_ghan); + define_x11_const(XK_Georgian_qar); + define_x11_const(XK_Georgian_shin); + define_x11_const(XK_Georgian_chin); + define_x11_const(XK_Georgian_can); + define_x11_const(XK_Georgian_jil); + define_x11_const(XK_Georgian_cil); + define_x11_const(XK_Georgian_char); + define_x11_const(XK_Georgian_xan); + define_x11_const(XK_Georgian_jhan); + define_x11_const(XK_Georgian_hae); + define_x11_const(XK_Georgian_he); + define_x11_const(XK_Georgian_hie); + define_x11_const(XK_Georgian_we); + define_x11_const(XK_Georgian_har); + define_x11_const(XK_Georgian_hoe); + define_x11_const(XK_Georgian_fi); +#endif /* XK_GEORGIAN */ +#ifdef XK_CAUCASUS + define_x11_const(XK_Xabovedot); + define_x11_const(XK_Ibreve); + define_x11_const(XK_Zstroke); + define_x11_const(XK_Gcaron); + define_x11_const(XK_Ocaron); + define_x11_const(XK_Obarred); + define_x11_const(XK_xabovedot); + define_x11_const(XK_ibreve); + define_x11_const(XK_zstroke); + define_x11_const(XK_gcaron); + define_x11_const(XK_ocaron); + define_x11_const(XK_obarred); + define_x11_const(XK_SCHWA); + define_x11_const(XK_schwa); + define_x11_const(XK_EZH); + define_x11_const(XK_ezh); + define_x11_const(XK_Lbelowdot); + define_x11_const(XK_lbelowdot); +#endif /* XK_CAUCASUS */ +#ifdef XK_VIETNAMESE + define_x11_const(XK_Abelowdot); + define_x11_const(XK_abelowdot); + define_x11_const(XK_Ahook); + define_x11_const(XK_ahook); + define_x11_const(XK_Acircumflexacute); + define_x11_const(XK_acircumflexacute); + define_x11_const(XK_Acircumflexgrave); + define_x11_const(XK_acircumflexgrave); + define_x11_const(XK_Acircumflexhook); + define_x11_const(XK_acircumflexhook); + define_x11_const(XK_Acircumflextilde); + define_x11_const(XK_acircumflextilde); + define_x11_const(XK_Acircumflexbelowdot); + define_x11_const(XK_acircumflexbelowdot); + define_x11_const(XK_Abreveacute); + define_x11_const(XK_abreveacute); + define_x11_const(XK_Abrevegrave); + define_x11_const(XK_abrevegrave); + define_x11_const(XK_Abrevehook); + define_x11_const(XK_abrevehook); + define_x11_const(XK_Abrevetilde); + define_x11_const(XK_abrevetilde); + define_x11_const(XK_Abrevebelowdot); + define_x11_const(XK_abrevebelowdot); + define_x11_const(XK_Ebelowdot); + define_x11_const(XK_ebelowdot); + define_x11_const(XK_Ehook); + define_x11_const(XK_ehook); + define_x11_const(XK_Etilde); + define_x11_const(XK_etilde); + define_x11_const(XK_Ecircumflexacute); + define_x11_const(XK_ecircumflexacute); + define_x11_const(XK_Ecircumflexgrave); + define_x11_const(XK_ecircumflexgrave); + define_x11_const(XK_Ecircumflexhook); + define_x11_const(XK_ecircumflexhook); + define_x11_const(XK_Ecircumflextilde); + define_x11_const(XK_ecircumflextilde); + define_x11_const(XK_Ecircumflexbelowdot); + define_x11_const(XK_ecircumflexbelowdot); + define_x11_const(XK_Ihook); + define_x11_const(XK_ihook); + define_x11_const(XK_Ibelowdot); + define_x11_const(XK_ibelowdot); + define_x11_const(XK_Obelowdot); + define_x11_const(XK_obelowdot); + define_x11_const(XK_Ohook); + define_x11_const(XK_ohook); + define_x11_const(XK_Ocircumflexacute); + define_x11_const(XK_ocircumflexacute); + define_x11_const(XK_Ocircumflexgrave); + define_x11_const(XK_ocircumflexgrave); + define_x11_const(XK_Ocircumflexhook); + define_x11_const(XK_ocircumflexhook); + define_x11_const(XK_Ocircumflextilde); + define_x11_const(XK_ocircumflextilde); + define_x11_const(XK_Ocircumflexbelowdot); + define_x11_const(XK_ocircumflexbelowdot); + define_x11_const(XK_Ohornacute); + define_x11_const(XK_ohornacute); + define_x11_const(XK_Ohorngrave); + define_x11_const(XK_ohorngrave); + define_x11_const(XK_Ohornhook); + define_x11_const(XK_ohornhook); + define_x11_const(XK_Ohorntilde); + define_x11_const(XK_ohorntilde); + define_x11_const(XK_Ohornbelowdot); + define_x11_const(XK_ohornbelowdot); + define_x11_const(XK_Ubelowdot); + define_x11_const(XK_ubelowdot); + define_x11_const(XK_Uhook); + define_x11_const(XK_uhook); + define_x11_const(XK_Uhornacute); + define_x11_const(XK_uhornacute); + define_x11_const(XK_Uhorngrave); + define_x11_const(XK_uhorngrave); + define_x11_const(XK_Uhornhook); + define_x11_const(XK_uhornhook); + define_x11_const(XK_Uhorntilde); + define_x11_const(XK_uhorntilde); + define_x11_const(XK_Uhornbelowdot); + define_x11_const(XK_uhornbelowdot); + define_x11_const(XK_Ybelowdot); + define_x11_const(XK_ybelowdot); + define_x11_const(XK_Yhook); + define_x11_const(XK_yhook); + define_x11_const(XK_Ytilde); + define_x11_const(XK_ytilde); + define_x11_const(XK_Ohorn); + define_x11_const(XK_ohorn); + define_x11_const(XK_Uhorn); + define_x11_const(XK_uhorn); +#endif /* XK_VIETNAMESE */ +#ifdef XK_CURRENCY + define_x11_const(XK_EcuSign); + define_x11_const(XK_ColonSign); + define_x11_const(XK_CruzeiroSign); + define_x11_const(XK_FFrancSign); + define_x11_const(XK_LiraSign); + define_x11_const(XK_MillSign); + define_x11_const(XK_NairaSign); + define_x11_const(XK_PesetaSign); + define_x11_const(XK_RupeeSign); + define_x11_const(XK_WonSign); + define_x11_const(XK_NewSheqelSign); + define_x11_const(XK_DongSign); + define_x11_const(XK_EuroSign); +#endif /* XK_CURRENCY */ +#ifdef XK_MATHEMATICAL + define_x11_const(XK_zerosuperior); + define_x11_const(XK_foursuperior); + define_x11_const(XK_fivesuperior); + define_x11_const(XK_sixsuperior); + define_x11_const(XK_sevensuperior); + define_x11_const(XK_eightsuperior); + define_x11_const(XK_ninesuperior); + define_x11_const(XK_zerosubscript); + define_x11_const(XK_onesubscript); + define_x11_const(XK_twosubscript); + define_x11_const(XK_threesubscript); + define_x11_const(XK_foursubscript); + define_x11_const(XK_fivesubscript); + define_x11_const(XK_sixsubscript); + define_x11_const(XK_sevensubscript); + define_x11_const(XK_eightsubscript); + define_x11_const(XK_ninesubscript); + define_x11_const(XK_partdifferential); + define_x11_const(XK_emptyset); + define_x11_const(XK_elementof); + define_x11_const(XK_notelementof); + define_x11_const(XK_containsas); + define_x11_const(XK_squareroot); + define_x11_const(XK_cuberoot); + define_x11_const(XK_fourthroot); + define_x11_const(XK_dintegral); + define_x11_const(XK_tintegral); + define_x11_const(XK_because); + define_x11_const(XK_approxeq); + define_x11_const(XK_notapproxeq); + define_x11_const(XK_notidentical); + define_x11_const(XK_stricteq); +#endif /* XK_MATHEMATICAL */ +#ifdef XK_BRAILLE + define_x11_const(XK_braille_dot_1); + define_x11_const(XK_braille_dot_2); + define_x11_const(XK_braille_dot_3); + define_x11_const(XK_braille_dot_4); + define_x11_const(XK_braille_dot_5); + define_x11_const(XK_braille_dot_6); + define_x11_const(XK_braille_dot_7); + define_x11_const(XK_braille_dot_8); + define_x11_const(XK_braille_dot_9); + define_x11_const(XK_braille_dot_10); + define_x11_const(XK_braille_blank); + define_x11_const(XK_braille_dots_1); + define_x11_const(XK_braille_dots_2); + define_x11_const(XK_braille_dots_12); + define_x11_const(XK_braille_dots_3); + define_x11_const(XK_braille_dots_13); + define_x11_const(XK_braille_dots_23); + define_x11_const(XK_braille_dots_123); + define_x11_const(XK_braille_dots_4); + define_x11_const(XK_braille_dots_14); + define_x11_const(XK_braille_dots_24); + define_x11_const(XK_braille_dots_124); + define_x11_const(XK_braille_dots_34); + define_x11_const(XK_braille_dots_134); + define_x11_const(XK_braille_dots_234); + define_x11_const(XK_braille_dots_1234); + define_x11_const(XK_braille_dots_5); + define_x11_const(XK_braille_dots_15); + define_x11_const(XK_braille_dots_25); + define_x11_const(XK_braille_dots_125); + define_x11_const(XK_braille_dots_35); + define_x11_const(XK_braille_dots_135); + define_x11_const(XK_braille_dots_235); + define_x11_const(XK_braille_dots_1235); + define_x11_const(XK_braille_dots_45); + define_x11_const(XK_braille_dots_145); + define_x11_const(XK_braille_dots_245); + define_x11_const(XK_braille_dots_1245); + define_x11_const(XK_braille_dots_345); + define_x11_const(XK_braille_dots_1345); + define_x11_const(XK_braille_dots_2345); + define_x11_const(XK_braille_dots_12345); + define_x11_const(XK_braille_dots_6); + define_x11_const(XK_braille_dots_16); + define_x11_const(XK_braille_dots_26); + define_x11_const(XK_braille_dots_126); + define_x11_const(XK_braille_dots_36); + define_x11_const(XK_braille_dots_136); + define_x11_const(XK_braille_dots_236); + define_x11_const(XK_braille_dots_1236); + define_x11_const(XK_braille_dots_46); + define_x11_const(XK_braille_dots_146); + define_x11_const(XK_braille_dots_246); + define_x11_const(XK_braille_dots_1246); + define_x11_const(XK_braille_dots_346); + define_x11_const(XK_braille_dots_1346); + define_x11_const(XK_braille_dots_2346); + define_x11_const(XK_braille_dots_12346); + define_x11_const(XK_braille_dots_56); + define_x11_const(XK_braille_dots_156); + define_x11_const(XK_braille_dots_256); + define_x11_const(XK_braille_dots_1256); + define_x11_const(XK_braille_dots_356); + define_x11_const(XK_braille_dots_1356); + define_x11_const(XK_braille_dots_2356); + define_x11_const(XK_braille_dots_12356); + define_x11_const(XK_braille_dots_456); + define_x11_const(XK_braille_dots_1456); + define_x11_const(XK_braille_dots_2456); + define_x11_const(XK_braille_dots_12456); + define_x11_const(XK_braille_dots_3456); + define_x11_const(XK_braille_dots_13456); + define_x11_const(XK_braille_dots_23456); + define_x11_const(XK_braille_dots_123456); + define_x11_const(XK_braille_dots_7); + define_x11_const(XK_braille_dots_17); + define_x11_const(XK_braille_dots_27); + define_x11_const(XK_braille_dots_127); + define_x11_const(XK_braille_dots_37); + define_x11_const(XK_braille_dots_137); + define_x11_const(XK_braille_dots_237); + define_x11_const(XK_braille_dots_1237); + define_x11_const(XK_braille_dots_47); + define_x11_const(XK_braille_dots_147); + define_x11_const(XK_braille_dots_247); + define_x11_const(XK_braille_dots_1247); + define_x11_const(XK_braille_dots_347); + define_x11_const(XK_braille_dots_1347); + define_x11_const(XK_braille_dots_2347); + define_x11_const(XK_braille_dots_12347); + define_x11_const(XK_braille_dots_57); + define_x11_const(XK_braille_dots_157); + define_x11_const(XK_braille_dots_257); + define_x11_const(XK_braille_dots_1257); + define_x11_const(XK_braille_dots_357); + define_x11_const(XK_braille_dots_1357); + define_x11_const(XK_braille_dots_2357); + define_x11_const(XK_braille_dots_12357); + define_x11_const(XK_braille_dots_457); + define_x11_const(XK_braille_dots_1457); + define_x11_const(XK_braille_dots_2457); + define_x11_const(XK_braille_dots_12457); + define_x11_const(XK_braille_dots_3457); + define_x11_const(XK_braille_dots_13457); + define_x11_const(XK_braille_dots_23457); + define_x11_const(XK_braille_dots_123457); + define_x11_const(XK_braille_dots_67); + define_x11_const(XK_braille_dots_167); + define_x11_const(XK_braille_dots_267); + define_x11_const(XK_braille_dots_1267); + define_x11_const(XK_braille_dots_367); + define_x11_const(XK_braille_dots_1367); + define_x11_const(XK_braille_dots_2367); + define_x11_const(XK_braille_dots_12367); + define_x11_const(XK_braille_dots_467); + define_x11_const(XK_braille_dots_1467); + define_x11_const(XK_braille_dots_2467); + define_x11_const(XK_braille_dots_12467); + define_x11_const(XK_braille_dots_3467); + define_x11_const(XK_braille_dots_13467); + define_x11_const(XK_braille_dots_23467); + define_x11_const(XK_braille_dots_123467); + define_x11_const(XK_braille_dots_567); + define_x11_const(XK_braille_dots_1567); + define_x11_const(XK_braille_dots_2567); + define_x11_const(XK_braille_dots_12567); + define_x11_const(XK_braille_dots_3567); + define_x11_const(XK_braille_dots_13567); + define_x11_const(XK_braille_dots_23567); + define_x11_const(XK_braille_dots_123567); + define_x11_const(XK_braille_dots_4567); + define_x11_const(XK_braille_dots_14567); + define_x11_const(XK_braille_dots_24567); + define_x11_const(XK_braille_dots_124567); + define_x11_const(XK_braille_dots_34567); + define_x11_const(XK_braille_dots_134567); + define_x11_const(XK_braille_dots_234567); + define_x11_const(XK_braille_dots_1234567); + define_x11_const(XK_braille_dots_8); + define_x11_const(XK_braille_dots_18); + define_x11_const(XK_braille_dots_28); + define_x11_const(XK_braille_dots_128); + define_x11_const(XK_braille_dots_38); + define_x11_const(XK_braille_dots_138); + define_x11_const(XK_braille_dots_238); + define_x11_const(XK_braille_dots_1238); + define_x11_const(XK_braille_dots_48); + define_x11_const(XK_braille_dots_148); + define_x11_const(XK_braille_dots_248); + define_x11_const(XK_braille_dots_1248); + define_x11_const(XK_braille_dots_348); + define_x11_const(XK_braille_dots_1348); + define_x11_const(XK_braille_dots_2348); + define_x11_const(XK_braille_dots_12348); + define_x11_const(XK_braille_dots_58); + define_x11_const(XK_braille_dots_158); + define_x11_const(XK_braille_dots_258); + define_x11_const(XK_braille_dots_1258); + define_x11_const(XK_braille_dots_358); + define_x11_const(XK_braille_dots_1358); + define_x11_const(XK_braille_dots_2358); + define_x11_const(XK_braille_dots_12358); + define_x11_const(XK_braille_dots_458); + define_x11_const(XK_braille_dots_1458); + define_x11_const(XK_braille_dots_2458); + define_x11_const(XK_braille_dots_12458); + define_x11_const(XK_braille_dots_3458); + define_x11_const(XK_braille_dots_13458); + define_x11_const(XK_braille_dots_23458); + define_x11_const(XK_braille_dots_123458); + define_x11_const(XK_braille_dots_68); + define_x11_const(XK_braille_dots_168); + define_x11_const(XK_braille_dots_268); + define_x11_const(XK_braille_dots_1268); + define_x11_const(XK_braille_dots_368); + define_x11_const(XK_braille_dots_1368); + define_x11_const(XK_braille_dots_2368); + define_x11_const(XK_braille_dots_12368); + define_x11_const(XK_braille_dots_468); + define_x11_const(XK_braille_dots_1468); + define_x11_const(XK_braille_dots_2468); + define_x11_const(XK_braille_dots_12468); + define_x11_const(XK_braille_dots_3468); + define_x11_const(XK_braille_dots_13468); + define_x11_const(XK_braille_dots_23468); + define_x11_const(XK_braille_dots_123468); + define_x11_const(XK_braille_dots_568); + define_x11_const(XK_braille_dots_1568); + define_x11_const(XK_braille_dots_2568); + define_x11_const(XK_braille_dots_12568); + define_x11_const(XK_braille_dots_3568); + define_x11_const(XK_braille_dots_13568); + define_x11_const(XK_braille_dots_23568); + define_x11_const(XK_braille_dots_123568); + define_x11_const(XK_braille_dots_4568); + define_x11_const(XK_braille_dots_14568); + define_x11_const(XK_braille_dots_24568); + define_x11_const(XK_braille_dots_124568); + define_x11_const(XK_braille_dots_34568); + define_x11_const(XK_braille_dots_134568); + define_x11_const(XK_braille_dots_234568); + define_x11_const(XK_braille_dots_1234568); + define_x11_const(XK_braille_dots_78); + define_x11_const(XK_braille_dots_178); + define_x11_const(XK_braille_dots_278); + define_x11_const(XK_braille_dots_1278); + define_x11_const(XK_braille_dots_378); + define_x11_const(XK_braille_dots_1378); + define_x11_const(XK_braille_dots_2378); + define_x11_const(XK_braille_dots_12378); + define_x11_const(XK_braille_dots_478); + define_x11_const(XK_braille_dots_1478); + define_x11_const(XK_braille_dots_2478); + define_x11_const(XK_braille_dots_12478); + define_x11_const(XK_braille_dots_3478); + define_x11_const(XK_braille_dots_13478); + define_x11_const(XK_braille_dots_23478); + define_x11_const(XK_braille_dots_123478); + define_x11_const(XK_braille_dots_578); + define_x11_const(XK_braille_dots_1578); + define_x11_const(XK_braille_dots_2578); + define_x11_const(XK_braille_dots_12578); + define_x11_const(XK_braille_dots_3578); + define_x11_const(XK_braille_dots_13578); + define_x11_const(XK_braille_dots_23578); + define_x11_const(XK_braille_dots_123578); + define_x11_const(XK_braille_dots_4578); + define_x11_const(XK_braille_dots_14578); + define_x11_const(XK_braille_dots_24578); + define_x11_const(XK_braille_dots_124578); + define_x11_const(XK_braille_dots_34578); + define_x11_const(XK_braille_dots_134578); + define_x11_const(XK_braille_dots_234578); + define_x11_const(XK_braille_dots_1234578); + define_x11_const(XK_braille_dots_678); + define_x11_const(XK_braille_dots_1678); + define_x11_const(XK_braille_dots_2678); + define_x11_const(XK_braille_dots_12678); + define_x11_const(XK_braille_dots_3678); + define_x11_const(XK_braille_dots_13678); + define_x11_const(XK_braille_dots_23678); + define_x11_const(XK_braille_dots_123678); + define_x11_const(XK_braille_dots_4678); + define_x11_const(XK_braille_dots_14678); + define_x11_const(XK_braille_dots_24678); + define_x11_const(XK_braille_dots_124678); + define_x11_const(XK_braille_dots_34678); + define_x11_const(XK_braille_dots_134678); + define_x11_const(XK_braille_dots_234678); + define_x11_const(XK_braille_dots_1234678); + define_x11_const(XK_braille_dots_5678); + define_x11_const(XK_braille_dots_15678); + define_x11_const(XK_braille_dots_25678); + define_x11_const(XK_braille_dots_125678); + define_x11_const(XK_braille_dots_35678); + define_x11_const(XK_braille_dots_135678); + define_x11_const(XK_braille_dots_235678); + define_x11_const(XK_braille_dots_1235678); + define_x11_const(XK_braille_dots_45678); + define_x11_const(XK_braille_dots_145678); + define_x11_const(XK_braille_dots_245678); + define_x11_const(XK_braille_dots_1245678); + define_x11_const(XK_braille_dots_345678); + define_x11_const(XK_braille_dots_1345678); + define_x11_const(XK_braille_dots_2345678); + define_x11_const(XK_braille_dots_12345678); +#endif /* XK_BRAILLE */ +#ifdef XK_SINHALA + define_x11_const(XK_Sinh_ng); + define_x11_const(XK_Sinh_h2); + define_x11_const(XK_Sinh_a); + define_x11_const(XK_Sinh_aa); + define_x11_const(XK_Sinh_ae); + define_x11_const(XK_Sinh_aee); + define_x11_const(XK_Sinh_i); + define_x11_const(XK_Sinh_ii); + define_x11_const(XK_Sinh_u); + define_x11_const(XK_Sinh_uu); + define_x11_const(XK_Sinh_ri); + define_x11_const(XK_Sinh_rii); + define_x11_const(XK_Sinh_lu); + define_x11_const(XK_Sinh_luu); + define_x11_const(XK_Sinh_e); + define_x11_const(XK_Sinh_ee); + define_x11_const(XK_Sinh_ai); + define_x11_const(XK_Sinh_o); + define_x11_const(XK_Sinh_oo); + define_x11_const(XK_Sinh_au); + define_x11_const(XK_Sinh_ka); + define_x11_const(XK_Sinh_kha); + define_x11_const(XK_Sinh_ga); + define_x11_const(XK_Sinh_gha); + define_x11_const(XK_Sinh_ng2); + define_x11_const(XK_Sinh_nga); + define_x11_const(XK_Sinh_ca); + define_x11_const(XK_Sinh_cha); + define_x11_const(XK_Sinh_ja); + define_x11_const(XK_Sinh_jha); + define_x11_const(XK_Sinh_nya); + define_x11_const(XK_Sinh_jnya); + define_x11_const(XK_Sinh_nja); + define_x11_const(XK_Sinh_tta); + define_x11_const(XK_Sinh_ttha); + define_x11_const(XK_Sinh_dda); + define_x11_const(XK_Sinh_ddha); + define_x11_const(XK_Sinh_nna); + define_x11_const(XK_Sinh_ndda); + define_x11_const(XK_Sinh_tha); + define_x11_const(XK_Sinh_thha); + define_x11_const(XK_Sinh_dha); + define_x11_const(XK_Sinh_dhha); + define_x11_const(XK_Sinh_na); + define_x11_const(XK_Sinh_ndha); + define_x11_const(XK_Sinh_pa); + define_x11_const(XK_Sinh_pha); + define_x11_const(XK_Sinh_ba); + define_x11_const(XK_Sinh_bha); + define_x11_const(XK_Sinh_ma); + define_x11_const(XK_Sinh_mba); + define_x11_const(XK_Sinh_ya); + define_x11_const(XK_Sinh_ra); + define_x11_const(XK_Sinh_la); + define_x11_const(XK_Sinh_va); + define_x11_const(XK_Sinh_sha); + define_x11_const(XK_Sinh_ssha); + define_x11_const(XK_Sinh_sa); + define_x11_const(XK_Sinh_ha); + define_x11_const(XK_Sinh_lla); + define_x11_const(XK_Sinh_fa); + define_x11_const(XK_Sinh_al); + define_x11_const(XK_Sinh_aa2); + define_x11_const(XK_Sinh_ae2); + define_x11_const(XK_Sinh_aee2); + define_x11_const(XK_Sinh_i2); + define_x11_const(XK_Sinh_ii2); + define_x11_const(XK_Sinh_u2); + define_x11_const(XK_Sinh_uu2); + define_x11_const(XK_Sinh_ru2); + define_x11_const(XK_Sinh_e2); + define_x11_const(XK_Sinh_ee2); + define_x11_const(XK_Sinh_ai2); + define_x11_const(XK_Sinh_o2); + define_x11_const(XK_Sinh_oo2); + define_x11_const(XK_Sinh_au2); + define_x11_const(XK_Sinh_lu2); + define_x11_const(XK_Sinh_ruu2); + define_x11_const(XK_Sinh_luu2); + define_x11_const(XK_Sinh_kunddaliya); +#endif /* XK_SINHALA */ +} diff --git a/src/xkremap_gem.c b/src/xkremap_gem.c index 5fd8f17..0660079 100644 --- a/src/xkremap_gem.c +++ b/src/xkremap_gem.c @@ -1,8 +1,8 @@ #include "mruby.h" -extern void mrb_mruby_xkremap_gem_init(mrb_state *mrb); extern void mrb_xkremap_xlib_wrapper_init(mrb_state *mrb, struct RClass *mXkremap); extern void mrb_xkremap_display_init(mrb_state *mrb, struct RClass *mXkremap); +extern void mrb_xkremap_x11_constants_init(mrb_state *mrb, struct RClass *mXkremap); void mrb_xkremap_gem_init(mrb_state *mrb) @@ -11,6 +11,7 @@ mrb_xkremap_gem_init(mrb_state *mrb) mrb_xkremap_xlib_wrapper_init(mrb, mXkremap); mrb_xkremap_display_init(mrb, mXkremap); + mrb_xkremap_x11_constants_init(mrb, mXkremap); mrb_gc_arena_restore(mrb, 0); }