godot/thirdparty/linuxbsd_headers/X11/keysymdef.h

/***********************************************************
Copyright 1987, 1994, 1998  The Open Group

Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.


Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts

                        All Rights Reserved

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Digital not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.

DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.

******************************************************************/

/*
 * The "X11 Window System Protocol" standard defines in Appendix A the
 * keysym codes. These 29-bit integer values identify characters or
 * functions associated with each key (e.g., via the visible
 * engraving) of a keyboard layout. This file assigns mnemonic macro
 * names for these keysyms.
 *
 * This file is also compiled (by src/util/makekeys.c in libX11) into
 * hash tables that can be accessed with X11 library functions such as
 * XStringToKeysym() and XKeysymToString().
 *
 * Where a keysym corresponds one-to-one to an ISO 10646 / Unicode
 * character, this is noted in a comment that provides both the U+xxxx
 * Unicode position, as well as the official Unicode name of the
 * character.
 *
 * Where the correspondence is either not one-to-one or semantically
 * unclear, the Unicode position and name are enclosed in
 * parentheses. Such legacy keysyms should be considered deprecated
 * and are not recommended for use in future keyboard mappings.
 *
 * For any future extension of the keysyms with characters already
 * found in ISO 10646 / Unicode, the following algorithm shall be
 * used. The new keysym code position will simply be the character's
 * Unicode number plus 0x01000000. The keysym values in the range
 * 0x01000100 to 0x0110ffff are reserved to represent Unicode
 * characters in the range U+0100 to U+10FFFF.
 *
 * While most newer Unicode-based X11 clients do already accept
 * Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it
 * will remain necessary for clients -- in the interest of
 * compatibility with existing servers -- to also understand the
 * existing legacy keysym values in the range 0x0100 to 0x20ff.
 *
 * Where several mnemonic names are defined for the same keysym in this
 * file, all but the first one listed should be considered deprecated.
 *
 * Mnemonic names for keysyms are defined in this file with lines
 * that match one of these Perl regular expressions:
 *
 *    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U\+([0-9A-F]{4,6}) (.*) \*\/\s*$/
 *    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U\+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
 *    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
 *
 * Before adding new keysyms, please do consider the following: In
 * addition to the keysym names defined in this file, the
 * XStringToKeysym() and XKeysymToString() functions will also handle
 * any keysym string of the form "U0020" to "U007E" and "U00A0" to
 * "U10FFFF" for all possible Unicode characters. In other words,
 * every possible Unicode character has already a keysym string
 * defined algorithmically, even if it is not listed here. Therefore,
 * defining an additional keysym macro is only necessary where a
 * non-hexadecimal mnemonic name is needed, or where the new keysym
 * does not represent any existing Unicode character.
 *
 * When adding new keysyms to this file, do not forget to also update the
 * following as needed:
 *
 *   - the mappings in src/KeyBind.c in the libX11 repo
 *     https://gitlab.freedesktop.org/xorg/lib/libx11
 *
 *   - the protocol specification in specs/keysyms.xml in this repo
 *     https://gitlab.freedesktop.org/xorg/proto/xorgproto
 *
 */

#define XK_VoidSymbol

#ifdef XK_MISCELLANY
/*
 * TTY function keys, cleverly chosen to map to ASCII, for convenience of
 * programming, but could have been arbitrary (at the cost of lookup
 * tables in client code).
 */

#define XK_BackSpace
#define XK_Tab
#define XK_Linefeed
#define XK_Clear
#define XK_Return
#define XK_Pause
#define XK_Scroll_Lock
#define XK_Sys_Req
#define XK_Escape
#define XK_Delete



/* International & multi-key character composition */

#define XK_Multi_key
#define XK_Codeinput
#define XK_SingleCandidate
#define XK_MultipleCandidate
#define XK_PreviousCandidate

/* Japanese keyboard support */

#define XK_Kanji
#define XK_Muhenkan
#define XK_Henkan_Mode
#define XK_Henkan
#define XK_Romaji
#define XK_Hiragana
#define XK_Katakana
#define XK_Hiragana_Katakana
#define XK_Zenkaku
#define XK_Hankaku
#define XK_Zenkaku_Hankaku
#define XK_Touroku
#define XK_Massyo
#define XK_Kana_Lock
#define XK_Kana_Shift
#define XK_Eisu_Shift
#define XK_Eisu_toggle
#define XK_Kanji_Bangou
#define XK_Zen_Koho
#define XK_Mae_Koho

/* 0xff31 thru 0xff3f are under XK_KOREAN */

/* Cursor control & motion */

#define XK_Home
#define XK_Left
#define XK_Up
#define XK_Right
#define XK_Down
#define XK_Prior
#define XK_Page_Up
#define XK_Next
#define XK_Page_Down
#define XK_End
#define XK_Begin


/* Misc functions */

#define XK_Select
#define XK_Print
#define XK_Execute
#define XK_Insert
#define XK_Undo
#define XK_Redo
#define XK_Menu
#define XK_Find
#define XK_Cancel
#define XK_Help
#define XK_Break
#define XK_Mode_switch
#define XK_script_switch
#define XK_Num_Lock

/* Keypad functions, keypad numbers cleverly chosen to map to ASCII */

#define XK_KP_Space
#define XK_KP_Tab
#define XK_KP_Enter
#define XK_KP_F1
#define XK_KP_F2
#define XK_KP_F3
#define XK_KP_F4
#define XK_KP_Home
#define XK_KP_Left
#define XK_KP_Up
#define XK_KP_Right
#define XK_KP_Down
#define XK_KP_Prior
#define XK_KP_Page_Up
#define XK_KP_Next
#define XK_KP_Page_Down
#define XK_KP_End
#define XK_KP_Begin
#define XK_KP_Insert
#define XK_KP_Delete
#define XK_KP_Equal
#define XK_KP_Multiply
#define XK_KP_Add
#define XK_KP_Separator
#define XK_KP_Subtract
#define XK_KP_Decimal
#define XK_KP_Divide

#define XK_KP_0
#define XK_KP_1
#define XK_KP_2
#define XK_KP_3
#define XK_KP_4
#define XK_KP_5
#define XK_KP_6
#define XK_KP_7
#define XK_KP_8
#define XK_KP_9



/*
 * Auxiliary functions; note the duplicate definitions for left and right
 * function keys;  Sun keyboards and a few other manufacturers have such
 * function key groups on the left and/or right sides of the keyboard.
 * We've not found a keyboard with more than 35 function keys total.
 */

#define XK_F1
#define XK_F2
#define XK_F3
#define XK_F4
#define XK_F5
#define XK_F6
#define XK_F7
#define XK_F8
#define XK_F9
#define XK_F10
#define XK_F11
#define XK_L1
#define XK_F12
#define XK_L2
#define XK_F13
#define XK_L3
#define XK_F14
#define XK_L4
#define XK_F15
#define XK_L5
#define XK_F16
#define XK_L6
#define XK_F17
#define XK_L7
#define XK_F18
#define XK_L8
#define XK_F19
#define XK_L9
#define XK_F20
#define XK_L10
#define XK_F21
#define XK_R1
#define XK_F22
#define XK_R2
#define XK_F23
#define XK_R3
#define XK_F24
#define XK_R4
#define XK_F25
#define XK_R5
#define XK_F26
#define XK_R6
#define XK_F27
#define XK_R7
#define XK_F28
#define XK_R8
#define XK_F29
#define XK_R9
#define XK_F30
#define XK_R10
#define XK_F31
#define XK_R11
#define XK_F32
#define XK_R12
#define XK_F33
#define XK_R13
#define XK_F34
#define XK_R14
#define XK_F35
#define XK_R15

/* Modifiers */

#define XK_Shift_L
#define XK_Shift_R
#define XK_Control_L
#define XK_Control_R
#define XK_Caps_Lock
#define XK_Shift_Lock

#define XK_Meta_L
#define XK_Meta_R
#define XK_Alt_L
#define XK_Alt_R
#define XK_Super_L
#define XK_Super_R
#define XK_Hyper_L
#define XK_Hyper_R
#endif /* XK_MISCELLANY */

/*
 * Keyboard (XKB) Extension function and modifier keys
 * (from Appendix C of "The X Keyboard Extension: Protocol Specification")
 * Byte 3 = 0xfe
 */

#ifdef XK_XKB_KEYS
#define XK_ISO_Lock
#define XK_ISO_Level2_Latch
#define XK_ISO_Level3_Shift
#define XK_ISO_Level3_Latch
#define XK_ISO_Level3_Lock
#define XK_ISO_Level5_Shift
#define XK_ISO_Level5_Latch
#define XK_ISO_Level5_Lock
#define XK_ISO_Group_Shift
#define XK_ISO_Group_Latch
#define XK_ISO_Group_Lock
#define XK_ISO_Next_Group
#define XK_ISO_Next_Group_Lock
#define XK_ISO_Prev_Group
#define XK_ISO_Prev_Group_Lock
#define XK_ISO_First_Group
#define XK_ISO_First_Group_Lock
#define XK_ISO_Last_Group
#define XK_ISO_Last_Group_Lock

#define XK_ISO_Left_Tab
#define XK_ISO_Move_Line_Up
#define XK_ISO_Move_Line_Down
#define XK_ISO_Partial_Line_Up
#define XK_ISO_Partial_Line_Down
#define XK_ISO_Partial_Space_Left
#define XK_ISO_Partial_Space_Right
#define XK_ISO_Set_Margin_Left
#define XK_ISO_Set_Margin_Right
#define XK_ISO_Release_Margin_Left
#define XK_ISO_Release_Margin_Right
#define XK_ISO_Release_Both_Margins
#define XK_ISO_Fast_Cursor_Left
#define XK_ISO_Fast_Cursor_Right
#define XK_ISO_Fast_Cursor_Up
#define XK_ISO_Fast_Cursor_Down
#define XK_ISO_Continuous_Underline
#define XK_ISO_Discontinuous_Underline
#define XK_ISO_Emphasize
#define XK_ISO_Center_Object
#define XK_ISO_Enter

#define XK_dead_grave
#define XK_dead_acute
#define XK_dead_circumflex
#define XK_dead_tilde
#define XK_dead_perispomeni
#define XK_dead_macron
#define XK_dead_breve
#define XK_dead_abovedot
#define XK_dead_diaeresis
#define XK_dead_abovering
#define XK_dead_doubleacute
#define XK_dead_caron
#define XK_dead_cedilla
#define XK_dead_ogonek
#define XK_dead_iota
#define XK_dead_voiced_sound
#define XK_dead_semivoiced_sound
#define XK_dead_belowdot
#define XK_dead_hook
#define XK_dead_horn
#define XK_dead_stroke
#define XK_dead_abovecomma
#define XK_dead_psili
#define XK_dead_abovereversedcomma
#define XK_dead_dasia
#define XK_dead_doublegrave
#define XK_dead_belowring
#define XK_dead_belowmacron
#define XK_dead_belowcircumflex
#define XK_dead_belowtilde
#define XK_dead_belowbreve
#define XK_dead_belowdiaeresis
#define XK_dead_invertedbreve
#define XK_dead_belowcomma
#define XK_dead_currency

/* extra dead elements for German T3 layout */
#define XK_dead_lowline
#define XK_dead_aboveverticalline
#define XK_dead_belowverticalline
#define XK_dead_longsolidusoverlay

/* dead vowels for universal syllable entry */
#define XK_dead_a
#define XK_dead_A
#define XK_dead_e
#define XK_dead_E
#define XK_dead_i
#define XK_dead_I
#define XK_dead_o
#define XK_dead_O
#define XK_dead_u
#define XK_dead_U
#define XK_dead_small_schwa
#define XK_dead_capital_schwa

#define XK_dead_greek

#define XK_First_Virtual_Screen
#define XK_Prev_Virtual_Screen
#define XK_Next_Virtual_Screen
#define XK_Last_Virtual_Screen
#define XK_Terminate_Server

#define XK_AccessX_Enable
#define XK_AccessX_Feedback_Enable
#define XK_RepeatKeys_Enable
#define XK_SlowKeys_Enable
#define XK_BounceKeys_Enable
#define XK_StickyKeys_Enable
#define XK_MouseKeys_Enable
#define XK_MouseKeys_Accel_Enable
#define XK_Overlay1_Enable
#define XK_Overlay2_Enable
#define XK_AudibleBell_Enable

#define XK_Pointer_Left
#define XK_Pointer_Right
#define XK_Pointer_Up
#define XK_Pointer_Down
#define XK_Pointer_UpLeft
#define XK_Pointer_UpRight
#define XK_Pointer_DownLeft
#define XK_Pointer_DownRight
#define XK_Pointer_Button_Dflt
#define XK_Pointer_Button1
#define XK_Pointer_Button2
#define XK_Pointer_Button3
#define XK_Pointer_Button4
#define XK_Pointer_Button5
#define XK_Pointer_DblClick_Dflt
#define XK_Pointer_DblClick1
#define XK_Pointer_DblClick2
#define XK_Pointer_DblClick3
#define XK_Pointer_DblClick4
#define XK_Pointer_DblClick5
#define XK_Pointer_Drag_Dflt
#define XK_Pointer_Drag1
#define XK_Pointer_Drag2
#define XK_Pointer_Drag3
#define XK_Pointer_Drag4
#define XK_Pointer_Drag5

#define XK_Pointer_EnableKeys
#define XK_Pointer_Accelerate
#define XK_Pointer_DfltBtnNext
#define XK_Pointer_DfltBtnPrev

/* Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method */

#define XK_ch
#define XK_Ch
#define XK_CH
#define XK_c_h
#define XK_C_h
#define XK_C_H

#endif /* XK_XKB_KEYS */

/*
 * 3270 Terminal Keys
 * Byte 3 = 0xfd
 */

#ifdef XK_3270
#define XK_3270_Duplicate
#define XK_3270_FieldMark
#define XK_3270_Right2
#define XK_3270_Left2
#define XK_3270_BackTab
#define XK_3270_EraseEOF
#define XK_3270_EraseInput
#define XK_3270_Reset
#define XK_3270_Quit
#define XK_3270_PA1
#define XK_3270_PA2
#define XK_3270_PA3
#define XK_3270_Test
#define XK_3270_Attn
#define XK_3270_CursorBlink
#define XK_3270_AltCursor
#define XK_3270_KeyClick
#define XK_3270_Jump
#define XK_3270_Ident
#define XK_3270_Rule
#define XK_3270_Copy
#define XK_3270_Play
#define XK_3270_Setup
#define XK_3270_Record
#define XK_3270_ChangeScreen
#define XK_3270_DeleteWord
#define XK_3270_ExSelect
#define XK_3270_CursorSelect
#define XK_3270_PrintScreen
#define XK_3270_Enter
#endif /* XK_3270 */

/*
 * Latin 1
 * (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
 * Byte 3 = 0
 */
#ifdef XK_LATIN1
#define XK_space
#define XK_exclam
#define XK_quotedbl
#define XK_numbersign
#define XK_dollar
#define XK_percent
#define XK_ampersand
#define XK_apostrophe
#define XK_quoteright
#define XK_parenleft
#define XK_parenright
#define XK_asterisk
#define XK_plus
#define XK_comma
#define XK_minus
#define XK_period
#define XK_slash
#define XK_0
#define XK_1
#define XK_2
#define XK_3
#define XK_4
#define XK_5
#define XK_6
#define XK_7
#define XK_8
#define XK_9
#define XK_colon
#define XK_semicolon
#define XK_less
#define XK_equal
#define XK_greater
#define XK_question
#define XK_at
#define XK_A
#define XK_B
#define XK_C
#define XK_D
#define XK_E
#define XK_F
#define XK_G
#define XK_H
#define XK_I
#define XK_J
#define XK_K
#define XK_L
#define XK_M
#define XK_N
#define XK_O
#define XK_P
#define XK_Q
#define XK_R
#define XK_S
#define XK_T
#define XK_U
#define XK_V
#define XK_W
#define XK_X
#define XK_Y
#define XK_Z
#define XK_bracketleft
#define XK_backslash
#define XK_bracketright
#define XK_asciicircum
#define XK_underscore
#define XK_grave
#define XK_quoteleft
#define XK_a
#define XK_b
#define XK_c
#define XK_d
#define XK_e
#define XK_f
#define XK_g
#define XK_h
#define XK_i
#define XK_j
#define XK_k
#define XK_l
#define XK_m
#define XK_n
#define XK_o
#define XK_p
#define XK_q
#define XK_r
#define XK_s
#define XK_t
#define XK_u
#define XK_v
#define XK_w
#define XK_x
#define XK_y
#define XK_z
#define XK_braceleft
#define XK_bar
#define XK_braceright
#define XK_asciitilde

#define XK_nobreakspace
#define XK_exclamdown
#define XK_cent
#define XK_sterling
#define XK_currency
#define XK_yen
#define XK_brokenbar
#define XK_section
#define XK_diaeresis
#define XK_copyright
#define XK_ordfeminine
#define XK_guillemotleft
#define XK_notsign
#define XK_hyphen
#define XK_registered
#define XK_macron
#define XK_degree
#define XK_plusminus
#define XK_twosuperior
#define XK_threesuperior
#define XK_acute
#define XK_mu
#define XK_paragraph
#define XK_periodcentered
#define XK_cedilla
#define XK_onesuperior
#define XK_masculine
#define XK_guillemotright
#define XK_onequarter
#define XK_onehalf
#define XK_threequarters
#define XK_questiondown
#define XK_Agrave
#define XK_Aacute
#define XK_Acircumflex
#define XK_Atilde
#define XK_Adiaeresis
#define XK_Aring
#define XK_AE
#define XK_Ccedilla
#define XK_Egrave
#define XK_Eacute
#define XK_Ecircumflex
#define XK_Ediaeresis
#define XK_Igrave
#define XK_Iacute
#define XK_Icircumflex
#define XK_Idiaeresis
#define XK_ETH
#define XK_Eth
#define XK_Ntilde
#define XK_Ograve
#define XK_Oacute
#define XK_Ocircumflex
#define XK_Otilde
#define XK_Odiaeresis
#define XK_multiply
#define XK_Oslash
#define XK_Ooblique
#define XK_Ugrave
#define XK_Uacute
#define XK_Ucircumflex
#define XK_Udiaeresis
#define XK_Yacute
#define XK_THORN
#define XK_Thorn
#define XK_ssharp
#define XK_agrave
#define XK_aacute
#define XK_acircumflex
#define XK_atilde
#define XK_adiaeresis
#define XK_aring
#define XK_ae
#define XK_ccedilla
#define XK_egrave
#define XK_eacute
#define XK_ecircumflex
#define XK_ediaeresis
#define XK_igrave
#define XK_iacute
#define XK_icircumflex
#define XK_idiaeresis
#define XK_eth
#define XK_ntilde
#define XK_ograve
#define XK_oacute
#define XK_ocircumflex
#define XK_otilde
#define XK_odiaeresis
#define XK_division
#define XK_oslash
#define XK_ooblique
#define XK_ugrave
#define XK_uacute
#define XK_ucircumflex
#define XK_udiaeresis
#define XK_yacute
#define XK_thorn
#define XK_ydiaeresis
#endif /* XK_LATIN1 */

/*
 * Latin 2
 * Byte 3 = 1
 */

#ifdef XK_LATIN2
#define XK_Aogonek
#define XK_breve
#define XK_Lstroke
#define XK_Lcaron
#define XK_Sacute
#define XK_Scaron
#define XK_Scedilla
#define XK_Tcaron
#define XK_Zacute
#define XK_Zcaron
#define XK_Zabovedot
#define XK_aogonek
#define XK_ogonek
#define XK_lstroke
#define XK_lcaron
#define XK_sacute
#define XK_caron
#define XK_scaron
#define XK_scedilla
#define XK_tcaron
#define XK_zacute
#define XK_doubleacute
#define XK_zcaron
#define XK_zabovedot
#define XK_Racute
#define XK_Abreve
#define XK_Lacute
#define XK_Cacute
#define XK_Ccaron
#define XK_Eogonek
#define XK_Ecaron
#define XK_Dcaron
#define XK_Dstroke
#define XK_Nacute
#define XK_Ncaron
#define XK_Odoubleacute
#define XK_Rcaron
#define XK_Uring
#define XK_Udoubleacute
#define XK_Tcedilla
#define XK_racute
#define XK_abreve
#define XK_lacute
#define XK_cacute
#define XK_ccaron
#define XK_eogonek
#define XK_ecaron
#define XK_dcaron
#define XK_dstroke
#define XK_nacute
#define XK_ncaron
#define XK_odoubleacute
#define XK_rcaron
#define XK_uring
#define XK_udoubleacute
#define XK_tcedilla
#define XK_abovedot
#endif /* XK_LATIN2 */

/*
 * Latin 3
 * Byte 3 = 2
 */

#ifdef XK_LATIN3
#define XK_Hstroke
#define XK_Hcircumflex
#define XK_Iabovedot
#define XK_Gbreve
#define XK_Jcircumflex
#define XK_hstroke
#define XK_hcircumflex
#define XK_idotless
#define XK_gbreve
#define XK_jcircumflex
#define XK_Cabovedot
#define XK_Ccircumflex
#define XK_Gabovedot
#define XK_Gcircumflex
#define XK_Ubreve
#define XK_Scircumflex
#define XK_cabovedot
#define XK_ccircumflex
#define XK_gabovedot
#define XK_gcircumflex
#define XK_ubreve
#define XK_scircumflex
#endif /* XK_LATIN3 */


/*
 * Latin 4
 * Byte 3 = 3
 */

#ifdef XK_LATIN4
#define XK_kra
#define XK_kappa
#define XK_Rcedilla
#define XK_Itilde
#define XK_Lcedilla
#define XK_Emacron
#define XK_Gcedilla
#define XK_Tslash
#define XK_rcedilla
#define XK_itilde
#define XK_lcedilla
#define XK_emacron
#define XK_gcedilla
#define XK_tslash
#define XK_ENG
#define XK_eng
#define XK_Amacron
#define XK_Iogonek
#define XK_Eabovedot
#define XK_Imacron
#define XK_Ncedilla
#define XK_Omacron
#define XK_Kcedilla
#define XK_Uogonek
#define XK_Utilde
#define XK_Umacron
#define XK_amacron
#define XK_iogonek
#define XK_eabovedot
#define XK_imacron
#define XK_ncedilla
#define XK_omacron
#define XK_kcedilla
#define XK_uogonek
#define XK_utilde
#define XK_umacron
#endif /* XK_LATIN4 */

/*
 * Latin 8
 */
#ifdef XK_LATIN8
#define XK_Wcircumflex
#define XK_wcircumflex
#define XK_Ycircumflex
#define XK_ycircumflex
#define XK_Babovedot
#define XK_babovedot
#define XK_Dabovedot
#define XK_dabovedot
#define XK_Fabovedot
#define XK_fabovedot
#define XK_Mabovedot
#define XK_mabovedot
#define XK_Pabovedot
#define XK_pabovedot
#define XK_Sabovedot
#define XK_sabovedot
#define XK_Tabovedot
#define XK_tabovedot
#define XK_Wgrave
#define XK_wgrave
#define XK_Wacute
#define XK_wacute
#define XK_Wdiaeresis
#define XK_wdiaeresis
#define XK_Ygrave
#define XK_ygrave
#endif /* XK_LATIN8 */

/*
 * Latin 9
 * Byte 3 = 0x13
 */

#ifdef XK_LATIN9
#define XK_OE
#define XK_oe
#define XK_Ydiaeresis
#endif /* XK_LATIN9 */

/*
 * Katakana
 * Byte 3 = 4
 */

#ifdef XK_KATAKANA
#define XK_overline
#define XK_kana_fullstop
#define XK_kana_openingbracket
#define XK_kana_closingbracket
#define XK_kana_comma
#define XK_kana_conjunctive
#define XK_kana_middledot
#define XK_kana_WO
#define XK_kana_a
#define XK_kana_i
#define XK_kana_u
#define XK_kana_e
#define XK_kana_o
#define XK_kana_ya
#define XK_kana_yu
#define XK_kana_yo
#define XK_kana_tsu
#define XK_kana_tu
#define XK_prolongedsound
#define XK_kana_A
#define XK_kana_I
#define XK_kana_U
#define XK_kana_E
#define XK_kana_O
#define XK_kana_KA
#define XK_kana_KI
#define XK_kana_KU
#define XK_kana_KE
#define XK_kana_KO
#define XK_kana_SA
#define XK_kana_SHI
#define XK_kana_SU
#define XK_kana_SE
#define XK_kana_SO
#define XK_kana_TA
#define XK_kana_CHI
#define XK_kana_TI
#define XK_kana_TSU
#define XK_kana_TU
#define XK_kana_TE
#define XK_kana_TO
#define XK_kana_NA
#define XK_kana_NI
#define XK_kana_NU
#define XK_kana_NE
#define XK_kana_NO
#define XK_kana_HA
#define XK_kana_HI
#define XK_kana_FU
#define XK_kana_HU
#define XK_kana_HE
#define XK_kana_HO
#define XK_kana_MA
#define XK_kana_MI
#define XK_kana_MU
#define XK_kana_ME
#define XK_kana_MO
#define XK_kana_YA
#define XK_kana_YU
#define XK_kana_YO
#define XK_kana_RA
#define XK_kana_RI
#define XK_kana_RU
#define XK_kana_RE
#define XK_kana_RO
#define XK_kana_WA
#define XK_kana_N
#define XK_voicedsound
#define XK_semivoicedsound
#define XK_kana_switch
#endif /* XK_KATAKANA */

/*
 * Arabic
 * Byte 3 = 5
 */

#ifdef XK_ARABIC
#define XK_Farsi_0
#define XK_Farsi_1
#define XK_Farsi_2
#define XK_Farsi_3
#define XK_Farsi_4
#define XK_Farsi_5
#define XK_Farsi_6
#define XK_Farsi_7
#define XK_Farsi_8
#define XK_Farsi_9
#define XK_Arabic_percent
#define XK_Arabic_superscript_alef
#define XK_Arabic_tteh
#define XK_Arabic_peh
#define XK_Arabic_tcheh
#define XK_Arabic_ddal
#define XK_Arabic_rreh
#define XK_Arabic_comma
#define XK_Arabic_fullstop
#define XK_Arabic_0
#define XK_Arabic_1
#define XK_Arabic_2
#define XK_Arabic_3
#define XK_Arabic_4
#define XK_Arabic_5
#define XK_Arabic_6
#define XK_Arabic_7
#define XK_Arabic_8
#define XK_Arabic_9
#define XK_Arabic_semicolon
#define XK_Arabic_question_mark
#define XK_Arabic_hamza
#define XK_Arabic_maddaonalef
#define XK_Arabic_hamzaonalef
#define XK_Arabic_hamzaonwaw
#define XK_Arabic_hamzaunderalef
#define XK_Arabic_hamzaonyeh
#define XK_Arabic_alef
#define XK_Arabic_beh
#define XK_Arabic_tehmarbuta
#define XK_Arabic_teh
#define XK_Arabic_theh
#define XK_Arabic_jeem
#define XK_Arabic_hah
#define XK_Arabic_khah
#define XK_Arabic_dal
#define XK_Arabic_thal
#define XK_Arabic_ra
#define XK_Arabic_zain
#define XK_Arabic_seen
#define XK_Arabic_sheen
#define XK_Arabic_sad
#define XK_Arabic_dad
#define XK_Arabic_tah
#define XK_Arabic_zah
#define XK_Arabic_ain
#define XK_Arabic_ghain
#define XK_Arabic_tatweel
#define XK_Arabic_feh
#define XK_Arabic_qaf
#define XK_Arabic_kaf
#define XK_Arabic_lam
#define XK_Arabic_meem
#define XK_Arabic_noon
#define XK_Arabic_ha
#define XK_Arabic_heh
#define XK_Arabic_waw
#define XK_Arabic_alefmaksura
#define XK_Arabic_yeh
#define XK_Arabic_fathatan
#define XK_Arabic_dammatan
#define XK_Arabic_kasratan
#define XK_Arabic_fatha
#define XK_Arabic_damma
#define XK_Arabic_kasra
#define XK_Arabic_shadda
#define XK_Arabic_sukun
#define XK_Arabic_madda_above
#define XK_Arabic_hamza_above
#define XK_Arabic_hamza_below
#define XK_Arabic_jeh
#define XK_Arabic_veh
#define XK_Arabic_keheh
#define XK_Arabic_gaf
#define XK_Arabic_noon_ghunna
#define XK_Arabic_heh_doachashmee
#define XK_Farsi_yeh
#define XK_Arabic_farsi_yeh
#define XK_Arabic_yeh_baree
#define XK_Arabic_heh_goal
#define XK_Arabic_switch
#endif /* XK_ARABIC */

/*
 * Cyrillic
 * Byte 3 = 6
 */
#ifdef XK_CYRILLIC
#define XK_Cyrillic_GHE_bar
#define XK_Cyrillic_ghe_bar
#define XK_Cyrillic_ZHE_descender
#define XK_Cyrillic_zhe_descender
#define XK_Cyrillic_KA_descender
#define XK_Cyrillic_ka_descender
#define XK_Cyrillic_KA_vertstroke
#define XK_Cyrillic_ka_vertstroke
#define XK_Cyrillic_EN_descender
#define XK_Cyrillic_en_descender
#define XK_Cyrillic_U_straight
#define XK_Cyrillic_u_straight
#define XK_Cyrillic_U_straight_bar
#define XK_Cyrillic_u_straight_bar
#define XK_Cyrillic_HA_descender
#define XK_Cyrillic_ha_descender
#define XK_Cyrillic_CHE_descender
#define XK_Cyrillic_che_descender
#define XK_Cyrillic_CHE_vertstroke
#define XK_Cyrillic_che_vertstroke
#define XK_Cyrillic_SHHA
#define XK_Cyrillic_shha

#define XK_Cyrillic_SCHWA
#define XK_Cyrillic_schwa
#define XK_Cyrillic_I_macron
#define XK_Cyrillic_i_macron
#define XK_Cyrillic_O_bar
#define XK_Cyrillic_o_bar
#define XK_Cyrillic_U_macron
#define XK_Cyrillic_u_macron

#define XK_Serbian_dje
#define XK_Macedonia_gje
#define XK_Cyrillic_io
#define XK_Ukrainian_ie
#define XK_Ukranian_je
#define XK_Macedonia_dse
#define XK_Ukrainian_i
#define XK_Ukranian_i
#define XK_Ukrainian_yi
#define XK_Ukranian_yi
#define XK_Cyrillic_je
#define XK_Serbian_je
#define XK_Cyrillic_lje
#define XK_Serbian_lje
#define XK_Cyrillic_nje
#define XK_Serbian_nje
#define XK_Serbian_tshe
#define XK_Macedonia_kje
#define XK_Ukrainian_ghe_with_upturn
#define XK_Byelorussian_shortu
#define XK_Cyrillic_dzhe
#define XK_Serbian_dze
#define XK_numerosign
#define XK_Serbian_DJE
#define XK_Macedonia_GJE
#define XK_Cyrillic_IO
#define XK_Ukrainian_IE
#define XK_Ukranian_JE
#define XK_Macedonia_DSE
#define XK_Ukrainian_I
#define XK_Ukranian_I
#define XK_Ukrainian_YI
#define XK_Ukranian_YI
#define XK_Cyrillic_JE
#define XK_Serbian_JE
#define XK_Cyrillic_LJE
#define XK_Serbian_LJE
#define XK_Cyrillic_NJE
#define XK_Serbian_NJE
#define XK_Serbian_TSHE
#define XK_Macedonia_KJE
#define XK_Ukrainian_GHE_WITH_UPTURN
#define XK_Byelorussian_SHORTU
#define XK_Cyrillic_DZHE
#define XK_Serbian_DZE
#define XK_Cyrillic_yu
#define XK_Cyrillic_a
#define XK_Cyrillic_be
#define XK_Cyrillic_tse
#define XK_Cyrillic_de
#define XK_Cyrillic_ie
#define XK_Cyrillic_ef
#define XK_Cyrillic_ghe
#define XK_Cyrillic_ha
#define XK_Cyrillic_i
#define XK_Cyrillic_shorti
#define XK_Cyrillic_ka
#define XK_Cyrillic_el
#define XK_Cyrillic_em
#define XK_Cyrillic_en
#define XK_Cyrillic_o
#define XK_Cyrillic_pe
#define XK_Cyrillic_ya
#define XK_Cyrillic_er
#define XK_Cyrillic_es
#define XK_Cyrillic_te
#define XK_Cyrillic_u
#define XK_Cyrillic_zhe
#define XK_Cyrillic_ve
#define XK_Cyrillic_softsign
#define XK_Cyrillic_yeru
#define XK_Cyrillic_ze
#define XK_Cyrillic_sha
#define XK_Cyrillic_e
#define XK_Cyrillic_shcha
#define XK_Cyrillic_che
#define XK_Cyrillic_hardsign
#define XK_Cyrillic_YU
#define XK_Cyrillic_A
#define XK_Cyrillic_BE
#define XK_Cyrillic_TSE
#define XK_Cyrillic_DE
#define XK_Cyrillic_IE
#define XK_Cyrillic_EF
#define XK_Cyrillic_GHE
#define XK_Cyrillic_HA
#define XK_Cyrillic_I
#define XK_Cyrillic_SHORTI
#define XK_Cyrillic_KA
#define XK_Cyrillic_EL
#define XK_Cyrillic_EM
#define XK_Cyrillic_EN
#define XK_Cyrillic_O
#define XK_Cyrillic_PE
#define XK_Cyrillic_YA
#define XK_Cyrillic_ER
#define XK_Cyrillic_ES
#define XK_Cyrillic_TE
#define XK_Cyrillic_U
#define XK_Cyrillic_ZHE
#define XK_Cyrillic_VE
#define XK_Cyrillic_SOFTSIGN
#define XK_Cyrillic_YERU
#define XK_Cyrillic_ZE
#define XK_Cyrillic_SHA
#define XK_Cyrillic_E
#define XK_Cyrillic_SHCHA
#define XK_Cyrillic_CHE
#define XK_Cyrillic_HARDSIGN
#endif /* XK_CYRILLIC */

/*
 * Greek
 * (based on an early draft of, and not quite identical to, ISO/IEC 8859-7)
 * Byte 3 = 7
 */

#ifdef XK_GREEK
#define XK_Greek_ALPHAaccent
#define XK_Greek_EPSILONaccent
#define XK_Greek_ETAaccent
#define XK_Greek_IOTAaccent
#define XK_Greek_IOTAdieresis
#define XK_Greek_IOTAdiaeresis
#define XK_Greek_OMICRONaccent
#define XK_Greek_UPSILONaccent
#define XK_Greek_UPSILONdieresis
#define XK_Greek_OMEGAaccent
#define XK_Greek_accentdieresis
#define XK_Greek_horizbar
#define XK_Greek_alphaaccent
#define XK_Greek_epsilonaccent
#define XK_Greek_etaaccent
#define XK_Greek_iotaaccent
#define XK_Greek_iotadieresis
#define XK_Greek_iotaaccentdieresis
#define XK_Greek_omicronaccent
#define XK_Greek_upsilonaccent
#define XK_Greek_upsilondieresis
#define XK_Greek_upsilonaccentdieresis
#define XK_Greek_omegaaccent
#define XK_Greek_ALPHA
#define XK_Greek_BETA
#define XK_Greek_GAMMA
#define XK_Greek_DELTA
#define XK_Greek_EPSILON
#define XK_Greek_ZETA
#define XK_Greek_ETA
#define XK_Greek_THETA
#define XK_Greek_IOTA
#define XK_Greek_KAPPA
#define XK_Greek_LAMDA
#define XK_Greek_LAMBDA
#define XK_Greek_MU
#define XK_Greek_NU
#define XK_Greek_XI
#define XK_Greek_OMICRON
#define XK_Greek_PI
#define XK_Greek_RHO
#define XK_Greek_SIGMA
#define XK_Greek_TAU
#define XK_Greek_UPSILON
#define XK_Greek_PHI
#define XK_Greek_CHI
#define XK_Greek_PSI
#define XK_Greek_OMEGA
#define XK_Greek_alpha
#define XK_Greek_beta
#define XK_Greek_gamma
#define XK_Greek_delta
#define XK_Greek_epsilon
#define XK_Greek_zeta
#define XK_Greek_eta
#define XK_Greek_theta
#define XK_Greek_iota
#define XK_Greek_kappa
#define XK_Greek_lamda
#define XK_Greek_lambda
#define XK_Greek_mu
#define XK_Greek_nu
#define XK_Greek_xi
#define XK_Greek_omicron
#define XK_Greek_pi
#define XK_Greek_rho
#define XK_Greek_sigma
#define XK_Greek_finalsmallsigma
#define XK_Greek_tau
#define XK_Greek_upsilon
#define XK_Greek_phi
#define XK_Greek_chi
#define XK_Greek_psi
#define XK_Greek_omega
#define XK_Greek_switch
#endif /* XK_GREEK */

/*
 * Technical
 * (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html)
 * Byte 3 = 8
 */

#ifdef XK_TECHNICAL
#define XK_leftradical
#define XK_topleftradical
#define XK_horizconnector
#define XK_topintegral
#define XK_botintegral
#define XK_vertconnector
#define XK_topleftsqbracket
#define XK_botleftsqbracket
#define XK_toprightsqbracket
#define XK_botrightsqbracket
#define XK_topleftparens
#define XK_botleftparens
#define XK_toprightparens
#define XK_botrightparens
#define XK_leftmiddlecurlybrace
#define XK_rightmiddlecurlybrace
#define XK_topleftsummation
#define XK_botleftsummation
#define XK_topvertsummationconnector
#define XK_botvertsummationconnector
#define XK_toprightsummation
#define XK_botrightsummation
#define XK_rightmiddlesummation
#define XK_lessthanequal
#define XK_notequal
#define XK_greaterthanequal
#define XK_integral
#define XK_therefore
#define XK_variation
#define XK_infinity
#define XK_nabla
#define XK_approximate
#define XK_similarequal
#define XK_ifonlyif
#define XK_implies
#define XK_identical
#define XK_radical
#define XK_includedin
#define XK_includes
#define XK_intersection
#define XK_union
#define XK_logicaland
#define XK_logicalor
#define XK_partialderivative
#define XK_function
#define XK_leftarrow
#define XK_uparrow
#define XK_rightarrow
#define XK_downarrow
#endif /* XK_TECHNICAL */

/*
 * Special
 * (from the DEC VT100 Special Graphics Character Set)
 * Byte 3 = 9
 */

#ifdef XK_SPECIAL
#define XK_blank
#define XK_soliddiamond
#define XK_checkerboard
#define XK_ht
#define XK_ff
#define XK_cr
#define XK_lf
#define XK_nl
#define XK_vt
#define XK_lowrightcorner
#define XK_uprightcorner
#define XK_upleftcorner
#define XK_lowleftcorner
#define XK_crossinglines
#define XK_horizlinescan1
#define XK_horizlinescan3
#define XK_horizlinescan5
#define XK_horizlinescan7
#define XK_horizlinescan9
#define XK_leftt
#define XK_rightt
#define XK_bott
#define XK_topt
#define XK_vertbar
#endif /* XK_SPECIAL */

/*
 * Publishing
 * (these are probably from a long forgotten DEC Publishing
 * font that once shipped with DECwrite)
 * Byte 3 = 0x0a
 */

#ifdef XK_PUBLISHING
#define XK_emspace
#define XK_enspace
#define XK_em3space
#define XK_em4space
#define XK_digitspace
#define XK_punctspace
#define XK_thinspace
#define XK_hairspace
#define XK_emdash
#define XK_endash
#define XK_signifblank
#define XK_ellipsis
#define XK_doubbaselinedot
#define XK_onethird
#define XK_twothirds
#define XK_onefifth
#define XK_twofifths
#define XK_threefifths
#define XK_fourfifths
#define XK_onesixth
#define XK_fivesixths
#define XK_careof
#define XK_figdash
#define XK_leftanglebracket
#define XK_decimalpoint
#define XK_rightanglebracket
#define XK_marker
#define XK_oneeighth
#define XK_threeeighths
#define XK_fiveeighths
#define XK_seveneighths
#define XK_trademark
#define XK_signaturemark
#define XK_trademarkincircle
#define XK_leftopentriangle
#define XK_rightopentriangle
#define XK_emopencircle
#define XK_emopenrectangle
#define XK_leftsinglequotemark
#define XK_rightsinglequotemark
#define XK_leftdoublequotemark
#define XK_rightdoublequotemark
#define XK_prescription
#define XK_permille
#define XK_minutes
#define XK_seconds
#define XK_latincross
#define XK_hexagram
#define XK_filledrectbullet
#define XK_filledlefttribullet
#define XK_filledrighttribullet
#define XK_emfilledcircle
#define XK_emfilledrect
#define XK_enopencircbullet
#define XK_enopensquarebullet
#define XK_openrectbullet
#define XK_opentribulletup
#define XK_opentribulletdown
#define XK_openstar
#define XK_enfilledcircbullet
#define XK_enfilledsqbullet
#define XK_filledtribulletup
#define XK_filledtribulletdown
#define XK_leftpointer
#define XK_rightpointer
#define XK_club
#define XK_diamond
#define XK_heart
#define XK_maltesecross
#define XK_dagger
#define XK_doubledagger
#define XK_checkmark
#define XK_ballotcross
#define XK_musicalsharp
#define XK_musicalflat
#define XK_malesymbol
#define XK_femalesymbol
#define XK_telephone
#define XK_telephonerecorder
#define XK_phonographcopyright
#define XK_caret
#define XK_singlelowquotemark
#define XK_doublelowquotemark
#define XK_cursor
#endif /* XK_PUBLISHING */

/*
 * APL
 * Byte 3 = 0x0b
 */

#ifdef XK_APL
#define XK_leftcaret
#define XK_rightcaret
#define XK_downcaret
#define XK_upcaret
#define XK_overbar
#define XK_downtack
#define XK_upshoe
#define XK_downstile
#define XK_underbar
#define XK_jot
#define XK_quad
#define XK_uptack
#define XK_circle
#define XK_upstile
#define XK_downshoe
#define XK_rightshoe
#define XK_leftshoe
#define XK_lefttack
#define XK_righttack
#endif /* XK_APL */

/*
 * Hebrew
 * Byte 3 = 0x0c
 */

#ifdef XK_HEBREW
#define XK_hebrew_doublelowline
#define XK_hebrew_aleph
#define XK_hebrew_bet
#define XK_hebrew_beth
#define XK_hebrew_gimel
#define XK_hebrew_gimmel
#define XK_hebrew_dalet
#define XK_hebrew_daleth
#define XK_hebrew_he
#define XK_hebrew_waw
#define XK_hebrew_zain
#define XK_hebrew_zayin
#define XK_hebrew_chet
#define XK_hebrew_het
#define XK_hebrew_tet
#define XK_hebrew_teth
#define XK_hebrew_yod
#define XK_hebrew_finalkaph
#define XK_hebrew_kaph
#define XK_hebrew_lamed
#define XK_hebrew_finalmem
#define XK_hebrew_mem
#define XK_hebrew_finalnun
#define XK_hebrew_nun
#define XK_hebrew_samech
#define XK_hebrew_samekh
#define XK_hebrew_ayin
#define XK_hebrew_finalpe
#define XK_hebrew_pe
#define XK_hebrew_finalzade
#define XK_hebrew_finalzadi
#define XK_hebrew_zade
#define XK_hebrew_zadi
#define XK_hebrew_qoph
#define XK_hebrew_kuf
#define XK_hebrew_resh
#define XK_hebrew_shin
#define XK_hebrew_taw
#define XK_hebrew_taf
#define XK_Hebrew_switch
#endif /* XK_HEBREW */

/*
 * Thai
 * Byte 3 = 0x0d
 */

#ifdef XK_THAI
#define XK_Thai_kokai
#define XK_Thai_khokhai
#define XK_Thai_khokhuat
#define XK_Thai_khokhwai
#define XK_Thai_khokhon
#define XK_Thai_khorakhang
#define XK_Thai_ngongu
#define XK_Thai_chochan
#define XK_Thai_choching
#define XK_Thai_chochang
#define XK_Thai_soso
#define XK_Thai_chochoe
#define XK_Thai_yoying
#define XK_Thai_dochada
#define XK_Thai_topatak
#define XK_Thai_thothan
#define XK_Thai_thonangmontho
#define XK_Thai_thophuthao
#define XK_Thai_nonen
#define XK_Thai_dodek
#define XK_Thai_totao
#define XK_Thai_thothung
#define XK_Thai_thothahan
#define XK_Thai_thothong
#define XK_Thai_nonu
#define XK_Thai_bobaimai
#define XK_Thai_popla
#define XK_Thai_phophung
#define XK_Thai_fofa
#define XK_Thai_phophan
#define XK_Thai_fofan
#define XK_Thai_phosamphao
#define XK_Thai_moma
#define XK_Thai_yoyak
#define XK_Thai_rorua
#define XK_Thai_ru
#define XK_Thai_loling
#define XK_Thai_lu
#define XK_Thai_wowaen
#define XK_Thai_sosala
#define XK_Thai_sorusi
#define XK_Thai_sosua
#define XK_Thai_hohip
#define XK_Thai_lochula
#define XK_Thai_oang
#define XK_Thai_honokhuk
#define XK_Thai_paiyannoi
#define XK_Thai_saraa
#define XK_Thai_maihanakat
#define XK_Thai_saraaa
#define XK_Thai_saraam
#define XK_Thai_sarai
#define XK_Thai_saraii
#define XK_Thai_saraue
#define XK_Thai_sarauee
#define XK_Thai_sarau
#define XK_Thai_sarauu
#define XK_Thai_phinthu
#define XK_Thai_maihanakat_maitho
#define XK_Thai_baht
#define XK_Thai_sarae
#define XK_Thai_saraae
#define XK_Thai_sarao
#define XK_Thai_saraaimaimuan
#define XK_Thai_saraaimaimalai
#define XK_Thai_lakkhangyao
#define XK_Thai_maiyamok
#define XK_Thai_maitaikhu
#define XK_Thai_maiek
#define XK_Thai_maitho
#define XK_Thai_maitri
#define XK_Thai_maichattawa
#define XK_Thai_thanthakhat
#define XK_Thai_nikhahit
#define XK_Thai_leksun
#define XK_Thai_leknung
#define XK_Thai_leksong
#define XK_Thai_leksam
#define XK_Thai_leksi
#define XK_Thai_lekha
#define XK_Thai_lekhok
#define XK_Thai_lekchet
#define XK_Thai_lekpaet
#define XK_Thai_lekkao
#endif /* XK_THAI */

/*
 * Korean
 * Byte 3 = 0x0e
 */

#ifdef XK_KOREAN

#define XK_Hangul
#define XK_Hangul_Start
#define XK_Hangul_End
#define XK_Hangul_Hanja
#define XK_Hangul_Jamo
#define XK_Hangul_Romaja
#define XK_Hangul_Codeinput
#define XK_Hangul_Jeonja
#define XK_Hangul_Banja
#define XK_Hangul_PreHanja
#define XK_Hangul_PostHanja
#define XK_Hangul_SingleCandidate
#define XK_Hangul_MultipleCandidate
#define XK_Hangul_PreviousCandidate
#define XK_Hangul_Special
#define XK_Hangul_switch

/* Hangul Consonant Characters */
#define XK_Hangul_Kiyeog
#define XK_Hangul_SsangKiyeog
#define XK_Hangul_KiyeogSios
#define XK_Hangul_Nieun
#define XK_Hangul_NieunJieuj
#define XK_Hangul_NieunHieuh
#define XK_Hangul_Dikeud
#define XK_Hangul_SsangDikeud
#define XK_Hangul_Rieul
#define XK_Hangul_RieulKiyeog
#define XK_Hangul_RieulMieum
#define XK_Hangul_RieulPieub
#define XK_Hangul_RieulSios
#define XK_Hangul_RieulTieut
#define XK_Hangul_RieulPhieuf
#define XK_Hangul_RieulHieuh
#define XK_Hangul_Mieum
#define XK_Hangul_Pieub
#define XK_Hangul_SsangPieub
#define XK_Hangul_PieubSios
#define XK_Hangul_Sios
#define XK_Hangul_SsangSios
#define XK_Hangul_Ieung
#define XK_Hangul_Jieuj
#define XK_Hangul_SsangJieuj
#define XK_Hangul_Cieuc
#define XK_Hangul_Khieuq
#define XK_Hangul_Tieut
#define XK_Hangul_Phieuf
#define XK_Hangul_Hieuh

/* Hangul Vowel Characters */
#define XK_Hangul_A
#define XK_Hangul_AE
#define XK_Hangul_YA
#define XK_Hangul_YAE
#define XK_Hangul_EO
#define XK_Hangul_E
#define XK_Hangul_YEO
#define XK_Hangul_YE
#define XK_Hangul_O
#define XK_Hangul_WA
#define XK_Hangul_WAE
#define XK_Hangul_OE
#define XK_Hangul_YO
#define XK_Hangul_U
#define XK_Hangul_WEO
#define XK_Hangul_WE
#define XK_Hangul_WI
#define XK_Hangul_YU
#define XK_Hangul_EU
#define XK_Hangul_YI
#define XK_Hangul_I

/* Hangul syllable-final (JongSeong) Characters */
#define XK_Hangul_J_Kiyeog
#define XK_Hangul_J_SsangKiyeog
#define XK_Hangul_J_KiyeogSios
#define XK_Hangul_J_Nieun
#define XK_Hangul_J_NieunJieuj
#define XK_Hangul_J_NieunHieuh
#define XK_Hangul_J_Dikeud
#define XK_Hangul_J_Rieul
#define XK_Hangul_J_RieulKiyeog
#define XK_Hangul_J_RieulMieum
#define XK_Hangul_J_RieulPieub
#define XK_Hangul_J_RieulSios
#define XK_Hangul_J_RieulTieut
#define XK_Hangul_J_RieulPhieuf
#define XK_Hangul_J_RieulHieuh
#define XK_Hangul_J_Mieum
#define XK_Hangul_J_Pieub
#define XK_Hangul_J_PieubSios
#define XK_Hangul_J_Sios
#define XK_Hangul_J_SsangSios
#define XK_Hangul_J_Ieung
#define XK_Hangul_J_Jieuj
#define XK_Hangul_J_Cieuc
#define XK_Hangul_J_Khieuq
#define XK_Hangul_J_Tieut
#define XK_Hangul_J_Phieuf
#define XK_Hangul_J_Hieuh

/* Ancient Hangul Consonant Characters */
#define XK_Hangul_RieulYeorinHieuh
#define XK_Hangul_SunkyeongeumMieum
#define XK_Hangul_SunkyeongeumPieub
#define XK_Hangul_PanSios
#define XK_Hangul_KkogjiDalrinIeung
#define XK_Hangul_SunkyeongeumPhieuf
#define XK_Hangul_YeorinHieuh

/* Ancient Hangul Vowel Characters */
#define XK_Hangul_AraeA
#define XK_Hangul_AraeAE

/* Ancient Hangul syllable-final (JongSeong) Characters */
#define XK_Hangul_J_PanSios
#define XK_Hangul_J_KkogjiDalrinIeung
#define XK_Hangul_J_YeorinHieuh

/* Korean currency symbol */
#define XK_Korean_Won

#endif /* XK_KOREAN */

/*
 * Armenian
 */

#ifdef XK_ARMENIAN
#define XK_Armenian_ligature_ew
#define XK_Armenian_full_stop
#define XK_Armenian_verjaket
#define XK_Armenian_separation_mark
#define XK_Armenian_but
#define XK_Armenian_hyphen
#define XK_Armenian_yentamna
#define XK_Armenian_exclam
#define XK_Armenian_amanak
#define XK_Armenian_accent
#define XK_Armenian_shesht
#define XK_Armenian_question
#define XK_Armenian_paruyk
#define XK_Armenian_AYB
#define XK_Armenian_ayb
#define XK_Armenian_BEN
#define XK_Armenian_ben
#define XK_Armenian_GIM
#define XK_Armenian_gim
#define XK_Armenian_DA
#define XK_Armenian_da
#define XK_Armenian_YECH
#define XK_Armenian_yech
#define XK_Armenian_ZA
#define XK_Armenian_za
#define XK_Armenian_E
#define XK_Armenian_e
#define XK_Armenian_AT
#define XK_Armenian_at
#define XK_Armenian_TO
#define XK_Armenian_to
#define XK_Armenian_ZHE
#define XK_Armenian_zhe
#define XK_Armenian_INI
#define XK_Armenian_ini
#define XK_Armenian_LYUN
#define XK_Armenian_lyun
#define XK_Armenian_KHE
#define XK_Armenian_khe
#define XK_Armenian_TSA
#define XK_Armenian_tsa
#define XK_Armenian_KEN
#define XK_Armenian_ken
#define XK_Armenian_HO
#define XK_Armenian_ho
#define XK_Armenian_DZA
#define XK_Armenian_dza
#define XK_Armenian_GHAT
#define XK_Armenian_ghat
#define XK_Armenian_TCHE
#define XK_Armenian_tche
#define XK_Armenian_MEN
#define XK_Armenian_men
#define XK_Armenian_HI
#define XK_Armenian_hi
#define XK_Armenian_NU
#define XK_Armenian_nu
#define XK_Armenian_SHA
#define XK_Armenian_sha
#define XK_Armenian_VO
#define XK_Armenian_vo
#define XK_Armenian_CHA
#define XK_Armenian_cha
#define XK_Armenian_PE
#define XK_Armenian_pe
#define XK_Armenian_JE
#define XK_Armenian_je
#define XK_Armenian_RA
#define XK_Armenian_ra
#define XK_Armenian_SE
#define XK_Armenian_se
#define XK_Armenian_VEV
#define XK_Armenian_vev
#define XK_Armenian_TYUN
#define XK_Armenian_tyun
#define XK_Armenian_RE
#define XK_Armenian_re
#define XK_Armenian_TSO
#define XK_Armenian_tso
#define XK_Armenian_VYUN
#define XK_Armenian_vyun
#define XK_Armenian_PYUR
#define XK_Armenian_pyur
#define XK_Armenian_KE
#define XK_Armenian_ke
#define XK_Armenian_O
#define XK_Armenian_o
#define XK_Armenian_FE
#define XK_Armenian_fe
#define XK_Armenian_apostrophe
#endif /* XK_ARMENIAN */

/*
 * Georgian
 */

#ifdef XK_GEORGIAN
#define XK_Georgian_an
#define XK_Georgian_ban
#define XK_Georgian_gan
#define XK_Georgian_don
#define XK_Georgian_en
#define XK_Georgian_vin
#define XK_Georgian_zen
#define XK_Georgian_tan
#define XK_Georgian_in
#define XK_Georgian_kan
#define XK_Georgian_las
#define XK_Georgian_man
#define XK_Georgian_nar
#define XK_Georgian_on
#define XK_Georgian_par
#define XK_Georgian_zhar
#define XK_Georgian_rae
#define XK_Georgian_san
#define XK_Georgian_tar
#define XK_Georgian_un
#define XK_Georgian_phar
#define XK_Georgian_khar
#define XK_Georgian_ghan
#define XK_Georgian_qar
#define XK_Georgian_shin
#define XK_Georgian_chin
#define XK_Georgian_can
#define XK_Georgian_jil
#define XK_Georgian_cil
#define XK_Georgian_char
#define XK_Georgian_xan
#define XK_Georgian_jhan
#define XK_Georgian_hae
#define XK_Georgian_he
#define XK_Georgian_hie
#define XK_Georgian_we
#define XK_Georgian_har
#define XK_Georgian_hoe
#define XK_Georgian_fi
#endif /* XK_GEORGIAN */

/*
 * Azeri (and other Turkic or Caucasian languages)
 */

#ifdef XK_CAUCASUS
/* latin */
#define XK_Xabovedot
#define XK_Ibreve
#define XK_Zstroke
#define XK_Gcaron
#define XK_Ocaron
#define XK_Obarred
#define XK_xabovedot
#define XK_ibreve
#define XK_zstroke
#define XK_gcaron
#define XK_ocaron
#define XK_obarred
#define XK_SCHWA
#define XK_schwa
#define XK_EZH
#define XK_ezh
/* those are not really Caucasus */
/* For Inupiak */
#define XK_Lbelowdot
#define XK_lbelowdot
#endif /* XK_CAUCASUS */

/*
 * Vietnamese
 */

#ifdef XK_VIETNAMESE
#define XK_Abelowdot
#define XK_abelowdot
#define XK_Ahook
#define XK_ahook
#define XK_Acircumflexacute
#define XK_acircumflexacute
#define XK_Acircumflexgrave
#define XK_acircumflexgrave
#define XK_Acircumflexhook
#define XK_acircumflexhook
#define XK_Acircumflextilde
#define XK_acircumflextilde
#define XK_Acircumflexbelowdot
#define XK_acircumflexbelowdot
#define XK_Abreveacute
#define XK_abreveacute
#define XK_Abrevegrave
#define XK_abrevegrave
#define XK_Abrevehook
#define XK_abrevehook
#define XK_Abrevetilde
#define XK_abrevetilde
#define XK_Abrevebelowdot
#define XK_abrevebelowdot
#define XK_Ebelowdot
#define XK_ebelowdot
#define XK_Ehook
#define XK_ehook
#define XK_Etilde
#define XK_etilde
#define XK_Ecircumflexacute
#define XK_ecircumflexacute
#define XK_Ecircumflexgrave
#define XK_ecircumflexgrave
#define XK_Ecircumflexhook
#define XK_ecircumflexhook
#define XK_Ecircumflextilde
#define XK_ecircumflextilde
#define XK_Ecircumflexbelowdot
#define XK_ecircumflexbelowdot
#define XK_Ihook
#define XK_ihook
#define XK_Ibelowdot
#define XK_ibelowdot
#define XK_Obelowdot
#define XK_obelowdot
#define XK_Ohook
#define XK_ohook
#define XK_Ocircumflexacute
#define XK_ocircumflexacute
#define XK_Ocircumflexgrave
#define XK_ocircumflexgrave
#define XK_Ocircumflexhook
#define XK_ocircumflexhook
#define XK_Ocircumflextilde
#define XK_ocircumflextilde
#define XK_Ocircumflexbelowdot
#define XK_ocircumflexbelowdot
#define XK_Ohornacute
#define XK_ohornacute
#define XK_Ohorngrave
#define XK_ohorngrave
#define XK_Ohornhook
#define XK_ohornhook
#define XK_Ohorntilde
#define XK_ohorntilde
#define XK_Ohornbelowdot
#define XK_ohornbelowdot
#define XK_Ubelowdot
#define XK_ubelowdot
#define XK_Uhook
#define XK_uhook
#define XK_Uhornacute
#define XK_uhornacute
#define XK_Uhorngrave
#define XK_uhorngrave
#define XK_Uhornhook
#define XK_uhornhook
#define XK_Uhorntilde
#define XK_uhorntilde
#define XK_Uhornbelowdot
#define XK_uhornbelowdot
#define XK_Ybelowdot
#define XK_ybelowdot
#define XK_Yhook
#define XK_yhook
#define XK_Ytilde
#define XK_ytilde
#define XK_Ohorn
#define XK_ohorn
#define XK_Uhorn
#define XK_uhorn
#define XK_combining_tilde
#define XK_combining_grave
#define XK_combining_acute
#define XK_combining_hook
#define XK_combining_belowdot

#endif /* XK_VIETNAMESE */

#ifdef XK_CURRENCY
#define XK_EcuSign
#define XK_ColonSign
#define XK_CruzeiroSign
#define XK_FFrancSign
#define XK_LiraSign
#define XK_MillSign
#define XK_NairaSign
#define XK_PesetaSign
#define XK_RupeeSign
#define XK_WonSign
#define XK_NewSheqelSign
#define XK_DongSign
#define XK_EuroSign
#endif /* XK_CURRENCY */

#ifdef XK_MATHEMATICAL
/* one, two and three are defined above. */
#define XK_zerosuperior
#define XK_foursuperior
#define XK_fivesuperior
#define XK_sixsuperior
#define XK_sevensuperior
#define XK_eightsuperior
#define XK_ninesuperior
#define XK_zerosubscript
#define XK_onesubscript
#define XK_twosubscript
#define XK_threesubscript
#define XK_foursubscript
#define XK_fivesubscript
#define XK_sixsubscript
#define XK_sevensubscript
#define XK_eightsubscript
#define XK_ninesubscript
#define XK_partdifferential
#define XK_emptyset
#define XK_elementof
#define XK_notelementof
#define XK_containsas
#define XK_squareroot
#define XK_cuberoot
#define XK_fourthroot
#define XK_dintegral
#define XK_tintegral
#define XK_because
#define XK_approxeq
#define XK_notapproxeq
#define XK_notidentical
#define XK_stricteq
#endif /* XK_MATHEMATICAL */

#ifdef XK_BRAILLE
#define XK_braille_dot_1
#define XK_braille_dot_2
#define XK_braille_dot_3
#define XK_braille_dot_4
#define XK_braille_dot_5
#define XK_braille_dot_6
#define XK_braille_dot_7
#define XK_braille_dot_8
#define XK_braille_dot_9
#define XK_braille_dot_10
#define XK_braille_blank
#define XK_braille_dots_1
#define XK_braille_dots_2
#define XK_braille_dots_12
#define XK_braille_dots_3
#define XK_braille_dots_13
#define XK_braille_dots_23
#define XK_braille_dots_123
#define XK_braille_dots_4
#define XK_braille_dots_14
#define XK_braille_dots_24
#define XK_braille_dots_124
#define XK_braille_dots_34
#define XK_braille_dots_134
#define XK_braille_dots_234
#define XK_braille_dots_1234
#define XK_braille_dots_5
#define XK_braille_dots_15
#define XK_braille_dots_25
#define XK_braille_dots_125
#define XK_braille_dots_35
#define XK_braille_dots_135
#define XK_braille_dots_235
#define XK_braille_dots_1235
#define XK_braille_dots_45
#define XK_braille_dots_145
#define XK_braille_dots_245
#define XK_braille_dots_1245
#define XK_braille_dots_345
#define XK_braille_dots_1345
#define XK_braille_dots_2345
#define XK_braille_dots_12345
#define XK_braille_dots_6
#define XK_braille_dots_16
#define XK_braille_dots_26
#define XK_braille_dots_126
#define XK_braille_dots_36
#define XK_braille_dots_136
#define XK_braille_dots_236
#define XK_braille_dots_1236
#define XK_braille_dots_46
#define XK_braille_dots_146
#define XK_braille_dots_246
#define XK_braille_dots_1246
#define XK_braille_dots_346
#define XK_braille_dots_1346
#define XK_braille_dots_2346
#define XK_braille_dots_12346
#define XK_braille_dots_56
#define XK_braille_dots_156
#define XK_braille_dots_256
#define XK_braille_dots_1256
#define XK_braille_dots_356
#define XK_braille_dots_1356
#define XK_braille_dots_2356
#define XK_braille_dots_12356
#define XK_braille_dots_456
#define XK_braille_dots_1456
#define XK_braille_dots_2456
#define XK_braille_dots_12456
#define XK_braille_dots_3456
#define XK_braille_dots_13456
#define XK_braille_dots_23456
#define XK_braille_dots_123456
#define XK_braille_dots_7
#define XK_braille_dots_17
#define XK_braille_dots_27
#define XK_braille_dots_127
#define XK_braille_dots_37
#define XK_braille_dots_137
#define XK_braille_dots_237
#define XK_braille_dots_1237
#define XK_braille_dots_47
#define XK_braille_dots_147
#define XK_braille_dots_247
#define XK_braille_dots_1247
#define XK_braille_dots_347
#define XK_braille_dots_1347
#define XK_braille_dots_2347
#define XK_braille_dots_12347
#define XK_braille_dots_57
#define XK_braille_dots_157
#define XK_braille_dots_257
#define XK_braille_dots_1257
#define XK_braille_dots_357
#define XK_braille_dots_1357
#define XK_braille_dots_2357
#define XK_braille_dots_12357
#define XK_braille_dots_457
#define XK_braille_dots_1457
#define XK_braille_dots_2457
#define XK_braille_dots_12457
#define XK_braille_dots_3457
#define XK_braille_dots_13457
#define XK_braille_dots_23457
#define XK_braille_dots_123457
#define XK_braille_dots_67
#define XK_braille_dots_167
#define XK_braille_dots_267
#define XK_braille_dots_1267
#define XK_braille_dots_367
#define XK_braille_dots_1367
#define XK_braille_dots_2367
#define XK_braille_dots_12367
#define XK_braille_dots_467
#define XK_braille_dots_1467
#define XK_braille_dots_2467
#define XK_braille_dots_12467
#define XK_braille_dots_3467
#define XK_braille_dots_13467
#define XK_braille_dots_23467
#define XK_braille_dots_123467
#define XK_braille_dots_567
#define XK_braille_dots_1567
#define XK_braille_dots_2567
#define XK_braille_dots_12567
#define XK_braille_dots_3567
#define XK_braille_dots_13567
#define XK_braille_dots_23567
#define XK_braille_dots_123567
#define XK_braille_dots_4567
#define XK_braille_dots_14567
#define XK_braille_dots_24567
#define XK_braille_dots_124567
#define XK_braille_dots_34567
#define XK_braille_dots_134567
#define XK_braille_dots_234567
#define XK_braille_dots_1234567
#define XK_braille_dots_8
#define XK_braille_dots_18
#define XK_braille_dots_28
#define XK_braille_dots_128
#define XK_braille_dots_38
#define XK_braille_dots_138
#define XK_braille_dots_238
#define XK_braille_dots_1238
#define XK_braille_dots_48
#define XK_braille_dots_148
#define XK_braille_dots_248
#define XK_braille_dots_1248
#define XK_braille_dots_348
#define XK_braille_dots_1348
#define XK_braille_dots_2348
#define XK_braille_dots_12348
#define XK_braille_dots_58
#define XK_braille_dots_158
#define XK_braille_dots_258
#define XK_braille_dots_1258
#define XK_braille_dots_358
#define XK_braille_dots_1358
#define XK_braille_dots_2358
#define XK_braille_dots_12358
#define XK_braille_dots_458
#define XK_braille_dots_1458
#define XK_braille_dots_2458
#define XK_braille_dots_12458
#define XK_braille_dots_3458
#define XK_braille_dots_13458
#define XK_braille_dots_23458
#define XK_braille_dots_123458
#define XK_braille_dots_68
#define XK_braille_dots_168
#define XK_braille_dots_268
#define XK_braille_dots_1268
#define XK_braille_dots_368
#define XK_braille_dots_1368
#define XK_braille_dots_2368
#define XK_braille_dots_12368
#define XK_braille_dots_468
#define XK_braille_dots_1468
#define XK_braille_dots_2468
#define XK_braille_dots_12468
#define XK_braille_dots_3468
#define XK_braille_dots_13468
#define XK_braille_dots_23468
#define XK_braille_dots_123468
#define XK_braille_dots_568
#define XK_braille_dots_1568
#define XK_braille_dots_2568
#define XK_braille_dots_12568
#define XK_braille_dots_3568
#define XK_braille_dots_13568
#define XK_braille_dots_23568
#define XK_braille_dots_123568
#define XK_braille_dots_4568
#define XK_braille_dots_14568
#define XK_braille_dots_24568
#define XK_braille_dots_124568
#define XK_braille_dots_34568
#define XK_braille_dots_134568
#define XK_braille_dots_234568
#define XK_braille_dots_1234568
#define XK_braille_dots_78
#define XK_braille_dots_178
#define XK_braille_dots_278
#define XK_braille_dots_1278
#define XK_braille_dots_378
#define XK_braille_dots_1378
#define XK_braille_dots_2378
#define XK_braille_dots_12378
#define XK_braille_dots_478
#define XK_braille_dots_1478
#define XK_braille_dots_2478
#define XK_braille_dots_12478
#define XK_braille_dots_3478
#define XK_braille_dots_13478
#define XK_braille_dots_23478
#define XK_braille_dots_123478
#define XK_braille_dots_578
#define XK_braille_dots_1578
#define XK_braille_dots_2578
#define XK_braille_dots_12578
#define XK_braille_dots_3578
#define XK_braille_dots_13578
#define XK_braille_dots_23578
#define XK_braille_dots_123578
#define XK_braille_dots_4578
#define XK_braille_dots_14578
#define XK_braille_dots_24578
#define XK_braille_dots_124578
#define XK_braille_dots_34578
#define XK_braille_dots_134578
#define XK_braille_dots_234578
#define XK_braille_dots_1234578
#define XK_braille_dots_678
#define XK_braille_dots_1678
#define XK_braille_dots_2678
#define XK_braille_dots_12678
#define XK_braille_dots_3678
#define XK_braille_dots_13678
#define XK_braille_dots_23678
#define XK_braille_dots_123678
#define XK_braille_dots_4678
#define XK_braille_dots_14678
#define XK_braille_dots_24678
#define XK_braille_dots_124678
#define XK_braille_dots_34678
#define XK_braille_dots_134678
#define XK_braille_dots_234678
#define XK_braille_dots_1234678
#define XK_braille_dots_5678
#define XK_braille_dots_15678
#define XK_braille_dots_25678
#define XK_braille_dots_125678
#define XK_braille_dots_35678
#define XK_braille_dots_135678
#define XK_braille_dots_235678
#define XK_braille_dots_1235678
#define XK_braille_dots_45678
#define XK_braille_dots_145678
#define XK_braille_dots_245678
#define XK_braille_dots_1245678
#define XK_braille_dots_345678
#define XK_braille_dots_1345678
#define XK_braille_dots_2345678
#define XK_braille_dots_12345678
#endif /* XK_BRAILLE */

/*
 * Sinhala (http://unicode.org/charts/PDF/U0D80.pdf)
 * http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html
 */

#ifdef XK_SINHALA
#define XK_Sinh_ng
#define XK_Sinh_h2
#define XK_Sinh_a
#define XK_Sinh_aa
#define XK_Sinh_ae
#define XK_Sinh_aee
#define XK_Sinh_i
#define XK_Sinh_ii
#define XK_Sinh_u
#define XK_Sinh_uu
#define XK_Sinh_ri
#define XK_Sinh_rii
#define XK_Sinh_lu
#define XK_Sinh_luu
#define XK_Sinh_e
#define XK_Sinh_ee
#define XK_Sinh_ai
#define XK_Sinh_o
#define XK_Sinh_oo
#define XK_Sinh_au
#define XK_Sinh_ka
#define XK_Sinh_kha
#define XK_Sinh_ga
#define XK_Sinh_gha
#define XK_Sinh_ng2
#define XK_Sinh_nga
#define XK_Sinh_ca
#define XK_Sinh_cha
#define XK_Sinh_ja
#define XK_Sinh_jha
#define XK_Sinh_nya
#define XK_Sinh_jnya
#define XK_Sinh_nja
#define XK_Sinh_tta
#define XK_Sinh_ttha
#define XK_Sinh_dda
#define XK_Sinh_ddha
#define XK_Sinh_nna
#define XK_Sinh_ndda
#define XK_Sinh_tha
#define XK_Sinh_thha
#define XK_Sinh_dha
#define XK_Sinh_dhha
#define XK_Sinh_na
#define XK_Sinh_ndha
#define XK_Sinh_pa
#define XK_Sinh_pha
#define XK_Sinh_ba
#define XK_Sinh_bha
#define XK_Sinh_ma
#define XK_Sinh_mba
#define XK_Sinh_ya
#define XK_Sinh_ra
#define XK_Sinh_la
#define XK_Sinh_va
#define XK_Sinh_sha
#define XK_Sinh_ssha
#define XK_Sinh_sa
#define XK_Sinh_ha
#define XK_Sinh_lla
#define XK_Sinh_fa
#define XK_Sinh_al
#define XK_Sinh_aa2
#define XK_Sinh_ae2
#define XK_Sinh_aee2
#define XK_Sinh_i2
#define XK_Sinh_ii2
#define XK_Sinh_u2
#define XK_Sinh_uu2
#define XK_Sinh_ru2
#define XK_Sinh_e2
#define XK_Sinh_ee2
#define XK_Sinh_ai2
#define XK_Sinh_o2
#define XK_Sinh_oo2
#define XK_Sinh_au2
#define XK_Sinh_lu2
#define XK_Sinh_ruu2
#define XK_Sinh_luu2
#define XK_Sinh_kunddaliya
#endif /* XK_SINHALA */