cscg24-guacamole

CSCG 2024 Challenge 'Guacamole Mashup'
git clone https://git.sinitax.com/sinitax/cscg24-guacamole
Log | Files | Refs | sfeed.txt

keysym.h (69193B)


      1#ifndef XK_0
      2
      3/* $XConsortium: keysym.h,v 1.15 94/04/17 20:10:55 rws Exp $ */
      4
      5/***********************************************************
      6
      7Copyright (c) 1987  X Consortium
      8
      9Permission is hereby granted, free of charge, to any person obtaining a copy
     10of this software and associated documentation files (the "Software"), to deal
     11in the Software without restriction, including without limitation the rights
     12to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     13copies of the Software, and to permit persons to whom the Software is
     14furnished to do so, subject to the following conditions:
     15
     16The above copyright notice and this permission notice shall be included in
     17all copies or substantial portions of the Software.
     18
     19THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     20IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     21FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
     22X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
     23AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
     24CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     25
     26Except as contained in this notice, the name of the X Consortium shall not be
     27used in advertising or otherwise to promote the sale, use or other dealings
     28in this Software without prior written authorization from the X Consortium.
     29
     30
     31Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
     32
     33                        All Rights Reserved
     34
     35Permission to use, copy, modify, and distribute this software and its 
     36documentation for any purpose and without fee is hereby granted, 
     37provided that the above copyright notice appear in all copies and that
     38both that copyright notice and this permission notice appear in 
     39supporting documentation, and that the name of Digital not be
     40used in advertising or publicity pertaining to distribution of the
     41software without specific, written prior permission.  
     42
     43DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
     44ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
     45DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
     46ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
     47WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
     48ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
     49SOFTWARE.
     50
     51******************************************************************/
     52
     53/* default keysyms */
     54#define XK_MISCELLANY
     55#define XK_XKB_KEYS
     56#define XK_LATIN1
     57#define XK_LATIN2
     58#define XK_LATIN3
     59#define XK_LATIN4
     60#define XK_GREEK
     61
     62/* $TOG: keysymdef.h /main/25 1997/06/21 10:54:51 kaleb $ */
     63
     64/***********************************************************
     65Copyright (c) 1987, 1994  X Consortium
     66
     67Permission is hereby granted, free of charge, to any person obtaining
     68a copy of this software and associated documentation files (the
     69"Software"), to deal in the Software without restriction, including
     70without limitation the rights to use, copy, modify, merge, publish,
     71distribute, sublicense, and/or sell copies of the Software, and to
     72permit persons to whom the Software is furnished to do so, subject to
     73the following conditions:
     74
     75The above copyright notice and this permission notice shall be included
     76in all copies or substantial portions of the Software.
     77
     78THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     79OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     80MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     81IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
     82OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     83ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     84OTHER DEALINGS IN THE SOFTWARE.
     85
     86Except as contained in this notice, the name of the X Consortium shall
     87not be used in advertising or otherwise to promote the sale, use or
     88other dealings in this Software without prior written authorization
     89from the X Consortium.
     90
     91
     92Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
     93
     94                        All Rights Reserved
     95
     96Permission to use, copy, modify, and distribute this software and its
     97documentation for any purpose and without fee is hereby granted,
     98provided that the above copyright notice appear in all copies and that
     99both that copyright notice and this permission notice appear in
    100supporting documentation, and that the name of Digital not be
    101used in advertising or publicity pertaining to distribution of the
    102software without specific, written prior permission.
    103
    104DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
    105ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
    106DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
    107ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
    108WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
    109ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
    110SOFTWARE.
    111
    112******************************************************************/
    113
    114#define XK_VoidSymbol		0xFFFFFF	/* void symbol */
    115
    116#ifdef XK_MISCELLANY
    117/*
    118 * TTY Functions, cleverly chosen to map to ascii, for convenience of
    119 * programming, but could have been arbitrary (at the cost of lookup
    120 * tables in client code.
    121 */
    122
    123#define XK_BackSpace		0xFF08	/* back space, back char */
    124#define XK_Tab			0xFF09
    125#define XK_Linefeed		0xFF0A	/* Linefeed, LF */
    126#define XK_Clear		0xFF0B
    127#define XK_Return		0xFF0D	/* Return, enter */
    128#define XK_Pause		0xFF13	/* Pause, hold */
    129#define XK_Scroll_Lock		0xFF14
    130#define XK_Sys_Req		0xFF15
    131#define XK_Escape		0xFF1B
    132#define XK_Delete		0xFFFF	/* Delete, rubout */
    133
    134
    135
    136/* International & multi-key character composition */
    137
    138#define XK_Multi_key		0xFF20  /* Multi-key character compose */
    139#define XK_SingleCandidate	0xFF3C
    140#define XK_MultipleCandidate	0xFF3D
    141#define XK_PreviousCandidate	0xFF3E
    142
    143/* Japanese keyboard support */
    144
    145#define XK_Kanji		0xFF21	/* Kanji, Kanji convert */
    146#define XK_Muhenkan		0xFF22  /* Cancel Conversion */
    147#define XK_Henkan_Mode		0xFF23  /* Start/Stop Conversion */
    148#define XK_Henkan		0xFF23  /* Alias for Henkan_Mode */
    149#define XK_Romaji		0xFF24  /* to Romaji */
    150#define XK_Hiragana		0xFF25  /* to Hiragana */
    151#define XK_Katakana		0xFF26  /* to Katakana */
    152#define XK_Hiragana_Katakana	0xFF27  /* Hiragana/Katakana toggle */
    153#define XK_Zenkaku		0xFF28  /* to Zenkaku */
    154#define XK_Hankaku		0xFF29  /* to Hankaku */
    155#define XK_Zenkaku_Hankaku	0xFF2A  /* Zenkaku/Hankaku toggle */
    156#define XK_Touroku		0xFF2B  /* Add to Dictionary */
    157#define XK_Massyo		0xFF2C  /* Delete from Dictionary */
    158#define XK_Kana_Lock		0xFF2D  /* Kana Lock */
    159#define XK_Kana_Shift		0xFF2E  /* Kana Shift */
    160#define XK_Eisu_Shift		0xFF2F  /* Alphanumeric Shift */
    161#define XK_Eisu_toggle		0xFF30  /* Alphanumeric toggle */
    162#define XK_Zen_Koho		0xFF3D	/* Multiple/All Candidate(s) */
    163#define XK_Mae_Koho		0xFF3E	/* Previous Candidate */
    164
    165/* 0xFF31 through 0xFF3F are under XK_KOREAN */
    166
    167/* Cursor control & motion */
    168
    169#define XK_Home			0xFF50
    170#define XK_Left			0xFF51	/* Move left, left arrow */
    171#define XK_Up			0xFF52	/* Move up, up arrow */
    172#define XK_Right		0xFF53	/* Move right, right arrow */
    173#define XK_Down			0xFF54	/* Move down, down arrow */
    174#define XK_Prior		0xFF55	/* Prior, previous */
    175#define XK_Page_Up		0xFF55
    176#define XK_Next			0xFF56	/* Next */
    177#define XK_Page_Down		0xFF56
    178#define XK_End			0xFF57	/* EOL */
    179#define XK_Begin		0xFF58	/* BOL */
    180
    181
    182/* Misc Functions */
    183
    184#define XK_Select		0xFF60	/* Select, mark */
    185#define XK_Print		0xFF61
    186#define XK_Execute		0xFF62	/* Execute, run, do */
    187#define XK_Insert		0xFF63	/* Insert, insert here */
    188#define XK_Undo			0xFF65	/* Undo, oops */
    189#define XK_Redo			0xFF66	/* redo, again */
    190#define XK_Menu			0xFF67
    191#define XK_Find			0xFF68	/* Find, search */
    192#define XK_Cancel		0xFF69	/* Cancel, stop, abort, exit */
    193#define XK_Help			0xFF6A	/* Help */
    194#define XK_Break		0xFF6B
    195#define XK_Mode_switch		0xFF7E	/* Character set switch */
    196#define XK_script_switch        0xFF7E  /* Alias for mode_switch */
    197#define XK_Num_Lock		0xFF7F
    198
    199/* Keypad Functions, keypad numbers cleverly chosen to map to ascii */
    200
    201#define XK_KP_Space		0xFF80	/* space */
    202#define XK_KP_Tab		0xFF89
    203#define XK_KP_Enter		0xFF8D	/* enter */
    204#define XK_KP_F1		0xFF91	/* PF1, KP_A, ... */
    205#define XK_KP_F2		0xFF92
    206#define XK_KP_F3		0xFF93
    207#define XK_KP_F4		0xFF94
    208#define XK_KP_Home		0xFF95
    209#define XK_KP_Left		0xFF96
    210#define XK_KP_Up		0xFF97
    211#define XK_KP_Right		0xFF98
    212#define XK_KP_Down		0xFF99
    213#define XK_KP_Prior		0xFF9A
    214#define XK_KP_Page_Up		0xFF9A
    215#define XK_KP_Next		0xFF9B
    216#define XK_KP_Page_Down		0xFF9B
    217#define XK_KP_End		0xFF9C
    218#define XK_KP_Begin		0xFF9D
    219#define XK_KP_Insert		0xFF9E
    220#define XK_KP_Delete		0xFF9F
    221#define XK_KP_Equal		0xFFBD	/* equals */
    222#define XK_KP_Multiply		0xFFAA
    223#define XK_KP_Add		0xFFAB
    224#define XK_KP_Separator		0xFFAC	/* separator, often comma */
    225#define XK_KP_Subtract		0xFFAD
    226#define XK_KP_Decimal		0xFFAE
    227#define XK_KP_Divide		0xFFAF
    228
    229#define XK_KP_0			0xFFB0
    230#define XK_KP_1			0xFFB1
    231#define XK_KP_2			0xFFB2
    232#define XK_KP_3			0xFFB3
    233#define XK_KP_4			0xFFB4
    234#define XK_KP_5			0xFFB5
    235#define XK_KP_6			0xFFB6
    236#define XK_KP_7			0xFFB7
    237#define XK_KP_8			0xFFB8
    238#define XK_KP_9			0xFFB9
    239
    240
    241
    242/*
    243 * Auxiliary Functions; note the duplicate definitions for left and right
    244 * function keys;  Sun keyboards and a few other manufactures have such
    245 * function key groups on the left and/or right sides of the keyboard.
    246 * We've not found a keyboard with more than 35 function keys total.
    247 */
    248
    249#define XK_F1			0xFFBE
    250#define XK_F2			0xFFBF
    251#define XK_F3			0xFFC0
    252#define XK_F4			0xFFC1
    253#define XK_F5			0xFFC2
    254#define XK_F6			0xFFC3
    255#define XK_F7			0xFFC4
    256#define XK_F8			0xFFC5
    257#define XK_F9			0xFFC6
    258#define XK_F10			0xFFC7
    259#define XK_F11			0xFFC8
    260#define XK_L1			0xFFC8
    261#define XK_F12			0xFFC9
    262#define XK_L2			0xFFC9
    263#define XK_F13			0xFFCA
    264#define XK_L3			0xFFCA
    265#define XK_F14			0xFFCB
    266#define XK_L4			0xFFCB
    267#define XK_F15			0xFFCC
    268#define XK_L5			0xFFCC
    269#define XK_F16			0xFFCD
    270#define XK_L6			0xFFCD
    271#define XK_F17			0xFFCE
    272#define XK_L7			0xFFCE
    273#define XK_F18			0xFFCF
    274#define XK_L8			0xFFCF
    275#define XK_F19			0xFFD0
    276#define XK_L9			0xFFD0
    277#define XK_F20			0xFFD1
    278#define XK_L10			0xFFD1
    279#define XK_F21			0xFFD2
    280#define XK_R1			0xFFD2
    281#define XK_F22			0xFFD3
    282#define XK_R2			0xFFD3
    283#define XK_F23			0xFFD4
    284#define XK_R3			0xFFD4
    285#define XK_F24			0xFFD5
    286#define XK_R4			0xFFD5
    287#define XK_F25			0xFFD6
    288#define XK_R5			0xFFD6
    289#define XK_F26			0xFFD7
    290#define XK_R6			0xFFD7
    291#define XK_F27			0xFFD8
    292#define XK_R7			0xFFD8
    293#define XK_F28			0xFFD9
    294#define XK_R8			0xFFD9
    295#define XK_F29			0xFFDA
    296#define XK_R9			0xFFDA
    297#define XK_F30			0xFFDB
    298#define XK_R10			0xFFDB
    299#define XK_F31			0xFFDC
    300#define XK_R11			0xFFDC
    301#define XK_F32			0xFFDD
    302#define XK_R12			0xFFDD
    303#define XK_F33			0xFFDE
    304#define XK_R13			0xFFDE
    305#define XK_F34			0xFFDF
    306#define XK_R14			0xFFDF
    307#define XK_F35			0xFFE0
    308#define XK_R15			0xFFE0
    309
    310/* Modifiers */
    311
    312#define XK_Shift_L		0xFFE1	/* Left shift */
    313#define XK_Shift_R		0xFFE2	/* Right shift */
    314#define XK_Control_L		0xFFE3	/* Left control */
    315#define XK_Control_R		0xFFE4	/* Right control */
    316#define XK_Caps_Lock		0xFFE5	/* Caps lock */
    317#define XK_Shift_Lock		0xFFE6	/* Shift lock */
    318
    319#define XK_Meta_L		0xFFE7	/* Left meta */
    320#define XK_Meta_R		0xFFE8	/* Right meta */
    321#define XK_Alt_L		0xFFE9	/* Left alt */
    322#define XK_Alt_R		0xFFEA	/* Right alt */
    323#define XK_Super_L		0xFFEB	/* Left super */
    324#define XK_Super_R		0xFFEC	/* Right super */
    325#define XK_Hyper_L		0xFFED	/* Left hyper */
    326#define XK_Hyper_R		0xFFEE	/* Right hyper */
    327#endif /* XK_MISCELLANY */
    328
    329/*
    330 * ISO 9995 Function and Modifier Keys
    331 * Byte 3 = 0xFE
    332 */
    333
    334#ifdef XK_XKB_KEYS
    335#define	XK_ISO_Lock					0xFE01
    336#define	XK_ISO_Level2_Latch				0xFE02
    337#define	XK_ISO_Level3_Shift				0xFE03
    338#define	XK_ISO_Level3_Latch				0xFE04
    339#define	XK_ISO_Level3_Lock				0xFE05
    340#define	XK_ISO_Group_Shift		0xFF7E	/* Alias for mode_switch */
    341#define	XK_ISO_Group_Latch				0xFE06
    342#define	XK_ISO_Group_Lock				0xFE07
    343#define	XK_ISO_Next_Group				0xFE08
    344#define	XK_ISO_Next_Group_Lock				0xFE09
    345#define	XK_ISO_Prev_Group				0xFE0A
    346#define	XK_ISO_Prev_Group_Lock				0xFE0B
    347#define	XK_ISO_First_Group				0xFE0C
    348#define	XK_ISO_First_Group_Lock				0xFE0D
    349#define	XK_ISO_Last_Group				0xFE0E
    350#define	XK_ISO_Last_Group_Lock				0xFE0F
    351
    352#define	XK_ISO_Left_Tab					0xFE20
    353#define	XK_ISO_Move_Line_Up				0xFE21
    354#define	XK_ISO_Move_Line_Down				0xFE22
    355#define	XK_ISO_Partial_Line_Up				0xFE23
    356#define	XK_ISO_Partial_Line_Down			0xFE24
    357#define	XK_ISO_Partial_Space_Left			0xFE25
    358#define	XK_ISO_Partial_Space_Right			0xFE26
    359#define	XK_ISO_Set_Margin_Left				0xFE27
    360#define	XK_ISO_Set_Margin_Right				0xFE28
    361#define	XK_ISO_Release_Margin_Left			0xFE29
    362#define	XK_ISO_Release_Margin_Right			0xFE2A
    363#define	XK_ISO_Release_Both_Margins			0xFE2B
    364#define	XK_ISO_Fast_Cursor_Left				0xFE2C
    365#define	XK_ISO_Fast_Cursor_Right			0xFE2D
    366#define	XK_ISO_Fast_Cursor_Up				0xFE2E
    367#define	XK_ISO_Fast_Cursor_Down				0xFE2F
    368#define	XK_ISO_Continuous_Underline			0xFE30
    369#define	XK_ISO_Discontinuous_Underline			0xFE31
    370#define	XK_ISO_Emphasize				0xFE32
    371#define	XK_ISO_Center_Object				0xFE33
    372#define	XK_ISO_Enter					0xFE34
    373
    374#define	XK_dead_grave					0xFE50
    375#define	XK_dead_acute					0xFE51
    376#define	XK_dead_circumflex				0xFE52
    377#define	XK_dead_tilde					0xFE53
    378#define	XK_dead_macron					0xFE54
    379#define	XK_dead_breve					0xFE55
    380#define	XK_dead_abovedot				0xFE56
    381#define	XK_dead_diaeresis				0xFE57
    382#define	XK_dead_abovering				0xFE58
    383#define	XK_dead_doubleacute				0xFE59
    384#define	XK_dead_caron					0xFE5A
    385#define	XK_dead_cedilla					0xFE5B
    386#define	XK_dead_ogonek					0xFE5C
    387#define	XK_dead_iota					0xFE5D
    388#define	XK_dead_voiced_sound				0xFE5E
    389#define	XK_dead_semivoiced_sound			0xFE5F
    390#define	XK_dead_belowdot				0xFE60
    391
    392#define	XK_First_Virtual_Screen				0xFED0
    393#define	XK_Prev_Virtual_Screen				0xFED1
    394#define	XK_Next_Virtual_Screen				0xFED2
    395#define	XK_Last_Virtual_Screen				0xFED4
    396#define	XK_Terminate_Server				0xFED5
    397
    398#define	XK_AccessX_Enable				0xFE70
    399#define	XK_AccessX_Feedback_Enable			0xFE71
    400#define	XK_RepeatKeys_Enable				0xFE72
    401#define	XK_SlowKeys_Enable				0xFE73
    402#define	XK_BounceKeys_Enable				0xFE74
    403#define	XK_StickyKeys_Enable				0xFE75
    404#define	XK_MouseKeys_Enable				0xFE76
    405#define	XK_MouseKeys_Accel_Enable			0xFE77
    406#define	XK_Overlay1_Enable				0xFE78
    407#define	XK_Overlay2_Enable				0xFE79
    408#define	XK_AudibleBell_Enable				0xFE7A
    409
    410#define	XK_Pointer_Left					0xFEE0
    411#define	XK_Pointer_Right				0xFEE1
    412#define	XK_Pointer_Up					0xFEE2
    413#define	XK_Pointer_Down					0xFEE3
    414#define	XK_Pointer_UpLeft				0xFEE4
    415#define	XK_Pointer_UpRight				0xFEE5
    416#define	XK_Pointer_DownLeft				0xFEE6
    417#define	XK_Pointer_DownRight				0xFEE7
    418#define	XK_Pointer_Button_Dflt				0xFEE8
    419#define	XK_Pointer_Button1				0xFEE9
    420#define	XK_Pointer_Button2				0xFEEA
    421#define	XK_Pointer_Button3				0xFEEB
    422#define	XK_Pointer_Button4				0xFEEC
    423#define	XK_Pointer_Button5				0xFEED
    424#define	XK_Pointer_DblClick_Dflt			0xFEEE
    425#define	XK_Pointer_DblClick1				0xFEEF
    426#define	XK_Pointer_DblClick2				0xFEF0
    427#define	XK_Pointer_DblClick3				0xFEF1
    428#define	XK_Pointer_DblClick4				0xFEF2
    429#define	XK_Pointer_DblClick5				0xFEF3
    430#define	XK_Pointer_Drag_Dflt				0xFEF4
    431#define	XK_Pointer_Drag1				0xFEF5
    432#define	XK_Pointer_Drag2				0xFEF6
    433#define	XK_Pointer_Drag3				0xFEF7
    434#define	XK_Pointer_Drag4				0xFEF8
    435#define	XK_Pointer_Drag5				0xFEFD
    436
    437#define	XK_Pointer_EnableKeys				0xFEF9
    438#define	XK_Pointer_Accelerate				0xFEFA
    439#define	XK_Pointer_DfltBtnNext				0xFEFB
    440#define	XK_Pointer_DfltBtnPrev				0xFEFC
    441
    442#endif
    443
    444/*
    445 * 3270 Terminal Keys
    446 * Byte 3 = 0xFD
    447 */
    448
    449#ifdef XK_3270
    450#define XK_3270_Duplicate      0xFD01
    451#define XK_3270_FieldMark      0xFD02
    452#define XK_3270_Right2         0xFD03
    453#define XK_3270_Left2          0xFD04
    454#define XK_3270_BackTab        0xFD05
    455#define XK_3270_EraseEOF       0xFD06
    456#define XK_3270_EraseInput     0xFD07
    457#define XK_3270_Reset          0xFD08
    458#define XK_3270_Quit           0xFD09
    459#define XK_3270_PA1            0xFD0A
    460#define XK_3270_PA2            0xFD0B
    461#define XK_3270_PA3            0xFD0C
    462#define XK_3270_Test           0xFD0D
    463#define XK_3270_Attn           0xFD0E
    464#define XK_3270_CursorBlink    0xFD0F
    465#define XK_3270_AltCursor      0xFD10
    466#define XK_3270_KeyClick       0xFD11
    467#define XK_3270_Jump           0xFD12
    468#define XK_3270_Ident          0xFD13
    469#define XK_3270_Rule           0xFD14
    470#define XK_3270_Copy           0xFD15
    471#define XK_3270_Play           0xFD16
    472#define XK_3270_Setup          0xFD17
    473#define XK_3270_Record         0xFD18
    474#define XK_3270_ChangeScreen   0xFD19
    475#define XK_3270_DeleteWord     0xFD1A
    476#define XK_3270_ExSelect       0xFD1B
    477#define XK_3270_CursorSelect   0xFD1C
    478#define XK_3270_PrintScreen    0xFD1D
    479#define XK_3270_Enter          0xFD1E
    480#endif
    481
    482/*
    483 *  Latin 1
    484 *  Byte 3 = 0
    485 */
    486#ifdef XK_LATIN1
    487#define XK_space               0x020
    488#define XK_exclam              0x021
    489#define XK_quotedbl            0x022
    490#define XK_numbersign          0x023
    491#define XK_dollar              0x024
    492#define XK_percent             0x025
    493#define XK_ampersand           0x026
    494#define XK_apostrophe          0x027
    495#define XK_quoteright          0x027	/* deprecated */
    496#define XK_parenleft           0x028
    497#define XK_parenright          0x029
    498#define XK_asterisk            0x02a
    499#define XK_plus                0x02b
    500#define XK_comma               0x02c
    501#define XK_minus               0x02d
    502#define XK_period              0x02e
    503#define XK_slash               0x02f
    504#define XK_0                   0x030
    505#define XK_1                   0x031
    506#define XK_2                   0x032
    507#define XK_3                   0x033
    508#define XK_4                   0x034
    509#define XK_5                   0x035
    510#define XK_6                   0x036
    511#define XK_7                   0x037
    512#define XK_8                   0x038
    513#define XK_9                   0x039
    514#define XK_colon               0x03a
    515#define XK_semicolon           0x03b
    516#define XK_less                0x03c
    517#define XK_equal               0x03d
    518#define XK_greater             0x03e
    519#define XK_question            0x03f
    520#define XK_at                  0x040
    521#define XK_A                   0x041
    522#define XK_B                   0x042
    523#define XK_C                   0x043
    524#define XK_D                   0x044
    525#define XK_E                   0x045
    526#define XK_F                   0x046
    527#define XK_G                   0x047
    528#define XK_H                   0x048
    529#define XK_I                   0x049
    530#define XK_J                   0x04a
    531#define XK_K                   0x04b
    532#define XK_L                   0x04c
    533#define XK_M                   0x04d
    534#define XK_N                   0x04e
    535#define XK_O                   0x04f
    536#define XK_P                   0x050
    537#define XK_Q                   0x051
    538#define XK_R                   0x052
    539#define XK_S                   0x053
    540#define XK_T                   0x054
    541#define XK_U                   0x055
    542#define XK_V                   0x056
    543#define XK_W                   0x057
    544#define XK_X                   0x058
    545#define XK_Y                   0x059
    546#define XK_Z                   0x05a
    547#define XK_bracketleft         0x05b
    548#define XK_backslash           0x05c
    549#define XK_bracketright        0x05d
    550#define XK_asciicircum         0x05e
    551#define XK_underscore          0x05f
    552#define XK_grave               0x060
    553#define XK_quoteleft           0x060	/* deprecated */
    554#define XK_a                   0x061
    555#define XK_b                   0x062
    556#define XK_c                   0x063
    557#define XK_d                   0x064
    558#define XK_e                   0x065
    559#define XK_f                   0x066
    560#define XK_g                   0x067
    561#define XK_h                   0x068
    562#define XK_i                   0x069
    563#define XK_j                   0x06a
    564#define XK_k                   0x06b
    565#define XK_l                   0x06c
    566#define XK_m                   0x06d
    567#define XK_n                   0x06e
    568#define XK_o                   0x06f
    569#define XK_p                   0x070
    570#define XK_q                   0x071
    571#define XK_r                   0x072
    572#define XK_s                   0x073
    573#define XK_t                   0x074
    574#define XK_u                   0x075
    575#define XK_v                   0x076
    576#define XK_w                   0x077
    577#define XK_x                   0x078
    578#define XK_y                   0x079
    579#define XK_z                   0x07a
    580#define XK_braceleft           0x07b
    581#define XK_bar                 0x07c
    582#define XK_braceright          0x07d
    583#define XK_asciitilde          0x07e
    584
    585#define XK_nobreakspace        0x0a0
    586#define XK_exclamdown          0x0a1
    587#define XK_cent        	       0x0a2
    588#define XK_sterling            0x0a3
    589#define XK_currency            0x0a4
    590#define XK_yen                 0x0a5
    591#define XK_brokenbar           0x0a6
    592#define XK_section             0x0a7
    593#define XK_diaeresis           0x0a8
    594#define XK_copyright           0x0a9
    595#define XK_ordfeminine         0x0aa
    596#define XK_guillemotleft       0x0ab	/* left angle quotation mark */
    597#define XK_notsign             0x0ac
    598#define XK_hyphen              0x0ad
    599#define XK_registered          0x0ae
    600#define XK_macron              0x0af
    601#define XK_degree              0x0b0
    602#define XK_plusminus           0x0b1
    603#define XK_twosuperior         0x0b2
    604#define XK_threesuperior       0x0b3
    605#define XK_acute               0x0b4
    606#define XK_mu                  0x0b5
    607#define XK_paragraph           0x0b6
    608#define XK_periodcentered      0x0b7
    609#define XK_cedilla             0x0b8
    610#define XK_onesuperior         0x0b9
    611#define XK_masculine           0x0ba
    612#define XK_guillemotright      0x0bb	/* right angle quotation mark */
    613#define XK_onequarter          0x0bc
    614#define XK_onehalf             0x0bd
    615#define XK_threequarters       0x0be
    616#define XK_questiondown        0x0bf
    617#define XK_Agrave              0x0c0
    618#define XK_Aacute              0x0c1
    619#define XK_Acircumflex         0x0c2
    620#define XK_Atilde              0x0c3
    621#define XK_Adiaeresis          0x0c4
    622#define XK_Aring               0x0c5
    623#define XK_AE                  0x0c6
    624#define XK_Ccedilla            0x0c7
    625#define XK_Egrave              0x0c8
    626#define XK_Eacute              0x0c9
    627#define XK_Ecircumflex         0x0ca
    628#define XK_Ediaeresis          0x0cb
    629#define XK_Igrave              0x0cc
    630#define XK_Iacute              0x0cd
    631#define XK_Icircumflex         0x0ce
    632#define XK_Idiaeresis          0x0cf
    633#define XK_ETH                 0x0d0
    634#define XK_Eth                 0x0d0	/* deprecated */
    635#define XK_Ntilde              0x0d1
    636#define XK_Ograve              0x0d2
    637#define XK_Oacute              0x0d3
    638#define XK_Ocircumflex         0x0d4
    639#define XK_Otilde              0x0d5
    640#define XK_Odiaeresis          0x0d6
    641#define XK_multiply            0x0d7
    642#define XK_Ooblique            0x0d8
    643#define XK_Ugrave              0x0d9
    644#define XK_Uacute              0x0da
    645#define XK_Ucircumflex         0x0db
    646#define XK_Udiaeresis          0x0dc
    647#define XK_Yacute              0x0dd
    648#define XK_THORN               0x0de
    649#define XK_Thorn               0x0de	/* deprecated */
    650#define XK_ssharp              0x0df
    651#define XK_agrave              0x0e0
    652#define XK_aacute              0x0e1
    653#define XK_acircumflex         0x0e2
    654#define XK_atilde              0x0e3
    655#define XK_adiaeresis          0x0e4
    656#define XK_aring               0x0e5
    657#define XK_ae                  0x0e6
    658#define XK_ccedilla            0x0e7
    659#define XK_egrave              0x0e8
    660#define XK_eacute              0x0e9
    661#define XK_ecircumflex         0x0ea
    662#define XK_ediaeresis          0x0eb
    663#define XK_igrave              0x0ec
    664#define XK_iacute              0x0ed
    665#define XK_icircumflex         0x0ee
    666#define XK_idiaeresis          0x0ef
    667#define XK_eth                 0x0f0
    668#define XK_ntilde              0x0f1
    669#define XK_ograve              0x0f2
    670#define XK_oacute              0x0f3
    671#define XK_ocircumflex         0x0f4
    672#define XK_otilde              0x0f5
    673#define XK_odiaeresis          0x0f6
    674#define XK_division            0x0f7
    675#define XK_oslash              0x0f8
    676#define XK_ugrave              0x0f9
    677#define XK_uacute              0x0fa
    678#define XK_ucircumflex         0x0fb
    679#define XK_udiaeresis          0x0fc
    680#define XK_yacute              0x0fd
    681#define XK_thorn               0x0fe
    682#define XK_ydiaeresis          0x0ff
    683#endif /* XK_LATIN1 */
    684
    685/*
    686 *   Latin 2
    687 *   Byte 3 = 1
    688 */
    689
    690#ifdef XK_LATIN2
    691#define XK_Aogonek             0x1a1
    692#define XK_breve               0x1a2
    693#define XK_Lstroke             0x1a3
    694#define XK_Lcaron              0x1a5
    695#define XK_Sacute              0x1a6
    696#define XK_Scaron              0x1a9
    697#define XK_Scedilla            0x1aa
    698#define XK_Tcaron              0x1ab
    699#define XK_Zacute              0x1ac
    700#define XK_Zcaron              0x1ae
    701#define XK_Zabovedot           0x1af
    702#define XK_aogonek             0x1b1
    703#define XK_ogonek              0x1b2
    704#define XK_lstroke             0x1b3
    705#define XK_lcaron              0x1b5
    706#define XK_sacute              0x1b6
    707#define XK_caron               0x1b7
    708#define XK_scaron              0x1b9
    709#define XK_scedilla            0x1ba
    710#define XK_tcaron              0x1bb
    711#define XK_zacute              0x1bc
    712#define XK_doubleacute         0x1bd
    713#define XK_zcaron              0x1be
    714#define XK_zabovedot           0x1bf
    715#define XK_Racute              0x1c0
    716#define XK_Abreve              0x1c3
    717#define XK_Lacute              0x1c5
    718#define XK_Cacute              0x1c6
    719#define XK_Ccaron              0x1c8
    720#define XK_Eogonek             0x1ca
    721#define XK_Ecaron              0x1cc
    722#define XK_Dcaron              0x1cf
    723#define XK_Dstroke             0x1d0
    724#define XK_Nacute              0x1d1
    725#define XK_Ncaron              0x1d2
    726#define XK_Odoubleacute        0x1d5
    727#define XK_Rcaron              0x1d8
    728#define XK_Uring               0x1d9
    729#define XK_Udoubleacute        0x1db
    730#define XK_Tcedilla            0x1de
    731#define XK_racute              0x1e0
    732#define XK_abreve              0x1e3
    733#define XK_lacute              0x1e5
    734#define XK_cacute              0x1e6
    735#define XK_ccaron              0x1e8
    736#define XK_eogonek             0x1ea
    737#define XK_ecaron              0x1ec
    738#define XK_dcaron              0x1ef
    739#define XK_dstroke             0x1f0
    740#define XK_nacute              0x1f1
    741#define XK_ncaron              0x1f2
    742#define XK_odoubleacute        0x1f5
    743#define XK_udoubleacute        0x1fb
    744#define XK_rcaron              0x1f8
    745#define XK_uring               0x1f9
    746#define XK_tcedilla            0x1fe
    747#define XK_abovedot            0x1ff
    748#endif /* XK_LATIN2 */
    749
    750/*
    751 *   Latin 3
    752 *   Byte 3 = 2
    753 */
    754
    755#ifdef XK_LATIN3
    756#define XK_Hstroke             0x2a1
    757#define XK_Hcircumflex         0x2a6
    758#define XK_Iabovedot           0x2a9
    759#define XK_Gbreve              0x2ab
    760#define XK_Jcircumflex         0x2ac
    761#define XK_hstroke             0x2b1
    762#define XK_hcircumflex         0x2b6
    763#define XK_idotless            0x2b9
    764#define XK_gbreve              0x2bb
    765#define XK_jcircumflex         0x2bc
    766#define XK_Cabovedot           0x2c5
    767#define XK_Ccircumflex         0x2c6
    768#define XK_Gabovedot           0x2d5
    769#define XK_Gcircumflex         0x2d8
    770#define XK_Ubreve              0x2dd
    771#define XK_Scircumflex         0x2de
    772#define XK_cabovedot           0x2e5
    773#define XK_ccircumflex         0x2e6
    774#define XK_gabovedot           0x2f5
    775#define XK_gcircumflex         0x2f8
    776#define XK_ubreve              0x2fd
    777#define XK_scircumflex         0x2fe
    778#endif /* XK_LATIN3 */
    779
    780
    781/*
    782 *   Latin 4
    783 *   Byte 3 = 3
    784 */
    785
    786#ifdef XK_LATIN4
    787#define XK_kra                 0x3a2
    788#define XK_kappa               0x3a2	/* deprecated */
    789#define XK_Rcedilla            0x3a3
    790#define XK_Itilde              0x3a5
    791#define XK_Lcedilla            0x3a6
    792#define XK_Emacron             0x3aa
    793#define XK_Gcedilla            0x3ab
    794#define XK_Tslash              0x3ac
    795#define XK_rcedilla            0x3b3
    796#define XK_itilde              0x3b5
    797#define XK_lcedilla            0x3b6
    798#define XK_emacron             0x3ba
    799#define XK_gcedilla            0x3bb
    800#define XK_tslash              0x3bc
    801#define XK_ENG                 0x3bd
    802#define XK_eng                 0x3bf
    803#define XK_Amacron             0x3c0
    804#define XK_Iogonek             0x3c7
    805#define XK_Eabovedot           0x3cc
    806#define XK_Imacron             0x3cf
    807#define XK_Ncedilla            0x3d1
    808#define XK_Omacron             0x3d2
    809#define XK_Kcedilla            0x3d3
    810#define XK_Uogonek             0x3d9
    811#define XK_Utilde              0x3dd
    812#define XK_Umacron             0x3de
    813#define XK_amacron             0x3e0
    814#define XK_iogonek             0x3e7
    815#define XK_eabovedot           0x3ec
    816#define XK_imacron             0x3ef
    817#define XK_ncedilla            0x3f1
    818#define XK_omacron             0x3f2
    819#define XK_kcedilla            0x3f3
    820#define XK_uogonek             0x3f9
    821#define XK_utilde              0x3fd
    822#define XK_umacron             0x3fe
    823#endif /* XK_LATIN4 */
    824
    825/*
    826 * Katakana
    827 * Byte 3 = 4
    828 */
    829
    830#ifdef XK_KATAKANA
    831#define XK_overline				       0x47e
    832#define XK_kana_fullstop                               0x4a1
    833#define XK_kana_openingbracket                         0x4a2
    834#define XK_kana_closingbracket                         0x4a3
    835#define XK_kana_comma                                  0x4a4
    836#define XK_kana_conjunctive                            0x4a5
    837#define XK_kana_middledot                              0x4a5  /* deprecated */
    838#define XK_kana_WO                                     0x4a6
    839#define XK_kana_a                                      0x4a7
    840#define XK_kana_i                                      0x4a8
    841#define XK_kana_u                                      0x4a9
    842#define XK_kana_e                                      0x4aa
    843#define XK_kana_o                                      0x4ab
    844#define XK_kana_ya                                     0x4ac
    845#define XK_kana_yu                                     0x4ad
    846#define XK_kana_yo                                     0x4ae
    847#define XK_kana_tsu                                    0x4af
    848#define XK_kana_tu                                     0x4af  /* deprecated */
    849#define XK_prolongedsound                              0x4b0
    850#define XK_kana_A                                      0x4b1
    851#define XK_kana_I                                      0x4b2
    852#define XK_kana_U                                      0x4b3
    853#define XK_kana_E                                      0x4b4
    854#define XK_kana_O                                      0x4b5
    855#define XK_kana_KA                                     0x4b6
    856#define XK_kana_KI                                     0x4b7
    857#define XK_kana_KU                                     0x4b8
    858#define XK_kana_KE                                     0x4b9
    859#define XK_kana_KO                                     0x4ba
    860#define XK_kana_SA                                     0x4bb
    861#define XK_kana_SHI                                    0x4bc
    862#define XK_kana_SU                                     0x4bd
    863#define XK_kana_SE                                     0x4be
    864#define XK_kana_SO                                     0x4bf
    865#define XK_kana_TA                                     0x4c0
    866#define XK_kana_CHI                                    0x4c1
    867#define XK_kana_TI                                     0x4c1  /* deprecated */
    868#define XK_kana_TSU                                    0x4c2
    869#define XK_kana_TU                                     0x4c2  /* deprecated */
    870#define XK_kana_TE                                     0x4c3
    871#define XK_kana_TO                                     0x4c4
    872#define XK_kana_NA                                     0x4c5
    873#define XK_kana_NI                                     0x4c6
    874#define XK_kana_NU                                     0x4c7
    875#define XK_kana_NE                                     0x4c8
    876#define XK_kana_NO                                     0x4c9
    877#define XK_kana_HA                                     0x4ca
    878#define XK_kana_HI                                     0x4cb
    879#define XK_kana_FU                                     0x4cc
    880#define XK_kana_HU                                     0x4cc  /* deprecated */
    881#define XK_kana_HE                                     0x4cd
    882#define XK_kana_HO                                     0x4ce
    883#define XK_kana_MA                                     0x4cf
    884#define XK_kana_MI                                     0x4d0
    885#define XK_kana_MU                                     0x4d1
    886#define XK_kana_ME                                     0x4d2
    887#define XK_kana_MO                                     0x4d3
    888#define XK_kana_YA                                     0x4d4
    889#define XK_kana_YU                                     0x4d5
    890#define XK_kana_YO                                     0x4d6
    891#define XK_kana_RA                                     0x4d7
    892#define XK_kana_RI                                     0x4d8
    893#define XK_kana_RU                                     0x4d9
    894#define XK_kana_RE                                     0x4da
    895#define XK_kana_RO                                     0x4db
    896#define XK_kana_WA                                     0x4dc
    897#define XK_kana_N                                      0x4dd
    898#define XK_voicedsound                                 0x4de
    899#define XK_semivoicedsound                             0x4df
    900#define XK_kana_switch          0xFF7E  /* Alias for mode_switch */
    901#endif /* XK_KATAKANA */
    902
    903/*
    904 *  Arabic
    905 *  Byte 3 = 5
    906 */
    907
    908#ifdef XK_ARABIC
    909#define XK_Arabic_comma                                0x5ac
    910#define XK_Arabic_semicolon                            0x5bb
    911#define XK_Arabic_question_mark                        0x5bf
    912#define XK_Arabic_hamza                                0x5c1
    913#define XK_Arabic_maddaonalef                          0x5c2
    914#define XK_Arabic_hamzaonalef                          0x5c3
    915#define XK_Arabic_hamzaonwaw                           0x5c4
    916#define XK_Arabic_hamzaunderalef                       0x5c5
    917#define XK_Arabic_hamzaonyeh                           0x5c6
    918#define XK_Arabic_alef                                 0x5c7
    919#define XK_Arabic_beh                                  0x5c8
    920#define XK_Arabic_tehmarbuta                           0x5c9
    921#define XK_Arabic_teh                                  0x5ca
    922#define XK_Arabic_theh                                 0x5cb
    923#define XK_Arabic_jeem                                 0x5cc
    924#define XK_Arabic_hah                                  0x5cd
    925#define XK_Arabic_khah                                 0x5ce
    926#define XK_Arabic_dal                                  0x5cf
    927#define XK_Arabic_thal                                 0x5d0
    928#define XK_Arabic_ra                                   0x5d1
    929#define XK_Arabic_zain                                 0x5d2
    930#define XK_Arabic_seen                                 0x5d3
    931#define XK_Arabic_sheen                                0x5d4
    932#define XK_Arabic_sad                                  0x5d5
    933#define XK_Arabic_dad                                  0x5d6
    934#define XK_Arabic_tah                                  0x5d7
    935#define XK_Arabic_zah                                  0x5d8
    936#define XK_Arabic_ain                                  0x5d9
    937#define XK_Arabic_ghain                                0x5da
    938#define XK_Arabic_tatweel                              0x5e0
    939#define XK_Arabic_feh                                  0x5e1
    940#define XK_Arabic_qaf                                  0x5e2
    941#define XK_Arabic_kaf                                  0x5e3
    942#define XK_Arabic_lam                                  0x5e4
    943#define XK_Arabic_meem                                 0x5e5
    944#define XK_Arabic_noon                                 0x5e6
    945#define XK_Arabic_ha                                   0x5e7
    946#define XK_Arabic_heh                                  0x5e7  /* deprecated */
    947#define XK_Arabic_waw                                  0x5e8
    948#define XK_Arabic_alefmaksura                          0x5e9
    949#define XK_Arabic_yeh                                  0x5ea
    950#define XK_Arabic_fathatan                             0x5eb
    951#define XK_Arabic_dammatan                             0x5ec
    952#define XK_Arabic_kasratan                             0x5ed
    953#define XK_Arabic_fatha                                0x5ee
    954#define XK_Arabic_damma                                0x5ef
    955#define XK_Arabic_kasra                                0x5f0
    956#define XK_Arabic_shadda                               0x5f1
    957#define XK_Arabic_sukun                                0x5f2
    958#define XK_Arabic_switch        0xFF7E  /* Alias for mode_switch */
    959#endif /* XK_ARABIC */
    960
    961/*
    962 * Cyrillic
    963 * Byte 3 = 6
    964 */
    965#ifdef XK_CYRILLIC
    966#define XK_Serbian_dje                                 0x6a1
    967#define XK_Macedonia_gje                               0x6a2
    968#define XK_Cyrillic_io                                 0x6a3
    969#define XK_Ukrainian_ie                                0x6a4
    970#define XK_Ukranian_je                                 0x6a4  /* deprecated */
    971#define XK_Macedonia_dse                               0x6a5
    972#define XK_Ukrainian_i                                 0x6a6
    973#define XK_Ukranian_i                                  0x6a6  /* deprecated */
    974#define XK_Ukrainian_yi                                0x6a7
    975#define XK_Ukranian_yi                                 0x6a7  /* deprecated */
    976#define XK_Cyrillic_je                                 0x6a8
    977#define XK_Serbian_je                                  0x6a8  /* deprecated */
    978#define XK_Cyrillic_lje                                0x6a9
    979#define XK_Serbian_lje                                 0x6a9  /* deprecated */
    980#define XK_Cyrillic_nje                                0x6aa
    981#define XK_Serbian_nje                                 0x6aa  /* deprecated */
    982#define XK_Serbian_tshe                                0x6ab
    983#define XK_Macedonia_kje                               0x6ac
    984#define XK_Byelorussian_shortu                         0x6ae
    985#define XK_Cyrillic_dzhe                               0x6af
    986#define XK_Serbian_dze                                 0x6af  /* deprecated */
    987#define XK_numerosign                                  0x6b0
    988#define XK_Serbian_DJE                                 0x6b1
    989#define XK_Macedonia_GJE                               0x6b2
    990#define XK_Cyrillic_IO                                 0x6b3
    991#define XK_Ukrainian_IE                                0x6b4
    992#define XK_Ukranian_JE                                 0x6b4  /* deprecated */
    993#define XK_Macedonia_DSE                               0x6b5
    994#define XK_Ukrainian_I                                 0x6b6
    995#define XK_Ukranian_I                                  0x6b6  /* deprecated */
    996#define XK_Ukrainian_YI                                0x6b7
    997#define XK_Ukranian_YI                                 0x6b7  /* deprecated */
    998#define XK_Cyrillic_JE                                 0x6b8
    999#define XK_Serbian_JE                                  0x6b8  /* deprecated */
   1000#define XK_Cyrillic_LJE                                0x6b9
   1001#define XK_Serbian_LJE                                 0x6b9  /* deprecated */
   1002#define XK_Cyrillic_NJE                                0x6ba
   1003#define XK_Serbian_NJE                                 0x6ba  /* deprecated */
   1004#define XK_Serbian_TSHE                                0x6bb
   1005#define XK_Macedonia_KJE                               0x6bc
   1006#define XK_Byelorussian_SHORTU                         0x6be
   1007#define XK_Cyrillic_DZHE                               0x6bf
   1008#define XK_Serbian_DZE                                 0x6bf  /* deprecated */
   1009#define XK_Cyrillic_yu                                 0x6c0
   1010#define XK_Cyrillic_a                                  0x6c1
   1011#define XK_Cyrillic_be                                 0x6c2
   1012#define XK_Cyrillic_tse                                0x6c3
   1013#define XK_Cyrillic_de                                 0x6c4
   1014#define XK_Cyrillic_ie                                 0x6c5
   1015#define XK_Cyrillic_ef                                 0x6c6
   1016#define XK_Cyrillic_ghe                                0x6c7
   1017#define XK_Cyrillic_ha                                 0x6c8
   1018#define XK_Cyrillic_i                                  0x6c9
   1019#define XK_Cyrillic_shorti                             0x6ca
   1020#define XK_Cyrillic_ka                                 0x6cb
   1021#define XK_Cyrillic_el                                 0x6cc
   1022#define XK_Cyrillic_em                                 0x6cd
   1023#define XK_Cyrillic_en                                 0x6ce
   1024#define XK_Cyrillic_o                                  0x6cf
   1025#define XK_Cyrillic_pe                                 0x6d0
   1026#define XK_Cyrillic_ya                                 0x6d1
   1027#define XK_Cyrillic_er                                 0x6d2
   1028#define XK_Cyrillic_es                                 0x6d3
   1029#define XK_Cyrillic_te                                 0x6d4
   1030#define XK_Cyrillic_u                                  0x6d5
   1031#define XK_Cyrillic_zhe                                0x6d6
   1032#define XK_Cyrillic_ve                                 0x6d7
   1033#define XK_Cyrillic_softsign                           0x6d8
   1034#define XK_Cyrillic_yeru                               0x6d9
   1035#define XK_Cyrillic_ze                                 0x6da
   1036#define XK_Cyrillic_sha                                0x6db
   1037#define XK_Cyrillic_e                                  0x6dc
   1038#define XK_Cyrillic_shcha                              0x6dd
   1039#define XK_Cyrillic_che                                0x6de
   1040#define XK_Cyrillic_hardsign                           0x6df
   1041#define XK_Cyrillic_YU                                 0x6e0
   1042#define XK_Cyrillic_A                                  0x6e1
   1043#define XK_Cyrillic_BE                                 0x6e2
   1044#define XK_Cyrillic_TSE                                0x6e3
   1045#define XK_Cyrillic_DE                                 0x6e4
   1046#define XK_Cyrillic_IE                                 0x6e5
   1047#define XK_Cyrillic_EF                                 0x6e6
   1048#define XK_Cyrillic_GHE                                0x6e7
   1049#define XK_Cyrillic_HA                                 0x6e8
   1050#define XK_Cyrillic_I                                  0x6e9
   1051#define XK_Cyrillic_SHORTI                             0x6ea
   1052#define XK_Cyrillic_KA                                 0x6eb
   1053#define XK_Cyrillic_EL                                 0x6ec
   1054#define XK_Cyrillic_EM                                 0x6ed
   1055#define XK_Cyrillic_EN                                 0x6ee
   1056#define XK_Cyrillic_O                                  0x6ef
   1057#define XK_Cyrillic_PE                                 0x6f0
   1058#define XK_Cyrillic_YA                                 0x6f1
   1059#define XK_Cyrillic_ER                                 0x6f2
   1060#define XK_Cyrillic_ES                                 0x6f3
   1061#define XK_Cyrillic_TE                                 0x6f4
   1062#define XK_Cyrillic_U                                  0x6f5
   1063#define XK_Cyrillic_ZHE                                0x6f6
   1064#define XK_Cyrillic_VE                                 0x6f7
   1065#define XK_Cyrillic_SOFTSIGN                           0x6f8
   1066#define XK_Cyrillic_YERU                               0x6f9
   1067#define XK_Cyrillic_ZE                                 0x6fa
   1068#define XK_Cyrillic_SHA                                0x6fb
   1069#define XK_Cyrillic_E                                  0x6fc
   1070#define XK_Cyrillic_SHCHA                              0x6fd
   1071#define XK_Cyrillic_CHE                                0x6fe
   1072#define XK_Cyrillic_HARDSIGN                           0x6ff
   1073#endif /* XK_CYRILLIC */
   1074
   1075/*
   1076 * Greek
   1077 * Byte 3 = 7
   1078 */
   1079
   1080#ifdef XK_GREEK
   1081#define XK_Greek_ALPHAaccent                           0x7a1
   1082#define XK_Greek_EPSILONaccent                         0x7a2
   1083#define XK_Greek_ETAaccent                             0x7a3
   1084#define XK_Greek_IOTAaccent                            0x7a4
   1085#define XK_Greek_IOTAdieresis                          0x7a5
   1086#define XK_Greek_OMICRONaccent                         0x7a7
   1087#define XK_Greek_UPSILONaccent                         0x7a8
   1088#define XK_Greek_UPSILONdieresis                       0x7a9
   1089#define XK_Greek_OMEGAaccent                           0x7ab
   1090#define XK_Greek_accentdieresis                        0x7ae
   1091#define XK_Greek_horizbar                              0x7af
   1092#define XK_Greek_alphaaccent                           0x7b1
   1093#define XK_Greek_epsilonaccent                         0x7b2
   1094#define XK_Greek_etaaccent                             0x7b3
   1095#define XK_Greek_iotaaccent                            0x7b4
   1096#define XK_Greek_iotadieresis                          0x7b5
   1097#define XK_Greek_iotaaccentdieresis                    0x7b6
   1098#define XK_Greek_omicronaccent                         0x7b7
   1099#define XK_Greek_upsilonaccent                         0x7b8
   1100#define XK_Greek_upsilondieresis                       0x7b9
   1101#define XK_Greek_upsilonaccentdieresis                 0x7ba
   1102#define XK_Greek_omegaaccent                           0x7bb
   1103#define XK_Greek_ALPHA                                 0x7c1
   1104#define XK_Greek_BETA                                  0x7c2
   1105#define XK_Greek_GAMMA                                 0x7c3
   1106#define XK_Greek_DELTA                                 0x7c4
   1107#define XK_Greek_EPSILON                               0x7c5
   1108#define XK_Greek_ZETA                                  0x7c6
   1109#define XK_Greek_ETA                                   0x7c7
   1110#define XK_Greek_THETA                                 0x7c8
   1111#define XK_Greek_IOTA                                  0x7c9
   1112#define XK_Greek_KAPPA                                 0x7ca
   1113#define XK_Greek_LAMDA                                 0x7cb
   1114#define XK_Greek_LAMBDA                                0x7cb
   1115#define XK_Greek_MU                                    0x7cc
   1116#define XK_Greek_NU                                    0x7cd
   1117#define XK_Greek_XI                                    0x7ce
   1118#define XK_Greek_OMICRON                               0x7cf
   1119#define XK_Greek_PI                                    0x7d0
   1120#define XK_Greek_RHO                                   0x7d1
   1121#define XK_Greek_SIGMA                                 0x7d2
   1122#define XK_Greek_TAU                                   0x7d4
   1123#define XK_Greek_UPSILON                               0x7d5
   1124#define XK_Greek_PHI                                   0x7d6
   1125#define XK_Greek_CHI                                   0x7d7
   1126#define XK_Greek_PSI                                   0x7d8
   1127#define XK_Greek_OMEGA                                 0x7d9
   1128#define XK_Greek_alpha                                 0x7e1
   1129#define XK_Greek_beta                                  0x7e2
   1130#define XK_Greek_gamma                                 0x7e3
   1131#define XK_Greek_delta                                 0x7e4
   1132#define XK_Greek_epsilon                               0x7e5
   1133#define XK_Greek_zeta                                  0x7e6
   1134#define XK_Greek_eta                                   0x7e7
   1135#define XK_Greek_theta                                 0x7e8
   1136#define XK_Greek_iota                                  0x7e9
   1137#define XK_Greek_kappa                                 0x7ea
   1138#define XK_Greek_lamda                                 0x7eb
   1139#define XK_Greek_lambda                                0x7eb
   1140#define XK_Greek_mu                                    0x7ec
   1141#define XK_Greek_nu                                    0x7ed
   1142#define XK_Greek_xi                                    0x7ee
   1143#define XK_Greek_omicron                               0x7ef
   1144#define XK_Greek_pi                                    0x7f0
   1145#define XK_Greek_rho                                   0x7f1
   1146#define XK_Greek_sigma                                 0x7f2
   1147#define XK_Greek_finalsmallsigma                       0x7f3
   1148#define XK_Greek_tau                                   0x7f4
   1149#define XK_Greek_upsilon                               0x7f5
   1150#define XK_Greek_phi                                   0x7f6
   1151#define XK_Greek_chi                                   0x7f7
   1152#define XK_Greek_psi                                   0x7f8
   1153#define XK_Greek_omega                                 0x7f9
   1154#define XK_Greek_switch         0xFF7E  /* Alias for mode_switch */
   1155#endif /* XK_GREEK */
   1156
   1157/*
   1158 * Technical
   1159 * Byte 3 = 8
   1160 */
   1161
   1162#ifdef XK_TECHNICAL
   1163#define XK_leftradical                                 0x8a1
   1164#define XK_topleftradical                              0x8a2
   1165#define XK_horizconnector                              0x8a3
   1166#define XK_topintegral                                 0x8a4
   1167#define XK_botintegral                                 0x8a5
   1168#define XK_vertconnector                               0x8a6
   1169#define XK_topleftsqbracket                            0x8a7
   1170#define XK_botleftsqbracket                            0x8a8
   1171#define XK_toprightsqbracket                           0x8a9
   1172#define XK_botrightsqbracket                           0x8aa
   1173#define XK_topleftparens                               0x8ab
   1174#define XK_botleftparens                               0x8ac
   1175#define XK_toprightparens                              0x8ad
   1176#define XK_botrightparens                              0x8ae
   1177#define XK_leftmiddlecurlybrace                        0x8af
   1178#define XK_rightmiddlecurlybrace                       0x8b0
   1179#define XK_topleftsummation                            0x8b1
   1180#define XK_botleftsummation                            0x8b2
   1181#define XK_topvertsummationconnector                   0x8b3
   1182#define XK_botvertsummationconnector                   0x8b4
   1183#define XK_toprightsummation                           0x8b5
   1184#define XK_botrightsummation                           0x8b6
   1185#define XK_rightmiddlesummation                        0x8b7
   1186#define XK_lessthanequal                               0x8bc
   1187#define XK_notequal                                    0x8bd
   1188#define XK_greaterthanequal                            0x8be
   1189#define XK_integral                                    0x8bf
   1190#define XK_therefore                                   0x8c0
   1191#define XK_variation                                   0x8c1
   1192#define XK_infinity                                    0x8c2
   1193#define XK_nabla                                       0x8c5
   1194#define XK_approximate                                 0x8c8
   1195#define XK_similarequal                                0x8c9
   1196#define XK_ifonlyif                                    0x8cd
   1197#define XK_implies                                     0x8ce
   1198#define XK_identical                                   0x8cf
   1199#define XK_radical                                     0x8d6
   1200#define XK_includedin                                  0x8da
   1201#define XK_includes                                    0x8db
   1202#define XK_intersection                                0x8dc
   1203#define XK_union                                       0x8dd
   1204#define XK_logicaland                                  0x8de
   1205#define XK_logicalor                                   0x8df
   1206#define XK_partialderivative                           0x8ef
   1207#define XK_function                                    0x8f6
   1208#define XK_leftarrow                                   0x8fb
   1209#define XK_uparrow                                     0x8fc
   1210#define XK_rightarrow                                  0x8fd
   1211#define XK_downarrow                                   0x8fe
   1212#endif /* XK_TECHNICAL */
   1213
   1214/*
   1215 *  Special
   1216 *  Byte 3 = 9
   1217 */
   1218
   1219#ifdef XK_SPECIAL
   1220#define XK_blank                                       0x9df
   1221#define XK_soliddiamond                                0x9e0
   1222#define XK_checkerboard                                0x9e1
   1223#define XK_ht                                          0x9e2
   1224#define XK_ff                                          0x9e3
   1225#define XK_cr                                          0x9e4
   1226#define XK_lf                                          0x9e5
   1227#define XK_nl                                          0x9e8
   1228#define XK_vt                                          0x9e9
   1229#define XK_lowrightcorner                              0x9ea
   1230#define XK_uprightcorner                               0x9eb
   1231#define XK_upleftcorner                                0x9ec
   1232#define XK_lowleftcorner                               0x9ed
   1233#define XK_crossinglines                               0x9ee
   1234#define XK_horizlinescan1                              0x9ef
   1235#define XK_horizlinescan3                              0x9f0
   1236#define XK_horizlinescan5                              0x9f1
   1237#define XK_horizlinescan7                              0x9f2
   1238#define XK_horizlinescan9                              0x9f3
   1239#define XK_leftt                                       0x9f4
   1240#define XK_rightt                                      0x9f5
   1241#define XK_bott                                        0x9f6
   1242#define XK_topt                                        0x9f7
   1243#define XK_vertbar                                     0x9f8
   1244#endif /* XK_SPECIAL */
   1245
   1246/*
   1247 *  Publishing
   1248 *  Byte 3 = a
   1249 */
   1250
   1251#ifdef XK_PUBLISHING
   1252#define XK_emspace                                     0xaa1
   1253#define XK_enspace                                     0xaa2
   1254#define XK_em3space                                    0xaa3
   1255#define XK_em4space                                    0xaa4
   1256#define XK_digitspace                                  0xaa5
   1257#define XK_punctspace                                  0xaa6
   1258#define XK_thinspace                                   0xaa7
   1259#define XK_hairspace                                   0xaa8
   1260#define XK_emdash                                      0xaa9
   1261#define XK_endash                                      0xaaa
   1262#define XK_signifblank                                 0xaac
   1263#define XK_ellipsis                                    0xaae
   1264#define XK_doubbaselinedot                             0xaaf
   1265#define XK_onethird                                    0xab0
   1266#define XK_twothirds                                   0xab1
   1267#define XK_onefifth                                    0xab2
   1268#define XK_twofifths                                   0xab3
   1269#define XK_threefifths                                 0xab4
   1270#define XK_fourfifths                                  0xab5
   1271#define XK_onesixth                                    0xab6
   1272#define XK_fivesixths                                  0xab7
   1273#define XK_careof                                      0xab8
   1274#define XK_figdash                                     0xabb
   1275#define XK_leftanglebracket                            0xabc
   1276#define XK_decimalpoint                                0xabd
   1277#define XK_rightanglebracket                           0xabe
   1278#define XK_marker                                      0xabf
   1279#define XK_oneeighth                                   0xac3
   1280#define XK_threeeighths                                0xac4
   1281#define XK_fiveeighths                                 0xac5
   1282#define XK_seveneighths                                0xac6
   1283#define XK_trademark                                   0xac9
   1284#define XK_signaturemark                               0xaca
   1285#define XK_trademarkincircle                           0xacb
   1286#define XK_leftopentriangle                            0xacc
   1287#define XK_rightopentriangle                           0xacd
   1288#define XK_emopencircle                                0xace
   1289#define XK_emopenrectangle                             0xacf
   1290#define XK_leftsinglequotemark                         0xad0
   1291#define XK_rightsinglequotemark                        0xad1
   1292#define XK_leftdoublequotemark                         0xad2
   1293#define XK_rightdoublequotemark                        0xad3
   1294#define XK_prescription                                0xad4
   1295#define XK_minutes                                     0xad6
   1296#define XK_seconds                                     0xad7
   1297#define XK_latincross                                  0xad9
   1298#define XK_hexagram                                    0xada
   1299#define XK_filledrectbullet                            0xadb
   1300#define XK_filledlefttribullet                         0xadc
   1301#define XK_filledrighttribullet                        0xadd
   1302#define XK_emfilledcircle                              0xade
   1303#define XK_emfilledrect                                0xadf
   1304#define XK_enopencircbullet                            0xae0
   1305#define XK_enopensquarebullet                          0xae1
   1306#define XK_openrectbullet                              0xae2
   1307#define XK_opentribulletup                             0xae3
   1308#define XK_opentribulletdown                           0xae4
   1309#define XK_openstar                                    0xae5
   1310#define XK_enfilledcircbullet                          0xae6
   1311#define XK_enfilledsqbullet                            0xae7
   1312#define XK_filledtribulletup                           0xae8
   1313#define XK_filledtribulletdown                         0xae9
   1314#define XK_leftpointer                                 0xaea
   1315#define XK_rightpointer                                0xaeb
   1316#define XK_club                                        0xaec
   1317#define XK_diamond                                     0xaed
   1318#define XK_heart                                       0xaee
   1319#define XK_maltesecross                                0xaf0
   1320#define XK_dagger                                      0xaf1
   1321#define XK_doubledagger                                0xaf2
   1322#define XK_checkmark                                   0xaf3
   1323#define XK_ballotcross                                 0xaf4
   1324#define XK_musicalsharp                                0xaf5
   1325#define XK_musicalflat                                 0xaf6
   1326#define XK_malesymbol                                  0xaf7
   1327#define XK_femalesymbol                                0xaf8
   1328#define XK_telephone                                   0xaf9
   1329#define XK_telephonerecorder                           0xafa
   1330#define XK_phonographcopyright                         0xafb
   1331#define XK_caret                                       0xafc
   1332#define XK_singlelowquotemark                          0xafd
   1333#define XK_doublelowquotemark                          0xafe
   1334#define XK_cursor                                      0xaff
   1335#endif /* XK_PUBLISHING */
   1336
   1337/*
   1338 *  APL
   1339 *  Byte 3 = b
   1340 */
   1341
   1342#ifdef XK_APL
   1343#define XK_leftcaret                                   0xba3
   1344#define XK_rightcaret                                  0xba6
   1345#define XK_downcaret                                   0xba8
   1346#define XK_upcaret                                     0xba9
   1347#define XK_overbar                                     0xbc0
   1348#define XK_downtack                                    0xbc2
   1349#define XK_upshoe                                      0xbc3
   1350#define XK_downstile                                   0xbc4
   1351#define XK_underbar                                    0xbc6
   1352#define XK_jot                                         0xbca
   1353#define XK_quad                                        0xbcc
   1354#define XK_uptack                                      0xbce
   1355#define XK_circle                                      0xbcf
   1356#define XK_upstile                                     0xbd3
   1357#define XK_downshoe                                    0xbd6
   1358#define XK_rightshoe                                   0xbd8
   1359#define XK_leftshoe                                    0xbda
   1360#define XK_lefttack                                    0xbdc
   1361#define XK_righttack                                   0xbfc
   1362#endif /* XK_APL */
   1363
   1364/*
   1365 * Hebrew
   1366 * Byte 3 = c
   1367 */
   1368
   1369#ifdef XK_HEBREW
   1370#define XK_hebrew_doublelowline                        0xcdf
   1371#define XK_hebrew_aleph                                0xce0
   1372#define XK_hebrew_bet                                  0xce1
   1373#define XK_hebrew_beth                                 0xce1  /* deprecated */
   1374#define XK_hebrew_gimel                                0xce2
   1375#define XK_hebrew_gimmel                               0xce2  /* deprecated */
   1376#define XK_hebrew_dalet                                0xce3
   1377#define XK_hebrew_daleth                               0xce3  /* deprecated */
   1378#define XK_hebrew_he                                   0xce4
   1379#define XK_hebrew_waw                                  0xce5
   1380#define XK_hebrew_zain                                 0xce6
   1381#define XK_hebrew_zayin                                0xce6  /* deprecated */
   1382#define XK_hebrew_chet                                 0xce7
   1383#define XK_hebrew_het                                  0xce7  /* deprecated */
   1384#define XK_hebrew_tet                                  0xce8
   1385#define XK_hebrew_teth                                 0xce8  /* deprecated */
   1386#define XK_hebrew_yod                                  0xce9
   1387#define XK_hebrew_finalkaph                            0xcea
   1388#define XK_hebrew_kaph                                 0xceb
   1389#define XK_hebrew_lamed                                0xcec
   1390#define XK_hebrew_finalmem                             0xced
   1391#define XK_hebrew_mem                                  0xcee
   1392#define XK_hebrew_finalnun                             0xcef
   1393#define XK_hebrew_nun                                  0xcf0
   1394#define XK_hebrew_samech                               0xcf1
   1395#define XK_hebrew_samekh                               0xcf1  /* deprecated */
   1396#define XK_hebrew_ayin                                 0xcf2
   1397#define XK_hebrew_finalpe                              0xcf3
   1398#define XK_hebrew_pe                                   0xcf4
   1399#define XK_hebrew_finalzade                            0xcf5
   1400#define XK_hebrew_finalzadi                            0xcf5  /* deprecated */
   1401#define XK_hebrew_zade                                 0xcf6
   1402#define XK_hebrew_zadi                                 0xcf6  /* deprecated */
   1403#define XK_hebrew_qoph                                 0xcf7
   1404#define XK_hebrew_kuf                                  0xcf7  /* deprecated */
   1405#define XK_hebrew_resh                                 0xcf8
   1406#define XK_hebrew_shin                                 0xcf9
   1407#define XK_hebrew_taw                                  0xcfa
   1408#define XK_hebrew_taf                                  0xcfa  /* deprecated */
   1409#define XK_Hebrew_switch        0xFF7E  /* Alias for mode_switch */
   1410#endif /* XK_HEBREW */
   1411
   1412/*
   1413 * Thai
   1414 * Byte 3 = d
   1415 */
   1416
   1417#ifdef XK_THAI
   1418#define XK_Thai_kokai					0xda1
   1419#define XK_Thai_khokhai					0xda2
   1420#define XK_Thai_khokhuat				0xda3
   1421#define XK_Thai_khokhwai				0xda4
   1422#define XK_Thai_khokhon					0xda5
   1423#define XK_Thai_khorakhang			        0xda6  
   1424#define XK_Thai_ngongu					0xda7  
   1425#define XK_Thai_chochan					0xda8  
   1426#define XK_Thai_choching				0xda9   
   1427#define XK_Thai_chochang				0xdaa  
   1428#define XK_Thai_soso					0xdab
   1429#define XK_Thai_chochoe					0xdac
   1430#define XK_Thai_yoying					0xdad
   1431#define XK_Thai_dochada					0xdae
   1432#define XK_Thai_topatak					0xdaf
   1433#define XK_Thai_thothan					0xdb0
   1434#define XK_Thai_thonangmontho			        0xdb1
   1435#define XK_Thai_thophuthao			        0xdb2
   1436#define XK_Thai_nonen					0xdb3
   1437#define XK_Thai_dodek					0xdb4
   1438#define XK_Thai_totao					0xdb5
   1439#define XK_Thai_thothung				0xdb6
   1440#define XK_Thai_thothahan				0xdb7
   1441#define XK_Thai_thothong	 			0xdb8
   1442#define XK_Thai_nonu					0xdb9
   1443#define XK_Thai_bobaimai				0xdba
   1444#define XK_Thai_popla					0xdbb
   1445#define XK_Thai_phophung				0xdbc
   1446#define XK_Thai_fofa					0xdbd
   1447#define XK_Thai_phophan					0xdbe
   1448#define XK_Thai_fofan					0xdbf
   1449#define XK_Thai_phosamphao			        0xdc0
   1450#define XK_Thai_moma					0xdc1
   1451#define XK_Thai_yoyak					0xdc2
   1452#define XK_Thai_rorua					0xdc3
   1453#define XK_Thai_ru					0xdc4
   1454#define XK_Thai_loling					0xdc5
   1455#define XK_Thai_lu					0xdc6
   1456#define XK_Thai_wowaen					0xdc7
   1457#define XK_Thai_sosala					0xdc8
   1458#define XK_Thai_sorusi					0xdc9
   1459#define XK_Thai_sosua					0xdca
   1460#define XK_Thai_hohip					0xdcb
   1461#define XK_Thai_lochula					0xdcc
   1462#define XK_Thai_oang					0xdcd
   1463#define XK_Thai_honokhuk				0xdce
   1464#define XK_Thai_paiyannoi				0xdcf
   1465#define XK_Thai_saraa					0xdd0
   1466#define XK_Thai_maihanakat				0xdd1
   1467#define XK_Thai_saraaa					0xdd2
   1468#define XK_Thai_saraam					0xdd3
   1469#define XK_Thai_sarai					0xdd4   
   1470#define XK_Thai_saraii					0xdd5   
   1471#define XK_Thai_saraue					0xdd6    
   1472#define XK_Thai_sarauee					0xdd7    
   1473#define XK_Thai_sarau					0xdd8    
   1474#define XK_Thai_sarauu					0xdd9   
   1475#define XK_Thai_phinthu					0xdda
   1476#define XK_Thai_maihanakat_maitho   			0xdde
   1477#define XK_Thai_baht					0xddf
   1478#define XK_Thai_sarae					0xde0    
   1479#define XK_Thai_saraae					0xde1
   1480#define XK_Thai_sarao					0xde2
   1481#define XK_Thai_saraaimaimuan				0xde3   
   1482#define XK_Thai_saraaimaimalai				0xde4  
   1483#define XK_Thai_lakkhangyao				0xde5
   1484#define XK_Thai_maiyamok				0xde6
   1485#define XK_Thai_maitaikhu				0xde7
   1486#define XK_Thai_maiek					0xde8   
   1487#define XK_Thai_maitho					0xde9
   1488#define XK_Thai_maitri					0xdea
   1489#define XK_Thai_maichattawa				0xdeb
   1490#define XK_Thai_thanthakhat				0xdec
   1491#define XK_Thai_nikhahit				0xded
   1492#define XK_Thai_leksun					0xdf0 
   1493#define XK_Thai_leknung					0xdf1  
   1494#define XK_Thai_leksong					0xdf2 
   1495#define XK_Thai_leksam					0xdf3
   1496#define XK_Thai_leksi					0xdf4  
   1497#define XK_Thai_lekha					0xdf5  
   1498#define XK_Thai_lekhok					0xdf6  
   1499#define XK_Thai_lekchet					0xdf7  
   1500#define XK_Thai_lekpaet					0xdf8  
   1501#define XK_Thai_lekkao					0xdf9 
   1502#endif /* XK_THAI */
   1503
   1504/*
   1505 *   Korean
   1506 *   Byte 3 = e
   1507 */
   1508
   1509#ifdef XK_KOREAN
   1510
   1511#define XK_Hangul		0xff31    /* Hangul start/stop(toggle) */
   1512#define XK_Hangul_Start		0xff32    /* Hangul start */
   1513#define XK_Hangul_End		0xff33    /* Hangul end, English start */
   1514#define XK_Hangul_Hanja		0xff34    /* Start Hangul->Hanja Conversion */
   1515#define XK_Hangul_Jamo		0xff35    /* Hangul Jamo mode */
   1516#define XK_Hangul_Romaja	0xff36    /* Hangul Romaja mode */
   1517#define XK_Hangul_Codeinput	0xff37    /* Hangul code input mode */
   1518#define XK_Hangul_Jeonja	0xff38    /* Jeonja mode */
   1519#define XK_Hangul_Banja		0xff39    /* Banja mode */
   1520#define XK_Hangul_PreHanja	0xff3a    /* Pre Hanja conversion */
   1521#define XK_Hangul_PostHanja	0xff3b    /* Post Hanja conversion */
   1522#define XK_Hangul_SingleCandidate	0xff3c    /* Single candidate */
   1523#define XK_Hangul_MultipleCandidate	0xff3d    /* Multiple candidate */
   1524#define XK_Hangul_PreviousCandidate	0xff3e    /* Previous candidate */
   1525#define XK_Hangul_Special	0xff3f    /* Special symbols */
   1526#define XK_Hangul_switch	0xFF7E    /* Alias for mode_switch */
   1527
   1528/* Hangul Consonant Characters */
   1529#define XK_Hangul_Kiyeog				0xea1
   1530#define XK_Hangul_SsangKiyeog				0xea2
   1531#define XK_Hangul_KiyeogSios				0xea3
   1532#define XK_Hangul_Nieun					0xea4
   1533#define XK_Hangul_NieunJieuj				0xea5
   1534#define XK_Hangul_NieunHieuh				0xea6
   1535#define XK_Hangul_Dikeud				0xea7
   1536#define XK_Hangul_SsangDikeud				0xea8
   1537#define XK_Hangul_Rieul					0xea9
   1538#define XK_Hangul_RieulKiyeog				0xeaa
   1539#define XK_Hangul_RieulMieum				0xeab
   1540#define XK_Hangul_RieulPieub				0xeac
   1541#define XK_Hangul_RieulSios				0xead
   1542#define XK_Hangul_RieulTieut				0xeae
   1543#define XK_Hangul_RieulPhieuf				0xeaf
   1544#define XK_Hangul_RieulHieuh				0xeb0
   1545#define XK_Hangul_Mieum					0xeb1
   1546#define XK_Hangul_Pieub					0xeb2
   1547#define XK_Hangul_SsangPieub				0xeb3
   1548#define XK_Hangul_PieubSios				0xeb4
   1549#define XK_Hangul_Sios					0xeb5
   1550#define XK_Hangul_SsangSios				0xeb6
   1551#define XK_Hangul_Ieung					0xeb7
   1552#define XK_Hangul_Jieuj					0xeb8
   1553#define XK_Hangul_SsangJieuj				0xeb9
   1554#define XK_Hangul_Cieuc					0xeba
   1555#define XK_Hangul_Khieuq				0xebb
   1556#define XK_Hangul_Tieut					0xebc
   1557#define XK_Hangul_Phieuf				0xebd
   1558#define XK_Hangul_Hieuh					0xebe
   1559
   1560/* Hangul Vowel Characters */
   1561#define XK_Hangul_A					0xebf
   1562#define XK_Hangul_AE					0xec0
   1563#define XK_Hangul_YA					0xec1
   1564#define XK_Hangul_YAE					0xec2
   1565#define XK_Hangul_EO					0xec3
   1566#define XK_Hangul_E					0xec4
   1567#define XK_Hangul_YEO					0xec5
   1568#define XK_Hangul_YE					0xec6
   1569#define XK_Hangul_O					0xec7
   1570#define XK_Hangul_WA					0xec8
   1571#define XK_Hangul_WAE					0xec9
   1572#define XK_Hangul_OE					0xeca
   1573#define XK_Hangul_YO					0xecb
   1574#define XK_Hangul_U					0xecc
   1575#define XK_Hangul_WEO					0xecd
   1576#define XK_Hangul_WE					0xece
   1577#define XK_Hangul_WI					0xecf
   1578#define XK_Hangul_YU					0xed0
   1579#define XK_Hangul_EU					0xed1
   1580#define XK_Hangul_YI					0xed2
   1581#define XK_Hangul_I					0xed3
   1582
   1583/* Hangul syllable-final (JongSeong) Characters */
   1584#define XK_Hangul_J_Kiyeog				0xed4
   1585#define XK_Hangul_J_SsangKiyeog				0xed5
   1586#define XK_Hangul_J_KiyeogSios				0xed6
   1587#define XK_Hangul_J_Nieun				0xed7
   1588#define XK_Hangul_J_NieunJieuj				0xed8
   1589#define XK_Hangul_J_NieunHieuh				0xed9
   1590#define XK_Hangul_J_Dikeud				0xeda
   1591#define XK_Hangul_J_Rieul				0xedb
   1592#define XK_Hangul_J_RieulKiyeog				0xedc
   1593#define XK_Hangul_J_RieulMieum				0xedd
   1594#define XK_Hangul_J_RieulPieub				0xede
   1595#define XK_Hangul_J_RieulSios				0xedf
   1596#define XK_Hangul_J_RieulTieut				0xee0
   1597#define XK_Hangul_J_RieulPhieuf				0xee1
   1598#define XK_Hangul_J_RieulHieuh				0xee2
   1599#define XK_Hangul_J_Mieum				0xee3
   1600#define XK_Hangul_J_Pieub				0xee4
   1601#define XK_Hangul_J_PieubSios				0xee5
   1602#define XK_Hangul_J_Sios				0xee6
   1603#define XK_Hangul_J_SsangSios				0xee7
   1604#define XK_Hangul_J_Ieung				0xee8
   1605#define XK_Hangul_J_Jieuj				0xee9
   1606#define XK_Hangul_J_Cieuc				0xeea
   1607#define XK_Hangul_J_Khieuq				0xeeb
   1608#define XK_Hangul_J_Tieut				0xeec
   1609#define XK_Hangul_J_Phieuf				0xeed
   1610#define XK_Hangul_J_Hieuh				0xeee
   1611
   1612/* Ancient Hangul Consonant Characters */
   1613#define XK_Hangul_RieulYeorinHieuh			0xeef
   1614#define XK_Hangul_SunkyeongeumMieum			0xef0
   1615#define XK_Hangul_SunkyeongeumPieub			0xef1
   1616#define XK_Hangul_PanSios				0xef2
   1617#define XK_Hangul_KkogjiDalrinIeung			0xef3
   1618#define XK_Hangul_SunkyeongeumPhieuf			0xef4
   1619#define XK_Hangul_YeorinHieuh				0xef5
   1620
   1621/* Ancient Hangul Vowel Characters */
   1622#define XK_Hangul_AraeA					0xef6
   1623#define XK_Hangul_AraeAE				0xef7
   1624
   1625/* Ancient Hangul syllable-final (JongSeong) Characters */
   1626#define XK_Hangul_J_PanSios				0xef8
   1627#define XK_Hangul_J_KkogjiDalrinIeung			0xef9
   1628#define XK_Hangul_J_YeorinHieuh				0xefa
   1629
   1630/* Korean currency symbol */
   1631#define XK_Korean_Won					0xeff
   1632
   1633#endif /* XK_KOREAN */
   1634
   1635/* Euro currency symbol */
   1636#define XK_EuroSign 0x20ac
   1637
   1638#endif