summaryrefslogtreecommitdiffstats
path: root/xlib
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2024-05-03 10:11:29 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2024-05-03 10:11:29 (GMT)
commit51f3edc8742610991c8ee9b6e1916f36b7e2dcea (patch)
tree018b48ede479529eb0a885a9da20ab6391186598 /xlib
parent0045adce01c53ec2e867265e7ece58744f67f68a (diff)
downloadtk-51f3edc8742610991c8ee9b6e1916f36b7e2dcea.zip
tk-51f3edc8742610991c8ee9b6e1916f36b7e2dcea.tar.gz
tk-51f3edc8742610991c8ee9b6e1916f36b7e2dcea.tar.bz2
Update to latest X11. Too many changes to rush into 9.0b2
Diffstat (limited to 'xlib')
-rw-r--r--xlib/X11/DECkeysym.h16
-rw-r--r--xlib/X11/HPkeysym.h172
-rw-r--r--xlib/X11/Sunkeysym.h66
-rw-r--r--xlib/X11/X.h10
-rwxr-xr-xxlib/X11/XF86keysym.h776
-rw-r--r--xlib/X11/Xlib.h4
-rw-r--r--xlib/X11/keysymdef.h1010
7 files changed, 1460 insertions, 594 deletions
diff --git a/xlib/X11/DECkeysym.h b/xlib/X11/DECkeysym.h
index d9e23c4..088dfa5 100644
--- a/xlib/X11/DECkeysym.h
+++ b/xlib/X11/DECkeysym.h
@@ -52,14 +52,14 @@ SOFTWARE.
/* two-key compose sequence initiators, chosen to map to Latin1 characters */
-#define DXK_ring_accent 0x1000FEB0
-#define DXK_circumflex_accent 0x1000FE5E
-#define DXK_cedilla_accent 0x1000FE2C
-#define DXK_acute_accent 0x1000FE27
-#define DXK_grave_accent 0x1000FE60
-#define DXK_tilde 0x1000FE7E
-#define DXK_diaeresis 0x1000FE22
+#define DXK_ring_accent 0x1000feb0
+#define DXK_circumflex_accent 0x1000fe5e
+#define DXK_cedilla_accent 0x1000fe2c
+#define DXK_acute_accent 0x1000fe27
+#define DXK_grave_accent 0x1000fe60
+#define DXK_tilde 0x1000fe7e
+#define DXK_diaeresis 0x1000fe22
/* special keysym for LK2** "Remove" key on editing keypad */
-#define DXK_Remove 0x1000FF00 /* Remove */
+#define DXK_Remove 0x1000ff00 /* Remove */
diff --git a/xlib/X11/HPkeysym.h b/xlib/X11/HPkeysym.h
index d41ed38..5585dc4 100644
--- a/xlib/X11/HPkeysym.h
+++ b/xlib/X11/HPkeysym.h
@@ -59,74 +59,74 @@ performance, or use of this material.
#define _HPKEYSYM_H
-#define hpXK_ClearLine 0x1000FF6F
-#define hpXK_InsertLine 0x1000FF70
-#define hpXK_DeleteLine 0x1000FF71
-#define hpXK_InsertChar 0x1000FF72
-#define hpXK_DeleteChar 0x1000FF73
-#define hpXK_BackTab 0x1000FF74
-#define hpXK_KP_BackTab 0x1000FF75
-#define hpXK_Modelock1 0x1000FF48
-#define hpXK_Modelock2 0x1000FF49
-#define hpXK_Reset 0x1000FF6C
-#define hpXK_System 0x1000FF6D
-#define hpXK_User 0x1000FF6E
-#define hpXK_mute_acute 0x100000A8
-#define hpXK_mute_grave 0x100000A9
-#define hpXK_mute_asciicircum 0x100000AA
-#define hpXK_mute_diaeresis 0x100000AB
-#define hpXK_mute_asciitilde 0x100000AC
-#define hpXK_lira 0x100000AF
-#define hpXK_guilder 0x100000BE
-#define hpXK_Ydiaeresis 0x100000EE
-#define hpXK_IO 0x100000EE
-#define hpXK_longminus 0x100000F6
-#define hpXK_block 0x100000FC
+#define hpXK_ClearLine 0x1000ff6f
+#define hpXK_InsertLine 0x1000ff70
+#define hpXK_DeleteLine 0x1000ff71
+#define hpXK_InsertChar 0x1000ff72
+#define hpXK_DeleteChar 0x1000ff73
+#define hpXK_BackTab 0x1000ff74
+#define hpXK_KP_BackTab 0x1000ff75
+#define hpXK_Modelock1 0x1000ff48
+#define hpXK_Modelock2 0x1000ff49
+#define hpXK_Reset 0x1000ff6c
+#define hpXK_System 0x1000ff6d
+#define hpXK_User 0x1000ff6e
+#define hpXK_mute_acute 0x100000a8
+#define hpXK_mute_grave 0x100000a9
+#define hpXK_mute_asciicircum 0x100000aa
+#define hpXK_mute_diaeresis 0x100000ab
+#define hpXK_mute_asciitilde 0x100000ac
+#define hpXK_lira 0x100000af
+#define hpXK_guilder 0x100000be
+#define hpXK_Ydiaeresis 0x100000ee
+#define hpXK_IO 0x100000ee /* deprecated alias for hpYdiaeresis */
+#define hpXK_longminus 0x100000f6
+#define hpXK_block 0x100000fc
#ifndef _OSF_Keysyms
#define _OSF_Keysyms
-#define osfXK_Copy 0x1004FF02
-#define osfXK_Cut 0x1004FF03
-#define osfXK_Paste 0x1004FF04
-#define osfXK_BackTab 0x1004FF07
-#define osfXK_BackSpace 0x1004FF08
-#define osfXK_Clear 0x1004FF0B
-#define osfXK_Escape 0x1004FF1B
-#define osfXK_AddMode 0x1004FF31
-#define osfXK_PrimaryPaste 0x1004FF32
-#define osfXK_QuickPaste 0x1004FF33
-#define osfXK_PageLeft 0x1004FF40
-#define osfXK_PageUp 0x1004FF41
-#define osfXK_PageDown 0x1004FF42
-#define osfXK_PageRight 0x1004FF43
-#define osfXK_Activate 0x1004FF44
-#define osfXK_MenuBar 0x1004FF45
-#define osfXK_Left 0x1004FF51
-#define osfXK_Up 0x1004FF52
-#define osfXK_Right 0x1004FF53
-#define osfXK_Down 0x1004FF54
-#define osfXK_EndLine 0x1004FF57
-#define osfXK_BeginLine 0x1004FF58
-#define osfXK_EndData 0x1004FF59
-#define osfXK_BeginData 0x1004FF5A
-#define osfXK_PrevMenu 0x1004FF5B
-#define osfXK_NextMenu 0x1004FF5C
-#define osfXK_PrevField 0x1004FF5D
-#define osfXK_NextField 0x1004FF5E
-#define osfXK_Select 0x1004FF60
-#define osfXK_Insert 0x1004FF63
-#define osfXK_Undo 0x1004FF65
-#define osfXK_Menu 0x1004FF67
-#define osfXK_Cancel 0x1004FF69
-#define osfXK_Help 0x1004FF6A
-#define osfXK_SelectAll 0x1004FF71
-#define osfXK_DeselectAll 0x1004FF72
-#define osfXK_Reselect 0x1004FF73
-#define osfXK_Extend 0x1004FF74
-#define osfXK_Restore 0x1004FF78
-#define osfXK_Delete 0x1004FFFF
+#define osfXK_Copy 0x1004ff02
+#define osfXK_Cut 0x1004ff03
+#define osfXK_Paste 0x1004ff04
+#define osfXK_BackTab 0x1004ff07
+#define osfXK_BackSpace 0x1004ff08
+#define osfXK_Clear 0x1004ff0b
+#define osfXK_Escape 0x1004ff1b
+#define osfXK_AddMode 0x1004ff31
+#define osfXK_PrimaryPaste 0x1004ff32
+#define osfXK_QuickPaste 0x1004ff33
+#define osfXK_PageLeft 0x1004ff40
+#define osfXK_PageUp 0x1004ff41
+#define osfXK_PageDown 0x1004ff42
+#define osfXK_PageRight 0x1004ff43
+#define osfXK_Activate 0x1004ff44
+#define osfXK_MenuBar 0x1004ff45
+#define osfXK_Left 0x1004ff51
+#define osfXK_Up 0x1004ff52
+#define osfXK_Right 0x1004ff53
+#define osfXK_Down 0x1004ff54
+#define osfXK_EndLine 0x1004ff57
+#define osfXK_BeginLine 0x1004ff58
+#define osfXK_EndData 0x1004ff59
+#define osfXK_BeginData 0x1004ff5a
+#define osfXK_PrevMenu 0x1004ff5b
+#define osfXK_NextMenu 0x1004ff5c
+#define osfXK_PrevField 0x1004ff5d
+#define osfXK_NextField 0x1004ff5e
+#define osfXK_Select 0x1004ff60
+#define osfXK_Insert 0x1004ff63
+#define osfXK_Undo 0x1004ff65
+#define osfXK_Menu 0x1004ff67
+#define osfXK_Cancel 0x1004ff69
+#define osfXK_Help 0x1004ff6a
+#define osfXK_SelectAll 0x1004ff71
+#define osfXK_DeselectAll 0x1004ff72
+#define osfXK_Reselect 0x1004ff73
+#define osfXK_Extend 0x1004ff74
+#define osfXK_Restore 0x1004ff78
+#define osfXK_Delete 0x1004ffff
#endif /* _OSF_Keysyms */
@@ -135,30 +135,30 @@ performance, or use of this material.
* The use of the following macros is deprecated.
* They are listed below only for backwards compatibility.
*/
-#define XK_Reset 0x1000FF6C
-#define XK_System 0x1000FF6D
-#define XK_User 0x1000FF6E
-#define XK_ClearLine 0x1000FF6F
-#define XK_InsertLine 0x1000FF70
-#define XK_DeleteLine 0x1000FF71
-#define XK_InsertChar 0x1000FF72
-#define XK_DeleteChar 0x1000FF73
-#define XK_BackTab 0x1000FF74
-#define XK_KP_BackTab 0x1000FF75
-#define XK_Ext16bit_L 0x1000FF76
-#define XK_Ext16bit_R 0x1000FF77
-#define XK_mute_acute 0x100000a8
-#define XK_mute_grave 0x100000a9
-#define XK_mute_asciicircum 0x100000aa
-#define XK_mute_diaeresis 0x100000ab
-#define XK_mute_asciitilde 0x100000ac
-#define XK_lira 0x100000af
-#define XK_guilder 0x100000be
+#define XK_Reset 0x1000ff6c /* deprecated alias for hpReset */
+#define XK_System 0x1000ff6d /* deprecated alias for hpSystem */
+#define XK_User 0x1000ff6e /* deprecated alias for hpUser */
+#define XK_ClearLine 0x1000ff6f /* deprecated alias for hpClearLine */
+#define XK_InsertLine 0x1000ff70 /* deprecated alias for hpInsertLine */
+#define XK_DeleteLine 0x1000ff71 /* deprecated alias for hpDeleteLine */
+#define XK_InsertChar 0x1000ff72 /* deprecated alias for hpInsertChar */
+#define XK_DeleteChar 0x1000ff73 /* deprecated alias for hpDeleteChar */
+#define XK_BackTab 0x1000ff74 /* deprecated alias for hpBackTab */
+#define XK_KP_BackTab 0x1000ff75 /* deprecated alias for hpKP_BackTab */
+#define XK_Ext16bit_L 0x1000ff76 /* deprecated */
+#define XK_Ext16bit_R 0x1000ff77 /* deprecated */
+#define XK_mute_acute 0x100000a8 /* deprecated alias for hpmute_acute */
+#define XK_mute_grave 0x100000a9 /* deprecated alias for hpmute_grave */
+#define XK_mute_asciicircum 0x100000aa /* deprecated alias for hpmute_asciicircum */
+#define XK_mute_diaeresis 0x100000ab /* deprecated alias for hpmute_diaeresis */
+#define XK_mute_asciitilde 0x100000ac /* deprecated alias for hpmute_asciitilde */
+#define XK_lira 0x100000af /* deprecated alias for hplira */
+#define XK_guilder 0x100000be /* deprecated alias for hpguilder */
#ifndef XK_Ydiaeresis
-#define XK_Ydiaeresis 0x100000ee
+#define XK_Ydiaeresis 0x100000ee /* deprecated */
#endif
-#define XK_IO 0x100000ee
-#define XK_longminus 0x100000f6
-#define XK_block 0x100000fc
+#define XK_IO 0x100000ee /* deprecated alias for hpYdiaeresis */
+#define XK_longminus 0x100000f6 /* deprecated alias for hplongminus */
+#define XK_block 0x100000fc /* deprecated alias for hpblock */
#endif /* _HPKEYSYM_H */
diff --git a/xlib/X11/Sunkeysym.h b/xlib/X11/Sunkeysym.h
index 149740b..35987af 100644
--- a/xlib/X11/Sunkeysym.h
+++ b/xlib/X11/Sunkeysym.h
@@ -50,57 +50,57 @@ in this Software without prior written authorization from The Open Group.
* Floating Accent
*/
-#define SunXK_FA_Grave 0x1005FF00
-#define SunXK_FA_Circum 0x1005FF01
-#define SunXK_FA_Tilde 0x1005FF02
-#define SunXK_FA_Acute 0x1005FF03
-#define SunXK_FA_Diaeresis 0x1005FF04
-#define SunXK_FA_Cedilla 0x1005FF05
+#define SunXK_FA_Grave 0x1005ff00
+#define SunXK_FA_Circum 0x1005ff01
+#define SunXK_FA_Tilde 0x1005ff02
+#define SunXK_FA_Acute 0x1005ff03
+#define SunXK_FA_Diaeresis 0x1005ff04
+#define SunXK_FA_Cedilla 0x1005ff05
/*
* Miscellaneous Functions
*/
-#define SunXK_F36 0x1005FF10 /* Labeled F11 */
-#define SunXK_F37 0x1005FF11 /* Labeled F12 */
+#define SunXK_F36 0x1005ff10 /* Labeled F11 */
+#define SunXK_F37 0x1005ff11 /* Labeled F12 */
-#define SunXK_Sys_Req 0x1005FF60
-#define SunXK_Print_Screen 0x0000FF61 /* Same as XK_Print */
+#define SunXK_Sys_Req 0x1005ff60
+#define SunXK_Print_Screen 0x0000ff61 /* Same as XK_Print */
/*
* International & Multi-Key Character Composition
*/
-#define SunXK_Compose 0x0000FF20 /* Same as XK_Multi_key */
-#define SunXK_AltGraph 0x0000FF7E /* Same as XK_Mode_switch */
+#define SunXK_Compose 0x0000ff20 /* Same as XK_Multi_key */
+#define SunXK_AltGraph 0x0000ff7e /* Same as XK_Mode_switch */
/*
* Cursor Control
*/
-#define SunXK_PageUp 0x0000FF55 /* Same as XK_Prior */
-#define SunXK_PageDown 0x0000FF56 /* Same as XK_Next */
+#define SunXK_PageUp 0x0000ff55 /* Same as XK_Prior */
+#define SunXK_PageDown 0x0000ff56 /* Same as XK_Next */
/*
* Open Look Functions
*/
-#define SunXK_Undo 0x0000FF65 /* Same as XK_Undo */
-#define SunXK_Again 0x0000FF66 /* Same as XK_Redo */
-#define SunXK_Find 0x0000FF68 /* Same as XK_Find */
-#define SunXK_Stop 0x0000FF69 /* Same as XK_Cancel */
-#define SunXK_Props 0x1005FF70
-#define SunXK_Front 0x1005FF71
-#define SunXK_Copy 0x1005FF72
-#define SunXK_Open 0x1005FF73
-#define SunXK_Paste 0x1005FF74
-#define SunXK_Cut 0x1005FF75
-
-#define SunXK_PowerSwitch 0x1005FF76
-#define SunXK_AudioLowerVolume 0x1005FF77
-#define SunXK_AudioMute 0x1005FF78
-#define SunXK_AudioRaiseVolume 0x1005FF79
-#define SunXK_VideoDegauss 0x1005FF7A
-#define SunXK_VideoLowerBrightness 0x1005FF7B
-#define SunXK_VideoRaiseBrightness 0x1005FF7C
-#define SunXK_PowerSwitchShift 0x1005FF7D
+#define SunXK_Undo 0x0000ff65 /* Same as XK_Undo */
+#define SunXK_Again 0x0000ff66 /* Same as XK_Redo */
+#define SunXK_Find 0x0000ff68 /* Same as XK_Find */
+#define SunXK_Stop 0x0000ff69 /* Same as XK_Cancel */
+#define SunXK_Props 0x1005ff70
+#define SunXK_Front 0x1005ff71
+#define SunXK_Copy 0x1005ff72
+#define SunXK_Open 0x1005ff73
+#define SunXK_Paste 0x1005ff74
+#define SunXK_Cut 0x1005ff75
+
+#define SunXK_PowerSwitch 0x1005ff76
+#define SunXK_AudioLowerVolume 0x1005ff77
+#define SunXK_AudioMute 0x1005ff78
+#define SunXK_AudioRaiseVolume 0x1005ff79
+#define SunXK_VideoDegauss 0x1005ff7a
+#define SunXK_VideoLowerBrightness 0x1005ff7b
+#define SunXK_VideoRaiseBrightness 0x1005ff7c
+#define SunXK_PowerSwitchShift 0x1005ff7d
diff --git a/xlib/X11/X.h b/xlib/X11/X.h
index e6878d7..c1fd4c0 100644
--- a/xlib/X11/X.h
+++ b/xlib/X11/X.h
@@ -112,15 +112,17 @@ typedef XID KeySym;
typedef unsigned int KeyCode; /* In order to use IME, the Macintosh needs
* to pack 3 bytes into the keyCode field in
* the XEvent. In the real X.h, a KeyCode is
- * defined as a short, which wouldn't be big
- * enough. */
+ * defined as an unsigned char, which wouldn't
+ * be big enough. */
/*****************************************************************
* RESERVED RESOURCE AND CONSTANT DEFINITIONS
*****************************************************************/
-/* Pert-Tk expects None to be a macro. See ticket [593eb0227c] */
+#ifndef None
+/* Perl-Tk expects None to be a macro. See ticket [593eb0227c] */
#define None None /* See bug [9e31fd9449] and below */
+#endif
#define ParentRelative 1L /* background pixmap in CreateWindow
and ChangeWindowAttributes */
@@ -227,7 +229,7 @@ are reserved in the protocol for errors and replies. */
#define ShiftMask (1<<0)
#define LockMask (1<<1)
-/* Pert-Tk expects ControlMask to be a macro. See ticket [593eb0227c] */
+/* Perl-Tk expects ControlMask to be a macro. See ticket [593eb0227c] */
#define ControlMask ControlMask /* See bug [9e31fd9449] and below */
#define Mod1Mask (1<<3)
#define Mod2Mask (1<<4)
diff --git a/xlib/X11/XF86keysym.h b/xlib/X11/XF86keysym.h
index e8a9fb8..7b248fa 100755
--- a/xlib/X11/XF86keysym.h
+++ b/xlib/X11/XF86keysym.h
@@ -1,7 +1,7 @@
/*
* XFree86 vendor specific keysyms.
*
- * The XFree86 keysym range is 0x10080001 - 0x1008FFFF.
+ * The XFree86 keysym range is 0x10080001 - 0x1008ffff.
*
* The XF86 set of keysyms is a catch-all set of defines for keysyms found
* on various multimedia keyboards. Originally specific to XFree86 they have
@@ -22,216 +22,216 @@
* functionality.
*/
-#define XF86XK_ModeLock 0x1008FF01 /* Mode Switch Lock */
+#define XF86XK_ModeLock 0x1008ff01 /* Mode Switch Lock */
/* Backlight controls. */
-#define XF86XK_MonBrightnessUp 0x1008FF02 /* Monitor/panel brightness */
-#define XF86XK_MonBrightnessDown 0x1008FF03 /* Monitor/panel brightness */
-#define XF86XK_KbdLightOnOff 0x1008FF04 /* Keyboards may be lit */
-#define XF86XK_KbdBrightnessUp 0x1008FF05 /* Keyboards may be lit */
-#define XF86XK_KbdBrightnessDown 0x1008FF06 /* Keyboards may be lit */
-#define XF86XK_MonBrightnessCycle 0x1008FF07 /* Monitor/panel brightness */
+#define XF86XK_MonBrightnessUp 0x1008ff02 /* Monitor/panel brightness */
+#define XF86XK_MonBrightnessDown 0x1008ff03 /* Monitor/panel brightness */
+#define XF86XK_KbdLightOnOff 0x1008ff04 /* Keyboards may be lit */
+#define XF86XK_KbdBrightnessUp 0x1008ff05 /* Keyboards may be lit */
+#define XF86XK_KbdBrightnessDown 0x1008ff06 /* Keyboards may be lit */
+#define XF86XK_MonBrightnessCycle 0x1008ff07 /* Monitor/panel brightness */
/*
* Keys found on some "Internet" keyboards.
*/
-#define XF86XK_Standby 0x1008FF10 /* System into standby mode */
-#define XF86XK_AudioLowerVolume 0x1008FF11 /* Volume control down */
-#define XF86XK_AudioMute 0x1008FF12 /* Mute sound from the system */
-#define XF86XK_AudioRaiseVolume 0x1008FF13 /* Volume control up */
-#define XF86XK_AudioPlay 0x1008FF14 /* Start playing of audio > */
-#define XF86XK_AudioStop 0x1008FF15 /* Stop playing audio */
-#define XF86XK_AudioPrev 0x1008FF16 /* Previous track */
-#define XF86XK_AudioNext 0x1008FF17 /* Next track */
-#define XF86XK_HomePage 0x1008FF18 /* Display user's home page */
-#define XF86XK_Mail 0x1008FF19 /* Invoke user's mail program */
-#define XF86XK_Start 0x1008FF1A /* Start application */
-#define XF86XK_Search 0x1008FF1B /* Search */
-#define XF86XK_AudioRecord 0x1008FF1C /* Record audio application */
+#define XF86XK_Standby 0x1008ff10 /* System into standby mode */
+#define XF86XK_AudioLowerVolume 0x1008ff11 /* Volume control down */
+#define XF86XK_AudioMute 0x1008ff12 /* Mute sound from the system */
+#define XF86XK_AudioRaiseVolume 0x1008ff13 /* Volume control up */
+#define XF86XK_AudioPlay 0x1008ff14 /* Start playing of audio > */
+#define XF86XK_AudioStop 0x1008ff15 /* Stop playing audio */
+#define XF86XK_AudioPrev 0x1008ff16 /* Previous track */
+#define XF86XK_AudioNext 0x1008ff17 /* Next track */
+#define XF86XK_HomePage 0x1008ff18 /* Display user's home page */
+#define XF86XK_Mail 0x1008ff19 /* Invoke user's mail program */
+#define XF86XK_Start 0x1008ff1a /* Start application */
+#define XF86XK_Search 0x1008ff1b /* Search */
+#define XF86XK_AudioRecord 0x1008ff1c /* Record audio application */
/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */
-#define XF86XK_Calculator 0x1008FF1D /* Invoke calculator program */
-#define XF86XK_Memo 0x1008FF1E /* Invoke Memo taking program */
-#define XF86XK_ToDoList 0x1008FF1F /* Invoke To Do List program */
-#define XF86XK_Calendar 0x1008FF20 /* Invoke Calendar program */
-#define XF86XK_PowerDown 0x1008FF21 /* Deep sleep the system */
-#define XF86XK_ContrastAdjust 0x1008FF22 /* Adjust screen contrast */
-#define XF86XK_RockerUp 0x1008FF23 /* Rocker switches exist up */
-#define XF86XK_RockerDown 0x1008FF24 /* and down */
-#define XF86XK_RockerEnter 0x1008FF25 /* and let you press them */
+#define XF86XK_Calculator 0x1008ff1d /* Invoke calculator program */
+#define XF86XK_Memo 0x1008ff1e /* Invoke Memo taking program */
+#define XF86XK_ToDoList 0x1008ff1f /* Invoke To Do List program */
+#define XF86XK_Calendar 0x1008ff20 /* Invoke Calendar program */
+#define XF86XK_PowerDown 0x1008ff21 /* Deep sleep the system */
+#define XF86XK_ContrastAdjust 0x1008ff22 /* Adjust screen contrast */
+#define XF86XK_RockerUp 0x1008ff23 /* Rocker switches exist up */
+#define XF86XK_RockerDown 0x1008ff24 /* and down */
+#define XF86XK_RockerEnter 0x1008ff25 /* and let you press them */
/* Some more "Internet" keyboard symbols */
-#define XF86XK_Back 0x1008FF26 /* Like back on a browser */
-#define XF86XK_Forward 0x1008FF27 /* Like forward on a browser */
-#define XF86XK_Stop 0x1008FF28 /* Stop current operation */
-#define XF86XK_Refresh 0x1008FF29 /* Refresh the page */
-#define XF86XK_PowerOff 0x1008FF2A /* Power off system entirely */
-#define XF86XK_WakeUp 0x1008FF2B /* Wake up system from sleep */
-#define XF86XK_Eject 0x1008FF2C /* Eject device (e.g. DVD) */
-#define XF86XK_ScreenSaver 0x1008FF2D /* Invoke screensaver */
-#define XF86XK_WWW 0x1008FF2E /* Invoke web browser */
-#define XF86XK_Sleep 0x1008FF2F /* Put system to sleep */
-#define XF86XK_Favorites 0x1008FF30 /* Show favorite locations */
-#define XF86XK_AudioPause 0x1008FF31 /* Pause audio playing */
-#define XF86XK_AudioMedia 0x1008FF32 /* Launch media collection app */
-#define XF86XK_MyComputer 0x1008FF33 /* Display "My Computer" window */
-#define XF86XK_VendorHome 0x1008FF34 /* Display vendor home web site */
-#define XF86XK_LightBulb 0x1008FF35 /* Light bulb keys exist */
-#define XF86XK_Shop 0x1008FF36 /* Display shopping web site */
-#define XF86XK_History 0x1008FF37 /* Show history of web surfing */
-#define XF86XK_OpenURL 0x1008FF38 /* Open selected URL */
-#define XF86XK_AddFavorite 0x1008FF39 /* Add URL to favorites list */
-#define XF86XK_HotLinks 0x1008FF3A /* Show "hot" links */
-#define XF86XK_BrightnessAdjust 0x1008FF3B /* Invoke brightness adj. UI */
-#define XF86XK_Finance 0x1008FF3C /* Display financial site */
-#define XF86XK_Community 0x1008FF3D /* Display user's community */
-#define XF86XK_AudioRewind 0x1008FF3E /* "rewind" audio track */
-#define XF86XK_BackForward 0x1008FF3F /* ??? */
-#define XF86XK_Launch0 0x1008FF40 /* Launch Application */
-#define XF86XK_Launch1 0x1008FF41 /* Launch Application */
-#define XF86XK_Launch2 0x1008FF42 /* Launch Application */
-#define XF86XK_Launch3 0x1008FF43 /* Launch Application */
-#define XF86XK_Launch4 0x1008FF44 /* Launch Application */
-#define XF86XK_Launch5 0x1008FF45 /* Launch Application */
-#define XF86XK_Launch6 0x1008FF46 /* Launch Application */
-#define XF86XK_Launch7 0x1008FF47 /* Launch Application */
-#define XF86XK_Launch8 0x1008FF48 /* Launch Application */
-#define XF86XK_Launch9 0x1008FF49 /* Launch Application */
-#define XF86XK_LaunchA 0x1008FF4A /* Launch Application */
-#define XF86XK_LaunchB 0x1008FF4B /* Launch Application */
-#define XF86XK_LaunchC 0x1008FF4C /* Launch Application */
-#define XF86XK_LaunchD 0x1008FF4D /* Launch Application */
-#define XF86XK_LaunchE 0x1008FF4E /* Launch Application */
-#define XF86XK_LaunchF 0x1008FF4F /* Launch Application */
+#define XF86XK_Back 0x1008ff26 /* Like back on a browser */
+#define XF86XK_Forward 0x1008ff27 /* Like forward on a browser */
+#define XF86XK_Stop 0x1008ff28 /* Stop current operation */
+#define XF86XK_Refresh 0x1008ff29 /* Refresh the page */
+#define XF86XK_PowerOff 0x1008ff2a /* Power off system entirely */
+#define XF86XK_WakeUp 0x1008ff2b /* Wake up system from sleep */
+#define XF86XK_Eject 0x1008ff2c /* Eject device (e.g. DVD) */
+#define XF86XK_ScreenSaver 0x1008ff2d /* Invoke screensaver */
+#define XF86XK_WWW 0x1008ff2e /* Invoke web browser */
+#define XF86XK_Sleep 0x1008ff2f /* Put system to sleep */
+#define XF86XK_Favorites 0x1008ff30 /* Show favorite locations */
+#define XF86XK_AudioPause 0x1008ff31 /* Pause audio playing */
+#define XF86XK_AudioMedia 0x1008ff32 /* Launch media collection app */
+#define XF86XK_MyComputer 0x1008ff33 /* Display "My Computer" window */
+#define XF86XK_VendorHome 0x1008ff34 /* Display vendor home web site */
+#define XF86XK_LightBulb 0x1008ff35 /* Light bulb keys exist */
+#define XF86XK_Shop 0x1008ff36 /* Display shopping web site */
+#define XF86XK_History 0x1008ff37 /* Show history of web surfing */
+#define XF86XK_OpenURL 0x1008ff38 /* Open selected URL */
+#define XF86XK_AddFavorite 0x1008ff39 /* Add URL to favorites list */
+#define XF86XK_HotLinks 0x1008ff3a /* Show "hot" links */
+#define XF86XK_BrightnessAdjust 0x1008ff3b /* Invoke brightness adj. UI */
+#define XF86XK_Finance 0x1008ff3c /* Display financial site */
+#define XF86XK_Community 0x1008ff3d /* Display user's community */
+#define XF86XK_AudioRewind 0x1008ff3e /* "rewind" audio track */
+#define XF86XK_BackForward 0x1008ff3f /* ??? */
+#define XF86XK_Launch0 0x1008ff40 /* Launch Application */
+#define XF86XK_Launch1 0x1008ff41 /* Launch Application */
+#define XF86XK_Launch2 0x1008ff42 /* Launch Application */
+#define XF86XK_Launch3 0x1008ff43 /* Launch Application */
+#define XF86XK_Launch4 0x1008ff44 /* Launch Application */
+#define XF86XK_Launch5 0x1008ff45 /* Launch Application */
+#define XF86XK_Launch6 0x1008ff46 /* Launch Application */
+#define XF86XK_Launch7 0x1008ff47 /* Launch Application */
+#define XF86XK_Launch8 0x1008ff48 /* Launch Application */
+#define XF86XK_Launch9 0x1008ff49 /* Launch Application */
+#define XF86XK_LaunchA 0x1008ff4a /* Launch Application */
+#define XF86XK_LaunchB 0x1008ff4b /* Launch Application */
+#define XF86XK_LaunchC 0x1008ff4c /* Launch Application */
+#define XF86XK_LaunchD 0x1008ff4d /* Launch Application */
+#define XF86XK_LaunchE 0x1008ff4e /* Launch Application */
+#define XF86XK_LaunchF 0x1008ff4f /* Launch Application */
-#define XF86XK_ApplicationLeft 0x1008FF50 /* switch to application, left */
-#define XF86XK_ApplicationRight 0x1008FF51 /* switch to application, right*/
-#define XF86XK_Book 0x1008FF52 /* Launch bookreader */
-#define XF86XK_CD 0x1008FF53 /* Launch CD/DVD player */
-#define XF86XK_Calculater 0x1008FF54 /* Launch Calculater */
-#define XF86XK_Clear 0x1008FF55 /* Clear window, screen */
-#define XF86XK_Close 0x1008FF56 /* Close window */
-#define XF86XK_Copy 0x1008FF57 /* Copy selection */
-#define XF86XK_Cut 0x1008FF58 /* Cut selection */
-#define XF86XK_Display 0x1008FF59 /* Output switch key */
-#define XF86XK_DOS 0x1008FF5A /* Launch DOS (emulation) */
-#define XF86XK_Documents 0x1008FF5B /* Open documents window */
-#define XF86XK_Excel 0x1008FF5C /* Launch spread sheet */
-#define XF86XK_Explorer 0x1008FF5D /* Launch file explorer */
-#define XF86XK_Game 0x1008FF5E /* Launch game */
-#define XF86XK_Go 0x1008FF5F /* Go to URL */
-#define XF86XK_iTouch 0x1008FF60 /* Logitech iTouch- don't use */
-#define XF86XK_LogOff 0x1008FF61 /* Log off system */
-#define XF86XK_Market 0x1008FF62 /* ?? */
-#define XF86XK_Meeting 0x1008FF63 /* enter meeting in calendar */
-#define XF86XK_MenuKB 0x1008FF65 /* distinguish keyboard from PB */
-#define XF86XK_MenuPB 0x1008FF66 /* distinguish PB from keyboard */
-#define XF86XK_MySites 0x1008FF67 /* Favourites */
-#define XF86XK_New 0x1008FF68 /* New (folder, document... */
-#define XF86XK_News 0x1008FF69 /* News */
-#define XF86XK_OfficeHome 0x1008FF6A /* Office home (old Staroffice)*/
-#define XF86XK_Open 0x1008FF6B /* Open */
-#define XF86XK_Option 0x1008FF6C /* ?? */
-#define XF86XK_Paste 0x1008FF6D /* Paste */
-#define XF86XK_Phone 0x1008FF6E /* Launch phone; dial number */
-#define XF86XK_Q 0x1008FF70 /* Compaq's Q - don't use */
-#define XF86XK_Reply 0x1008FF72 /* Reply e.g., mail */
-#define XF86XK_Reload 0x1008FF73 /* Reload web page, file, etc. */
-#define XF86XK_RotateWindows 0x1008FF74 /* Rotate windows e.g. xrandr */
-#define XF86XK_RotationPB 0x1008FF75 /* don't use */
-#define XF86XK_RotationKB 0x1008FF76 /* don't use */
-#define XF86XK_Save 0x1008FF77 /* Save (file, document, state */
-#define XF86XK_ScrollUp 0x1008FF78 /* Scroll window/contents up */
-#define XF86XK_ScrollDown 0x1008FF79 /* Scrool window/contentd down */
-#define XF86XK_ScrollClick 0x1008FF7A /* Use XKB mousekeys instead */
-#define XF86XK_Send 0x1008FF7B /* Send mail, file, object */
-#define XF86XK_Spell 0x1008FF7C /* Spell checker */
-#define XF86XK_SplitScreen 0x1008FF7D /* Split window or screen */
-#define XF86XK_Support 0x1008FF7E /* Get support (??) */
-#define XF86XK_TaskPane 0x1008FF7F /* Show tasks */
-#define XF86XK_Terminal 0x1008FF80 /* Launch terminal emulator */
-#define XF86XK_Tools 0x1008FF81 /* toolbox of desktop/app. */
-#define XF86XK_Travel 0x1008FF82 /* ?? */
-#define XF86XK_UserPB 0x1008FF84 /* ?? */
-#define XF86XK_User1KB 0x1008FF85 /* ?? */
-#define XF86XK_User2KB 0x1008FF86 /* ?? */
-#define XF86XK_Video 0x1008FF87 /* Launch video player */
-#define XF86XK_WheelButton 0x1008FF88 /* button from a mouse wheel */
-#define XF86XK_Word 0x1008FF89 /* Launch word processor */
-#define XF86XK_Xfer 0x1008FF8A
-#define XF86XK_ZoomIn 0x1008FF8B /* zoom in view, map, etc. */
-#define XF86XK_ZoomOut 0x1008FF8C /* zoom out view, map, etc. */
+#define XF86XK_ApplicationLeft 0x1008ff50 /* switch to application, left */
+#define XF86XK_ApplicationRight 0x1008ff51 /* switch to application, right*/
+#define XF86XK_Book 0x1008ff52 /* Launch bookreader */
+#define XF86XK_CD 0x1008ff53 /* Launch CD/DVD player */
+#define XF86XK_Calculater 0x1008ff54 /* Launch Calculater */
+#define XF86XK_Clear 0x1008ff55 /* Clear window, screen */
+#define XF86XK_Close 0x1008ff56 /* Close window */
+#define XF86XK_Copy 0x1008ff57 /* Copy selection */
+#define XF86XK_Cut 0x1008ff58 /* Cut selection */
+#define XF86XK_Display 0x1008ff59 /* Output switch key */
+#define XF86XK_DOS 0x1008ff5a /* Launch DOS (emulation) */
+#define XF86XK_Documents 0x1008ff5b /* Open documents window */
+#define XF86XK_Excel 0x1008ff5c /* Launch spread sheet */
+#define XF86XK_Explorer 0x1008ff5d /* Launch file explorer */
+#define XF86XK_Game 0x1008ff5e /* Launch game */
+#define XF86XK_Go 0x1008ff5f /* Go to URL */
+#define XF86XK_iTouch 0x1008ff60 /* Logitech iTouch- don't use */
+#define XF86XK_LogOff 0x1008ff61 /* Log off system */
+#define XF86XK_Market 0x1008ff62 /* ?? */
+#define XF86XK_Meeting 0x1008ff63 /* enter meeting in calendar */
+#define XF86XK_MenuKB 0x1008ff65 /* distinguish keyboard from PB */
+#define XF86XK_MenuPB 0x1008ff66 /* distinguish PB from keyboard */
+#define XF86XK_MySites 0x1008ff67 /* Favourites */
+#define XF86XK_New 0x1008ff68 /* New (folder, document... */
+#define XF86XK_News 0x1008ff69 /* News */
+#define XF86XK_OfficeHome 0x1008ff6a /* Office home (old Staroffice)*/
+#define XF86XK_Open 0x1008ff6b /* Open */
+#define XF86XK_Option 0x1008ff6c /* ?? */
+#define XF86XK_Paste 0x1008ff6d /* Paste */
+#define XF86XK_Phone 0x1008ff6e /* Launch phone; dial number */
+#define XF86XK_Q 0x1008ff70 /* Compaq's Q - don't use */
+#define XF86XK_Reply 0x1008ff72 /* Reply e.g., mail */
+#define XF86XK_Reload 0x1008ff73 /* Reload web page, file, etc. */
+#define XF86XK_RotateWindows 0x1008ff74 /* Rotate windows e.g. xrandr */
+#define XF86XK_RotationPB 0x1008ff75 /* don't use */
+#define XF86XK_RotationKB 0x1008ff76 /* don't use */
+#define XF86XK_Save 0x1008ff77 /* Save (file, document, state */
+#define XF86XK_ScrollUp 0x1008ff78 /* Scroll window/contents up */
+#define XF86XK_ScrollDown 0x1008ff79 /* Scrool window/contentd down */
+#define XF86XK_ScrollClick 0x1008ff7a /* Use XKB mousekeys instead */
+#define XF86XK_Send 0x1008ff7b /* Send mail, file, object */
+#define XF86XK_Spell 0x1008ff7c /* Spell checker */
+#define XF86XK_SplitScreen 0x1008ff7d /* Split window or screen */
+#define XF86XK_Support 0x1008ff7e /* Get support (??) */
+#define XF86XK_TaskPane 0x1008ff7f /* Show tasks */
+#define XF86XK_Terminal 0x1008ff80 /* Launch terminal emulator */
+#define XF86XK_Tools 0x1008ff81 /* toolbox of desktop/app. */
+#define XF86XK_Travel 0x1008ff82 /* ?? */
+#define XF86XK_UserPB 0x1008ff84 /* ?? */
+#define XF86XK_User1KB 0x1008ff85 /* ?? */
+#define XF86XK_User2KB 0x1008ff86 /* ?? */
+#define XF86XK_Video 0x1008ff87 /* Launch video player */
+#define XF86XK_WheelButton 0x1008ff88 /* button from a mouse wheel */
+#define XF86XK_Word 0x1008ff89 /* Launch word processor */
+#define XF86XK_Xfer 0x1008ff8a
+#define XF86XK_ZoomIn 0x1008ff8b /* zoom in view, map, etc. */
+#define XF86XK_ZoomOut 0x1008ff8c /* zoom out view, map, etc. */
-#define XF86XK_Away 0x1008FF8D /* mark yourself as away */
-#define XF86XK_Messenger 0x1008FF8E /* as in instant messaging */
-#define XF86XK_WebCam 0x1008FF8F /* Launch web camera app. */
-#define XF86XK_MailForward 0x1008FF90 /* Forward in mail */
-#define XF86XK_Pictures 0x1008FF91 /* Show pictures */
-#define XF86XK_Music 0x1008FF92 /* Launch music application */
+#define XF86XK_Away 0x1008ff8d /* mark yourself as away */
+#define XF86XK_Messenger 0x1008ff8e /* as in instant messaging */
+#define XF86XK_WebCam 0x1008ff8f /* Launch web camera app. */
+#define XF86XK_MailForward 0x1008ff90 /* Forward in mail */
+#define XF86XK_Pictures 0x1008ff91 /* Show pictures */
+#define XF86XK_Music 0x1008ff92 /* Launch music application */
-#define XF86XK_Battery 0x1008FF93 /* Display battery information */
-#define XF86XK_Bluetooth 0x1008FF94 /* Enable/disable Bluetooth */
-#define XF86XK_WLAN 0x1008FF95 /* Enable/disable WLAN */
-#define XF86XK_UWB 0x1008FF96 /* Enable/disable UWB */
+#define XF86XK_Battery 0x1008ff93 /* Display battery information */
+#define XF86XK_Bluetooth 0x1008ff94 /* Enable/disable Bluetooth */
+#define XF86XK_WLAN 0x1008ff95 /* Enable/disable WLAN */
+#define XF86XK_UWB 0x1008ff96 /* Enable/disable UWB */
-#define XF86XK_AudioForward 0x1008FF97 /* fast-forward audio track */
-#define XF86XK_AudioRepeat 0x1008FF98 /* toggle repeat mode */
-#define XF86XK_AudioRandomPlay 0x1008FF99 /* toggle shuffle mode */
-#define XF86XK_Subtitle 0x1008FF9A /* cycle through subtitle */
-#define XF86XK_AudioCycleTrack 0x1008FF9B /* cycle through audio tracks */
-#define XF86XK_CycleAngle 0x1008FF9C /* cycle through angles */
-#define XF86XK_FrameBack 0x1008FF9D /* video: go one frame back */
-#define XF86XK_FrameForward 0x1008FF9E /* video: go one frame forward */
-#define XF86XK_Time 0x1008FF9F /* display, or shows an entry for time seeking */
-#define XF86XK_Select 0x1008FFA0 /* Select button on joypads and remotes */
-#define XF86XK_View 0x1008FFA1 /* Show a view options/properties */
-#define XF86XK_TopMenu 0x1008FFA2 /* Go to a top-level menu in a video */
+#define XF86XK_AudioForward 0x1008ff97 /* fast-forward audio track */
+#define XF86XK_AudioRepeat 0x1008ff98 /* toggle repeat mode */
+#define XF86XK_AudioRandomPlay 0x1008ff99 /* toggle shuffle mode */
+#define XF86XK_Subtitle 0x1008ff9a /* cycle through subtitle */
+#define XF86XK_AudioCycleTrack 0x1008ff9b /* cycle through audio tracks */
+#define XF86XK_CycleAngle 0x1008ff9c /* cycle through angles */
+#define XF86XK_FrameBack 0x1008ff9d /* video: go one frame back */
+#define XF86XK_FrameForward 0x1008ff9e /* video: go one frame forward */
+#define XF86XK_Time 0x1008ff9f /* display, or shows an entry for time seeking */
+#define XF86XK_Select 0x1008ffa0 /* Select button on joypads and remotes */
+#define XF86XK_View 0x1008ffa1 /* Show a view options/properties */
+#define XF86XK_TopMenu 0x1008ffa2 /* Go to a top-level menu in a video */
-#define XF86XK_Red 0x1008FFA3 /* Red button */
-#define XF86XK_Green 0x1008FFA4 /* Green button */
-#define XF86XK_Yellow 0x1008FFA5 /* Yellow button */
-#define XF86XK_Blue 0x1008FFA6 /* Blue button */
+#define XF86XK_Red 0x1008ffa3 /* Red button */
+#define XF86XK_Green 0x1008ffa4 /* Green button */
+#define XF86XK_Yellow 0x1008ffa5 /* Yellow button */
+#define XF86XK_Blue 0x1008ffa6 /* Blue button */
-#define XF86XK_Suspend 0x1008FFA7 /* Sleep to RAM */
-#define XF86XK_Hibernate 0x1008FFA8 /* Sleep to disk */
-#define XF86XK_TouchpadToggle 0x1008FFA9 /* Toggle between touchpad/trackstick */
-#define XF86XK_TouchpadOn 0x1008FFB0 /* The touchpad got switched on */
-#define XF86XK_TouchpadOff 0x1008FFB1 /* The touchpad got switched off */
+#define XF86XK_Suspend 0x1008ffa7 /* Sleep to RAM */
+#define XF86XK_Hibernate 0x1008ffa8 /* Sleep to disk */
+#define XF86XK_TouchpadToggle 0x1008ffa9 /* Toggle between touchpad/trackstick */
+#define XF86XK_TouchpadOn 0x1008ffb0 /* The touchpad got switched on */
+#define XF86XK_TouchpadOff 0x1008ffb1 /* The touchpad got switched off */
-#define XF86XK_AudioMicMute 0x1008FFB2 /* Mute the Mic from the system */
+#define XF86XK_AudioMicMute 0x1008ffb2 /* Mute the Mic from the system */
-#define XF86XK_Keyboard 0x1008FFB3 /* User defined keyboard related action */
+#define XF86XK_Keyboard 0x1008ffb3 /* User defined keyboard related action */
-#define XF86XK_WWAN 0x1008FFB4 /* Toggle WWAN (LTE, UMTS, etc.) radio */
-#define XF86XK_RFKill 0x1008FFB5 /* Toggle radios on/off */
+#define XF86XK_WWAN 0x1008ffb4 /* Toggle WWAN (LTE, UMTS, etc.) radio */
+#define XF86XK_RFKill 0x1008ffb5 /* Toggle radios on/off */
-#define XF86XK_AudioPreset 0x1008FFB6 /* Select equalizer preset, e.g. theatre-mode */
+#define XF86XK_AudioPreset 0x1008ffb6 /* Select equalizer preset, e.g. theatre-mode */
-#define XF86XK_RotationLockToggle 0x1008FFB7 /* Toggle screen rotation lock on/off */
+#define XF86XK_RotationLockToggle 0x1008ffb7 /* Toggle screen rotation lock on/off */
-#define XF86XK_FullScreen 0x1008FFB8 /* Toggle fullscreen */
+#define XF86XK_FullScreen 0x1008ffb8 /* Toggle fullscreen */
/* Keys for special action keys (hot keys) */
/* Virtual terminals on some operating systems */
-#define XF86XK_Switch_VT_1 0x1008FE01
-#define XF86XK_Switch_VT_2 0x1008FE02
-#define XF86XK_Switch_VT_3 0x1008FE03
-#define XF86XK_Switch_VT_4 0x1008FE04
-#define XF86XK_Switch_VT_5 0x1008FE05
-#define XF86XK_Switch_VT_6 0x1008FE06
-#define XF86XK_Switch_VT_7 0x1008FE07
-#define XF86XK_Switch_VT_8 0x1008FE08
-#define XF86XK_Switch_VT_9 0x1008FE09
-#define XF86XK_Switch_VT_10 0x1008FE0A
-#define XF86XK_Switch_VT_11 0x1008FE0B
-#define XF86XK_Switch_VT_12 0x1008FE0C
+#define XF86XK_Switch_VT_1 0x1008fe01
+#define XF86XK_Switch_VT_2 0x1008fe02
+#define XF86XK_Switch_VT_3 0x1008fe03
+#define XF86XK_Switch_VT_4 0x1008fe04
+#define XF86XK_Switch_VT_5 0x1008fe05
+#define XF86XK_Switch_VT_6 0x1008fe06
+#define XF86XK_Switch_VT_7 0x1008fe07
+#define XF86XK_Switch_VT_8 0x1008fe08
+#define XF86XK_Switch_VT_9 0x1008fe09
+#define XF86XK_Switch_VT_10 0x1008fe0a
+#define XF86XK_Switch_VT_11 0x1008fe0b
+#define XF86XK_Switch_VT_12 0x1008fe0c
-#define XF86XK_Ungrab 0x1008FE20 /* force ungrab */
-#define XF86XK_ClearGrab 0x1008FE21 /* kill application with grab */
-#define XF86XK_Next_VMode 0x1008FE22 /* next video mode available */
-#define XF86XK_Prev_VMode 0x1008FE23 /* prev. video mode available */
-#define XF86XK_LogWindowTree 0x1008FE24 /* print window tree to log */
-#define XF86XK_LogGrabInfo 0x1008FE25 /* print all active grabs to log */
+#define XF86XK_Ungrab 0x1008fe20 /* force ungrab */
+#define XF86XK_ClearGrab 0x1008fe21 /* kill application with grab */
+#define XF86XK_Next_VMode 0x1008fe22 /* next video mode available */
+#define XF86XK_Prev_VMode 0x1008fe23 /* prev. video mode available */
+#define XF86XK_LogWindowTree 0x1008fe24 /* print window tree to log */
+#define XF86XK_LogGrabInfo 0x1008fe25 /* print all active grabs to log */
/*
@@ -271,199 +271,217 @@
*
*/
#define _EVDEVK(_v) (0x10081000 + _v)
-/* Use: XF86XK_Eject _EVDEVK(0x0A2) KEY_EJECTCLOSECD */
-/* Use: XF86XK_New _EVDEVK(0x0B5) v2.6.14 KEY_NEW */
-/* Use: XK_Redo _EVDEVK(0x0B6) v2.6.14 KEY_REDO */
+/* Use: XF86XK_Eject _EVDEVK(0x0a2) KEY_EJECTCLOSECD */
+/* Use: XF86XK_New _EVDEVK(0x0b5) v2.6.14 KEY_NEW */
+/* Use: XK_Redo _EVDEVK(0x0b6) v2.6.14 KEY_REDO */
/* KEY_DASHBOARD has been mapped to LaunchB in xkeyboard-config since 2011 */
-/* Use: XF86XK_LaunchB _EVDEVK(0x0CC) v2.6.28 KEY_DASHBOARD */
-/* Use: XF86XK_Display _EVDEVK(0x0E3) v2.6.12 KEY_SWITCHVIDEOMODE */
-/* Use: XF86XK_KbdLightOnOff _EVDEVK(0x0E4) v2.6.12 KEY_KBDILLUMTOGGLE */
-/* Use: XF86XK_KbdBrightnessDown _EVDEVK(0x0E5) v2.6.12 KEY_KBDILLUMDOWN */
-/* Use: XF86XK_KbdBrightnessUp _EVDEVK(0x0E6) v2.6.12 KEY_KBDILLUMUP */
-/* Use: XF86XK_Send _EVDEVK(0x0E7) v2.6.14 KEY_SEND */
-/* Use: XF86XK_Reply _EVDEVK(0x0E8) v2.6.14 KEY_REPLY */
-/* Use: XF86XK_MailForward _EVDEVK(0x0E9) v2.6.14 KEY_FORWARDMAIL */
-/* Use: XF86XK_Save _EVDEVK(0x0EA) v2.6.14 KEY_SAVE */
-/* Use: XF86XK_Documents _EVDEVK(0x0EB) v2.6.14 KEY_DOCUMENTS */
-/* Use: XF86XK_Battery _EVDEVK(0x0EC) v2.6.17 KEY_BATTERY */
-/* Use: XF86XK_Bluetooth _EVDEVK(0x0ED) v2.6.19 KEY_BLUETOOTH */
-/* Use: XF86XK_WLAN _EVDEVK(0x0EE) v2.6.19 KEY_WLAN */
-/* Use: XF86XK_UWB _EVDEVK(0x0EF) v2.6.24 KEY_UWB */
-/* Use: XF86XK_Next_VMode _EVDEVK(0x0F1) v2.6.23 KEY_VIDEO_NEXT */
-/* Use: XF86XK_Prev_VMode _EVDEVK(0x0F2) v2.6.23 KEY_VIDEO_PREV */
-/* Use: XF86XK_MonBrightnessCycle _EVDEVK(0x0F3) v2.6.23 KEY_BRIGHTNESS_CYCLE */
-#define XF86XK_BrightnessAuto _EVDEVK(0x0F4) /* v3.16 KEY_BRIGHTNESS_AUTO */
-#define XF86XK_DisplayOff _EVDEVK(0x0F5) /* v2.6.23 KEY_DISPLAY_OFF */
-/* Use: XF86XK_WWAN _EVDEVK(0x0F6) v3.13 KEY_WWAN */
-/* Use: XF86XK_RFKill _EVDEVK(0x0F7) v2.6.33 KEY_RFKILL */
-/* Use: XF86XK_AudioMicMute _EVDEVK(0x0F8) v3.1 KEY_MICMUTE */
-#define XF86XK_Info _EVDEVK(0x166) /* KEY_INFO */
-/* Use: XF86XK_CycleAngle _EVDEVK(0x173) KEY_ANGLE */
-/* Use: XF86XK_FullScreen _EVDEVK(0x174) v5.1 KEY_FULL_SCREEN */
-#define XF86XK_AspectRatio _EVDEVK(0x177) /* v5.1 KEY_ASPECT_RATIO */
-#define XF86XK_DVD _EVDEVK(0x185) /* KEY_DVD */
-#define XF86XK_Audio _EVDEVK(0x188) /* KEY_AUDIO */
-/* Use: XF86XK_Video _EVDEVK(0x189) KEY_VIDEO */
-/* Use: XF86XK_Calendar _EVDEVK(0x18D) KEY_CALENDAR */
-#define XF86XK_ChannelUp _EVDEVK(0x192) /* KEY_CHANNELUP */
-#define XF86XK_ChannelDown _EVDEVK(0x193) /* KEY_CHANNELDOWN */
-/* Use: XF86XK_AudioRandomPlay _EVDEVK(0x19A) KEY_SHUFFLE */
-#define XF86XK_Break _EVDEVK(0x19B) /* KEY_BREAK */
-#define XF86XK_VideoPhone _EVDEVK(0x1A0) /* v2.6.20 KEY_VIDEOPHONE */
-/* Use: XF86XK_Game _EVDEVK(0x1A1) v2.6.20 KEY_GAMES */
-/* Use: XF86XK_ZoomIn _EVDEVK(0x1A2) v2.6.20 KEY_ZOOMIN */
-/* Use: XF86XK_ZoomOut _EVDEVK(0x1A3) v2.6.20 KEY_ZOOMOUT */
-#define XF86XK_ZoomReset _EVDEVK(0x1A4) /* v2.6.20 KEY_ZOOMRESET */
-/* Use: XF86XK_Word _EVDEVK(0x1A5) v2.6.20 KEY_WORDPROCESSOR */
-#define XF86XK_Editor _EVDEVK(0x1A6) /* v2.6.20 KEY_EDITOR */
-/* Use: XF86XK_Excel _EVDEVK(0x1A7) v2.6.20 KEY_SPREADSHEET */
-#define XF86XK_GraphicsEditor _EVDEVK(0x1A8) /* v2.6.20 KEY_GRAPHICSEDITOR */
-#define XF86XK_Presentation _EVDEVK(0x1A9) /* v2.6.20 KEY_PRESENTATION */
-#define XF86XK_Database _EVDEVK(0x1AA) /* v2.6.20 KEY_DATABASE */
-/* Use: XF86XK_News _EVDEVK(0x1AB) v2.6.20 KEY_NEWS */
-#define XF86XK_Voicemail _EVDEVK(0x1AC) /* v2.6.20 KEY_VOICEMAIL */
-#define XF86XK_Addressbook _EVDEVK(0x1AD) /* v2.6.20 KEY_ADDRESSBOOK */
-/* Use: XF86XK_Messenger _EVDEVK(0x1AE) v2.6.20 KEY_MESSENGER */
-#define XF86XK_DisplayToggle _EVDEVK(0x1AF) /* v2.6.20 KEY_DISPLAYTOGGLE */
-#define XF86XK_SpellCheck _EVDEVK(0x1B0) /* v2.6.24 KEY_SPELLCHECK */
-/* Use: XF86XK_LogOff _EVDEVK(0x1B1) v2.6.24 KEY_LOGOFF */
-/* Use: XK_dollar _EVDEVK(0x1B2) v2.6.24 KEY_DOLLAR */
-/* Use: XK_EuroSign _EVDEVK(0x1B3) v2.6.24 KEY_EURO */
-/* Use: XF86XK_FrameBack _EVDEVK(0x1B4) v2.6.24 KEY_FRAMEBACK */
-/* Use: XF86XK_FrameForward _EVDEVK(0x1B5) v2.6.24 KEY_FRAMEFORWARD */
-#define XF86XK_ContextMenu _EVDEVK(0x1B6) /* v2.6.24 KEY_CONTEXT_MENU */
-#define XF86XK_MediaRepeat _EVDEVK(0x1B7) /* v2.6.26 KEY_MEDIA_REPEAT */
-#define XF86XK_10ChannelsUp _EVDEVK(0x1B8) /* v2.6.38 KEY_10CHANNELSUP */
-#define XF86XK_10ChannelsDown _EVDEVK(0x1B9) /* v2.6.38 KEY_10CHANNELSDOWN */
-#define XF86XK_Images _EVDEVK(0x1BA) /* v2.6.39 KEY_IMAGES */
-#define XF86XK_NotificationCenter _EVDEVK(0x1BC) /* v5.10 KEY_NOTIFICATION_CENTER */
-#define XF86XK_PickupPhone _EVDEVK(0x1BD) /* v5.10 KEY_PICKUP_PHONE */
-#define XF86XK_HangupPhone _EVDEVK(0x1BE) /* v5.10 KEY_HANGUP_PHONE */
-#define XF86XK_Fn _EVDEVK(0x1D0) /* KEY_FN */
-#define XF86XK_Fn_Esc _EVDEVK(0x1D1) /* KEY_FN_ESC */
-#define XF86XK_FnRightShift _EVDEVK(0x1E5) /* v5.10 KEY_FN_RIGHT_SHIFT */
-/* Use: XK_braille_dot_1 _EVDEVK(0x1F1) v2.6.17 KEY_BRL_DOT1 */
-/* Use: XK_braille_dot_2 _EVDEVK(0x1F2) v2.6.17 KEY_BRL_DOT2 */
-/* Use: XK_braille_dot_3 _EVDEVK(0x1F3) v2.6.17 KEY_BRL_DOT3 */
-/* Use: XK_braille_dot_4 _EVDEVK(0x1F4) v2.6.17 KEY_BRL_DOT4 */
-/* Use: XK_braille_dot_5 _EVDEVK(0x1F5) v2.6.17 KEY_BRL_DOT5 */
-/* Use: XK_braille_dot_6 _EVDEVK(0x1F6) v2.6.17 KEY_BRL_DOT6 */
-/* Use: XK_braille_dot_7 _EVDEVK(0x1F7) v2.6.17 KEY_BRL_DOT7 */
-/* Use: XK_braille_dot_8 _EVDEVK(0x1F8) v2.6.17 KEY_BRL_DOT8 */
-/* Use: XK_braille_dot_9 _EVDEVK(0x1F9) v2.6.23 KEY_BRL_DOT9 */
-/* Use: XK_braille_dot_1 _EVDEVK(0x1FA) v2.6.23 KEY_BRL_DOT10 */
-#define XF86XK_Numeric0 _EVDEVK(0x200) /* v2.6.28 KEY_NUMERIC_0 */
-#define XF86XK_Numeric1 _EVDEVK(0x201) /* v2.6.28 KEY_NUMERIC_1 */
-#define XF86XK_Numeric2 _EVDEVK(0x202) /* v2.6.28 KEY_NUMERIC_2 */
-#define XF86XK_Numeric3 _EVDEVK(0x203) /* v2.6.28 KEY_NUMERIC_3 */
-#define XF86XK_Numeric4 _EVDEVK(0x204) /* v2.6.28 KEY_NUMERIC_4 */
-#define XF86XK_Numeric5 _EVDEVK(0x205) /* v2.6.28 KEY_NUMERIC_5 */
-#define XF86XK_Numeric6 _EVDEVK(0x206) /* v2.6.28 KEY_NUMERIC_6 */
-#define XF86XK_Numeric7 _EVDEVK(0x207) /* v2.6.28 KEY_NUMERIC_7 */
-#define XF86XK_Numeric8 _EVDEVK(0x208) /* v2.6.28 KEY_NUMERIC_8 */
-#define XF86XK_Numeric9 _EVDEVK(0x209) /* v2.6.28 KEY_NUMERIC_9 */
-#define XF86XK_NumericStar _EVDEVK(0x20A) /* v2.6.28 KEY_NUMERIC_STAR */
-#define XF86XK_NumericPound _EVDEVK(0x20B) /* v2.6.28 KEY_NUMERIC_POUND */
-#define XF86XK_NumericA _EVDEVK(0x20C) /* v4.1 KEY_NUMERIC_A */
-#define XF86XK_NumericB _EVDEVK(0x20D) /* v4.1 KEY_NUMERIC_B */
-#define XF86XK_NumericC _EVDEVK(0x20E) /* v4.1 KEY_NUMERIC_C */
-#define XF86XK_NumericD _EVDEVK(0x20F) /* v4.1 KEY_NUMERIC_D */
-#define XF86XK_CameraFocus _EVDEVK(0x210) /* v2.6.33 KEY_CAMERA_FOCUS */
-#define XF86XK_WPSButton _EVDEVK(0x211) /* v2.6.34 KEY_WPS_BUTTON */
-/* Use: XF86XK_TouchpadToggle _EVDEVK(0x212) v2.6.37 KEY_TOUCHPAD_TOGGLE */
-/* Use: XF86XK_TouchpadOn _EVDEVK(0x213) v2.6.37 KEY_TOUCHPAD_ON */
-/* Use: XF86XK_TouchpadOff _EVDEVK(0x214) v2.6.37 KEY_TOUCHPAD_OFF */
-#define XF86XK_CameraZoomIn _EVDEVK(0x215) /* v2.6.39 KEY_CAMERA_ZOOMIN */
-#define XF86XK_CameraZoomOut _EVDEVK(0x216) /* v2.6.39 KEY_CAMERA_ZOOMOUT */
-#define XF86XK_CameraUp _EVDEVK(0x217) /* v2.6.39 KEY_CAMERA_UP */
-#define XF86XK_CameraDown _EVDEVK(0x218) /* v2.6.39 KEY_CAMERA_DOWN */
-#define XF86XK_CameraLeft _EVDEVK(0x219) /* v2.6.39 KEY_CAMERA_LEFT */
-#define XF86XK_CameraRight _EVDEVK(0x21A) /* v2.6.39 KEY_CAMERA_RIGHT */
-#define XF86XK_AttendantOn _EVDEVK(0x21B) /* v3.10 KEY_ATTENDANT_ON */
-#define XF86XK_AttendantOff _EVDEVK(0x21C) /* v3.10 KEY_ATTENDANT_OFF */
-#define XF86XK_AttendantToggle _EVDEVK(0x21D) /* v3.10 KEY_ATTENDANT_TOGGLE */
-#define XF86XK_LightsToggle _EVDEVK(0x21E) /* v3.10 KEY_LIGHTS_TOGGLE */
-#define XF86XK_ALSToggle _EVDEVK(0x230) /* v3.13 KEY_ALS_TOGGLE */
-/* Use: XF86XK_RotationLockToggle _EVDEVK(0x231) v4.16 KEY_ROTATE_LOCK_TOGGLE */
-#define XF86XK_Buttonconfig _EVDEVK(0x240) /* v3.16 KEY_BUTTONCONFIG */
-#define XF86XK_Taskmanager _EVDEVK(0x241) /* v3.16 KEY_TASKMANAGER */
-#define XF86XK_Journal _EVDEVK(0x242) /* v3.16 KEY_JOURNAL */
-#define XF86XK_ControlPanel _EVDEVK(0x243) /* v3.16 KEY_CONTROLPANEL */
-#define XF86XK_AppSelect _EVDEVK(0x244) /* v3.16 KEY_APPSELECT */
-#define XF86XK_Screensaver _EVDEVK(0x245) /* v3.16 KEY_SCREENSAVER */
-#define XF86XK_VoiceCommand _EVDEVK(0x246) /* v3.16 KEY_VOICECOMMAND */
-#define XF86XK_Assistant _EVDEVK(0x247) /* v4.13 KEY_ASSISTANT */
-/* Use: XK_ISO_Next_Group _EVDEVK(0x248) v5.2 KEY_KBD_LAYOUT_NEXT */
-#define XF86XK_EmojiPicker _EVDEVK(0x249) /* v5.13 KEY_EMOJI_PICKER */
-#define XF86XK_Dictate _EVDEVK(0x24A) /* v5.17 KEY_DICTATE */
-#define XF86XK_BrightnessMin _EVDEVK(0x250) /* v3.16 KEY_BRIGHTNESS_MIN */
-#define XF86XK_BrightnessMax _EVDEVK(0x251) /* v3.16 KEY_BRIGHTNESS_MAX */
-#define XF86XK_KbdInputAssistPrev _EVDEVK(0x260) /* v3.18 KEY_KBDINPUTASSIST_PREV */
-#define XF86XK_KbdInputAssistNext _EVDEVK(0x261) /* v3.18 KEY_KBDINPUTASSIST_NEXT */
-#define XF86XK_KbdInputAssistPrevgroup _EVDEVK(0x262) /* v3.18 KEY_KBDINPUTASSIST_PREVGROUP */
-#define XF86XK_KbdInputAssistNextgroup _EVDEVK(0x263) /* v3.18 KEY_KBDINPUTASSIST_NEXTGROUP */
-#define XF86XK_KbdInputAssistAccept _EVDEVK(0x264) /* v3.18 KEY_KBDINPUTASSIST_ACCEPT */
-#define XF86XK_KbdInputAssistCancel _EVDEVK(0x265) /* v3.18 KEY_KBDINPUTASSIST_CANCEL */
-#define XF86XK_RightUp _EVDEVK(0x266) /* v4.7 KEY_RIGHT_UP */
-#define XF86XK_RightDown _EVDEVK(0x267) /* v4.7 KEY_RIGHT_DOWN */
-#define XF86XK_LeftUp _EVDEVK(0x268) /* v4.7 KEY_LEFT_UP */
-#define XF86XK_LeftDown _EVDEVK(0x269) /* v4.7 KEY_LEFT_DOWN */
-#define XF86XK_RootMenu _EVDEVK(0x26A) /* v4.7 KEY_ROOT_MENU */
-#define XF86XK_MediaTopMenu _EVDEVK(0x26B) /* v4.7 KEY_MEDIA_TOP_MENU */
-#define XF86XK_Numeric11 _EVDEVK(0x26C) /* v4.7 KEY_NUMERIC_11 */
-#define XF86XK_Numeric12 _EVDEVK(0x26D) /* v4.7 KEY_NUMERIC_12 */
-#define XF86XK_AudioDesc _EVDEVK(0x26E) /* v4.7 KEY_AUDIO_DESC */
-#define XF86XK_3DMode _EVDEVK(0x26F) /* v4.7 KEY_3D_MODE */
-#define XF86XK_NextFavorite _EVDEVK(0x270) /* v4.7 KEY_NEXT_FAVORITE */
-#define XF86XK_StopRecord _EVDEVK(0x271) /* v4.7 KEY_STOP_RECORD */
-#define XF86XK_PauseRecord _EVDEVK(0x272) /* v4.7 KEY_PAUSE_RECORD */
-#define XF86XK_VOD _EVDEVK(0x273) /* v4.7 KEY_VOD */
-#define XF86XK_Unmute _EVDEVK(0x274) /* v4.7 KEY_UNMUTE */
-#define XF86XK_FastReverse _EVDEVK(0x275) /* v4.7 KEY_FASTREVERSE */
-#define XF86XK_SlowReverse _EVDEVK(0x276) /* v4.7 KEY_SLOWREVERSE */
-#define XF86XK_Data _EVDEVK(0x277) /* v4.7 KEY_DATA */
-#define XF86XK_OnScreenKeyboard _EVDEVK(0x278) /* v4.12 KEY_ONSCREEN_KEYBOARD */
-#define XF86XK_PrivacyScreenToggle _EVDEVK(0x279) /* v5.5 KEY_PRIVACY_SCREEN_TOGGLE */
-#define XF86XK_SelectiveScreenshot _EVDEVK(0x27A) /* v5.6 KEY_SELECTIVE_SCREENSHOT */
-#define XF86XK_Macro1 _EVDEVK(0x290) /* v5.5 KEY_MACRO1 */
-#define XF86XK_Macro2 _EVDEVK(0x291) /* v5.5 KEY_MACRO2 */
-#define XF86XK_Macro3 _EVDEVK(0x292) /* v5.5 KEY_MACRO3 */
-#define XF86XK_Macro4 _EVDEVK(0x293) /* v5.5 KEY_MACRO4 */
-#define XF86XK_Macro5 _EVDEVK(0x294) /* v5.5 KEY_MACRO5 */
-#define XF86XK_Macro6 _EVDEVK(0x295) /* v5.5 KEY_MACRO6 */
-#define XF86XK_Macro7 _EVDEVK(0x296) /* v5.5 KEY_MACRO7 */
-#define XF86XK_Macro8 _EVDEVK(0x297) /* v5.5 KEY_MACRO8 */
-#define XF86XK_Macro9 _EVDEVK(0x298) /* v5.5 KEY_MACRO9 */
-#define XF86XK_Macro10 _EVDEVK(0x299) /* v5.5 KEY_MACRO10 */
-#define XF86XK_Macro11 _EVDEVK(0x29A) /* v5.5 KEY_MACRO11 */
-#define XF86XK_Macro12 _EVDEVK(0x29B) /* v5.5 KEY_MACRO12 */
-#define XF86XK_Macro13 _EVDEVK(0x29C) /* v5.5 KEY_MACRO13 */
-#define XF86XK_Macro14 _EVDEVK(0x29D) /* v5.5 KEY_MACRO14 */
-#define XF86XK_Macro15 _EVDEVK(0x29E) /* v5.5 KEY_MACRO15 */
-#define XF86XK_Macro16 _EVDEVK(0x29F) /* v5.5 KEY_MACRO16 */
-#define XF86XK_Macro17 _EVDEVK(0x2A0) /* v5.5 KEY_MACRO17 */
-#define XF86XK_Macro18 _EVDEVK(0x2A1) /* v5.5 KEY_MACRO18 */
-#define XF86XK_Macro19 _EVDEVK(0x2A2) /* v5.5 KEY_MACRO19 */
-#define XF86XK_Macro20 _EVDEVK(0x2A3) /* v5.5 KEY_MACRO20 */
-#define XF86XK_Macro21 _EVDEVK(0x2A4) /* v5.5 KEY_MACRO21 */
-#define XF86XK_Macro22 _EVDEVK(0x2A5) /* v5.5 KEY_MACRO22 */
-#define XF86XK_Macro23 _EVDEVK(0x2A6) /* v5.5 KEY_MACRO23 */
-#define XF86XK_Macro24 _EVDEVK(0x2A7) /* v5.5 KEY_MACRO24 */
-#define XF86XK_Macro25 _EVDEVK(0x2A8) /* v5.5 KEY_MACRO25 */
-#define XF86XK_Macro26 _EVDEVK(0x2A9) /* v5.5 KEY_MACRO26 */
-#define XF86XK_Macro27 _EVDEVK(0x2AA) /* v5.5 KEY_MACRO27 */
-#define XF86XK_Macro28 _EVDEVK(0x2AB) /* v5.5 KEY_MACRO28 */
-#define XF86XK_Macro29 _EVDEVK(0x2AC) /* v5.5 KEY_MACRO29 */
-#define XF86XK_Macro30 _EVDEVK(0x2AD) /* v5.5 KEY_MACRO30 */
-#define XF86XK_MacroRecordStart _EVDEVK(0x2B0) /* v5.5 KEY_MACRO_RECORD_START */
-#define XF86XK_MacroRecordStop _EVDEVK(0x2B1) /* v5.5 KEY_MACRO_RECORD_STOP */
-#define XF86XK_MacroPresetCycle _EVDEVK(0x2B2) /* v5.5 KEY_MACRO_PRESET_CYCLE */
-#define XF86XK_MacroPreset1 _EVDEVK(0x2B3) /* v5.5 KEY_MACRO_PRESET1 */
-#define XF86XK_MacroPreset2 _EVDEVK(0x2B4) /* v5.5 KEY_MACRO_PRESET2 */
-#define XF86XK_MacroPreset3 _EVDEVK(0x2B5) /* v5.5 KEY_MACRO_PRESET3 */
-#define XF86XK_KbdLcdMenu1 _EVDEVK(0x2B8) /* v5.5 KEY_KBD_LCD_MENU1 */
-#define XF86XK_KbdLcdMenu2 _EVDEVK(0x2B9) /* v5.5 KEY_KBD_LCD_MENU2 */
-#define XF86XK_KbdLcdMenu3 _EVDEVK(0x2BA) /* v5.5 KEY_KBD_LCD_MENU3 */
-#define XF86XK_KbdLcdMenu4 _EVDEVK(0x2BB) /* v5.5 KEY_KBD_LCD_MENU4 */
-#define XF86XK_KbdLcdMenu5 _EVDEVK(0x2BC) /* v5.5 KEY_KBD_LCD_MENU5 */
+/* Use: XF86XK_LaunchB _EVDEVK(0x0cc) v2.6.28 KEY_DASHBOARD */
+/* Use: XF86XK_Display _EVDEVK(0x0e3) v2.6.12 KEY_SWITCHVIDEOMODE */
+/* Use: XF86XK_KbdLightOnOff _EVDEVK(0x0e4) v2.6.12 KEY_KBDILLUMTOGGLE */
+/* Use: XF86XK_KbdBrightnessDown _EVDEVK(0x0e5) v2.6.12 KEY_KBDILLUMDOWN */
+/* Use: XF86XK_KbdBrightnessUp _EVDEVK(0x0e6) v2.6.12 KEY_KBDILLUMUP */
+/* Use: XF86XK_Send _EVDEVK(0x0e7) v2.6.14 KEY_SEND */
+/* Use: XF86XK_Reply _EVDEVK(0x0e8) v2.6.14 KEY_REPLY */
+/* Use: XF86XK_MailForward _EVDEVK(0x0e9) v2.6.14 KEY_FORWARDMAIL */
+/* Use: XF86XK_Save _EVDEVK(0x0ea) v2.6.14 KEY_SAVE */
+/* Use: XF86XK_Documents _EVDEVK(0x0eb) v2.6.14 KEY_DOCUMENTS */
+/* Use: XF86XK_Battery _EVDEVK(0x0ec) v2.6.17 KEY_BATTERY */
+/* Use: XF86XK_Bluetooth _EVDEVK(0x0ed) v2.6.19 KEY_BLUETOOTH */
+/* Use: XF86XK_WLAN _EVDEVK(0x0ee) v2.6.19 KEY_WLAN */
+/* Use: XF86XK_UWB _EVDEVK(0x0ef) v2.6.24 KEY_UWB */
+/* Use: XF86XK_Next_VMode _EVDEVK(0x0f1) v2.6.23 KEY_VIDEO_NEXT */
+/* Use: XF86XK_Prev_VMode _EVDEVK(0x0f2) v2.6.23 KEY_VIDEO_PREV */
+/* Use: XF86XK_MonBrightnessCycle _EVDEVK(0x0f3) v2.6.23 KEY_BRIGHTNESS_CYCLE */
+#define XF86XK_BrightnessAuto _EVDEVK(0x0f4) /* v3.16 KEY_BRIGHTNESS_AUTO */
+#define XF86XK_DisplayOff _EVDEVK(0x0f5) /* v2.6.23 KEY_DISPLAY_OFF */
+/* Use: XF86XK_WWAN _EVDEVK(0x0f6) v3.13 KEY_WWAN */
+/* Use: XF86XK_RFKill _EVDEVK(0x0f7) v2.6.33 KEY_RFKILL */
+/* Use: XF86XK_AudioMicMute _EVDEVK(0x0f8) v3.1 KEY_MICMUTE */
+#define XF86XK_Info _EVDEVK(0x166) /* KEY_INFO */
+/* Use: XF86XK_CycleAngle _EVDEVK(0x173) KEY_ANGLE */
+/* Use: XF86XK_FullScreen _EVDEVK(0x174) v5.1 KEY_FULL_SCREEN */
+#define XF86XK_AspectRatio _EVDEVK(0x177) /* v5.1 KEY_ASPECT_RATIO */
+#define XF86XK_DVD _EVDEVK(0x185) /* KEY_DVD */
+#define XF86XK_Audio _EVDEVK(0x188) /* KEY_AUDIO */
+/* Use: XF86XK_Video _EVDEVK(0x189) KEY_VIDEO */
+/* Use: XF86XK_Calendar _EVDEVK(0x18d) KEY_CALENDAR */
+#define XF86XK_ChannelUp _EVDEVK(0x192) /* KEY_CHANNELUP */
+#define XF86XK_ChannelDown _EVDEVK(0x193) /* KEY_CHANNELDOWN */
+/* Use: XF86XK_AudioRandomPlay _EVDEVK(0x19a) KEY_SHUFFLE */
+#define XF86XK_Break _EVDEVK(0x19b) /* KEY_BREAK */
+#define XF86XK_VideoPhone _EVDEVK(0x1a0) /* v2.6.20 KEY_VIDEOPHONE */
+/* Use: XF86XK_Game _EVDEVK(0x1a1) v2.6.20 KEY_GAMES */
+/* Use: XF86XK_ZoomIn _EVDEVK(0x1a2) v2.6.20 KEY_ZOOMIN */
+/* Use: XF86XK_ZoomOut _EVDEVK(0x1a3) v2.6.20 KEY_ZOOMOUT */
+#define XF86XK_ZoomReset _EVDEVK(0x1a4) /* v2.6.20 KEY_ZOOMRESET */
+/* Use: XF86XK_Word _EVDEVK(0x1a5) v2.6.20 KEY_WORDPROCESSOR */
+#define XF86XK_Editor _EVDEVK(0x1a6) /* v2.6.20 KEY_EDITOR */
+/* Use: XF86XK_Excel _EVDEVK(0x1a7) v2.6.20 KEY_SPREADSHEET */
+#define XF86XK_GraphicsEditor _EVDEVK(0x1a8) /* v2.6.20 KEY_GRAPHICSEDITOR */
+#define XF86XK_Presentation _EVDEVK(0x1a9) /* v2.6.20 KEY_PRESENTATION */
+#define XF86XK_Database _EVDEVK(0x1aa) /* v2.6.20 KEY_DATABASE */
+/* Use: XF86XK_News _EVDEVK(0x1ab) v2.6.20 KEY_NEWS */
+#define XF86XK_Voicemail _EVDEVK(0x1ac) /* v2.6.20 KEY_VOICEMAIL */
+#define XF86XK_Addressbook _EVDEVK(0x1ad) /* v2.6.20 KEY_ADDRESSBOOK */
+/* Use: XF86XK_Messenger _EVDEVK(0x1ae) v2.6.20 KEY_MESSENGER */
+#define XF86XK_DisplayToggle _EVDEVK(0x1af) /* v2.6.20 KEY_DISPLAYTOGGLE */
+#define XF86XK_SpellCheck _EVDEVK(0x1b0) /* v2.6.24 KEY_SPELLCHECK */
+/* Use: XF86XK_LogOff _EVDEVK(0x1b1) v2.6.24 KEY_LOGOFF */
+/* Use: XK_dollar _EVDEVK(0x1b2) v2.6.24 KEY_DOLLAR */
+/* Use: XK_EuroSign _EVDEVK(0x1b3) v2.6.24 KEY_EURO */
+/* Use: XF86XK_FrameBack _EVDEVK(0x1b4) v2.6.24 KEY_FRAMEBACK */
+/* Use: XF86XK_FrameForward _EVDEVK(0x1b5) v2.6.24 KEY_FRAMEFORWARD */
+#define XF86XK_ContextMenu _EVDEVK(0x1b6) /* v2.6.24 KEY_CONTEXT_MENU */
+#define XF86XK_MediaRepeat _EVDEVK(0x1b7) /* v2.6.26 KEY_MEDIA_REPEAT */
+#define XF86XK_10ChannelsUp _EVDEVK(0x1b8) /* v2.6.38 KEY_10CHANNELSUP */
+#define XF86XK_10ChannelsDown _EVDEVK(0x1b9) /* v2.6.38 KEY_10CHANNELSDOWN */
+#define XF86XK_Images _EVDEVK(0x1ba) /* v2.6.39 KEY_IMAGES */
+#define XF86XK_NotificationCenter _EVDEVK(0x1bc) /* v5.10 KEY_NOTIFICATION_CENTER */
+#define XF86XK_PickupPhone _EVDEVK(0x1bd) /* v5.10 KEY_PICKUP_PHONE */
+#define XF86XK_HangupPhone _EVDEVK(0x1be) /* v5.10 KEY_HANGUP_PHONE */
+#define XF86XK_Fn _EVDEVK(0x1d0) /* KEY_FN */
+#define XF86XK_Fn_Esc _EVDEVK(0x1d1) /* KEY_FN_ESC */
+#define XF86XK_FnRightShift _EVDEVK(0x1e5) /* v5.10 KEY_FN_RIGHT_SHIFT */
+/* Use: XK_braille_dot_1 _EVDEVK(0x1f1) v2.6.17 KEY_BRL_DOT1 */
+/* Use: XK_braille_dot_2 _EVDEVK(0x1f2) v2.6.17 KEY_BRL_DOT2 */
+/* Use: XK_braille_dot_3 _EVDEVK(0x1f3) v2.6.17 KEY_BRL_DOT3 */
+/* Use: XK_braille_dot_4 _EVDEVK(0x1f4) v2.6.17 KEY_BRL_DOT4 */
+/* Use: XK_braille_dot_5 _EVDEVK(0x1f5) v2.6.17 KEY_BRL_DOT5 */
+/* Use: XK_braille_dot_6 _EVDEVK(0x1f6) v2.6.17 KEY_BRL_DOT6 */
+/* Use: XK_braille_dot_7 _EVDEVK(0x1f7) v2.6.17 KEY_BRL_DOT7 */
+/* Use: XK_braille_dot_8 _EVDEVK(0x1f8) v2.6.17 KEY_BRL_DOT8 */
+/* Use: XK_braille_dot_9 _EVDEVK(0x1f9) v2.6.23 KEY_BRL_DOT9 */
+/* Use: XK_braille_dot_1 _EVDEVK(0x1fa) v2.6.23 KEY_BRL_DOT10 */
+#define XF86XK_Numeric0 _EVDEVK(0x200) /* v2.6.28 KEY_NUMERIC_0 */
+#define XF86XK_Numeric1 _EVDEVK(0x201) /* v2.6.28 KEY_NUMERIC_1 */
+#define XF86XK_Numeric2 _EVDEVK(0x202) /* v2.6.28 KEY_NUMERIC_2 */
+#define XF86XK_Numeric3 _EVDEVK(0x203) /* v2.6.28 KEY_NUMERIC_3 */
+#define XF86XK_Numeric4 _EVDEVK(0x204) /* v2.6.28 KEY_NUMERIC_4 */
+#define XF86XK_Numeric5 _EVDEVK(0x205) /* v2.6.28 KEY_NUMERIC_5 */
+#define XF86XK_Numeric6 _EVDEVK(0x206) /* v2.6.28 KEY_NUMERIC_6 */
+#define XF86XK_Numeric7 _EVDEVK(0x207) /* v2.6.28 KEY_NUMERIC_7 */
+#define XF86XK_Numeric8 _EVDEVK(0x208) /* v2.6.28 KEY_NUMERIC_8 */
+#define XF86XK_Numeric9 _EVDEVK(0x209) /* v2.6.28 KEY_NUMERIC_9 */
+#define XF86XK_NumericStar _EVDEVK(0x20a) /* v2.6.28 KEY_NUMERIC_STAR */
+#define XF86XK_NumericPound _EVDEVK(0x20b) /* v2.6.28 KEY_NUMERIC_POUND */
+#define XF86XK_NumericA _EVDEVK(0x20c) /* v4.1 KEY_NUMERIC_A */
+#define XF86XK_NumericB _EVDEVK(0x20d) /* v4.1 KEY_NUMERIC_B */
+#define XF86XK_NumericC _EVDEVK(0x20e) /* v4.1 KEY_NUMERIC_C */
+#define XF86XK_NumericD _EVDEVK(0x20f) /* v4.1 KEY_NUMERIC_D */
+#define XF86XK_CameraFocus _EVDEVK(0x210) /* v2.6.33 KEY_CAMERA_FOCUS */
+#define XF86XK_WPSButton _EVDEVK(0x211) /* v2.6.34 KEY_WPS_BUTTON */
+/* Use: XF86XK_TouchpadToggle _EVDEVK(0x212) v2.6.37 KEY_TOUCHPAD_TOGGLE */
+/* Use: XF86XK_TouchpadOn _EVDEVK(0x213) v2.6.37 KEY_TOUCHPAD_ON */
+/* Use: XF86XK_TouchpadOff _EVDEVK(0x214) v2.6.37 KEY_TOUCHPAD_OFF */
+#define XF86XK_CameraZoomIn _EVDEVK(0x215) /* v2.6.39 KEY_CAMERA_ZOOMIN */
+#define XF86XK_CameraZoomOut _EVDEVK(0x216) /* v2.6.39 KEY_CAMERA_ZOOMOUT */
+#define XF86XK_CameraUp _EVDEVK(0x217) /* v2.6.39 KEY_CAMERA_UP */
+#define XF86XK_CameraDown _EVDEVK(0x218) /* v2.6.39 KEY_CAMERA_DOWN */
+#define XF86XK_CameraLeft _EVDEVK(0x219) /* v2.6.39 KEY_CAMERA_LEFT */
+#define XF86XK_CameraRight _EVDEVK(0x21a) /* v2.6.39 KEY_CAMERA_RIGHT */
+#define XF86XK_AttendantOn _EVDEVK(0x21b) /* v3.10 KEY_ATTENDANT_ON */
+#define XF86XK_AttendantOff _EVDEVK(0x21c) /* v3.10 KEY_ATTENDANT_OFF */
+#define XF86XK_AttendantToggle _EVDEVK(0x21d) /* v3.10 KEY_ATTENDANT_TOGGLE */
+#define XF86XK_LightsToggle _EVDEVK(0x21e) /* v3.10 KEY_LIGHTS_TOGGLE */
+#define XF86XK_ALSToggle _EVDEVK(0x230) /* v3.13 KEY_ALS_TOGGLE */
+/* Use: XF86XK_RotationLockToggle _EVDEVK(0x231) v4.16 KEY_ROTATE_LOCK_TOGGLE */
+#define XF86XK_Buttonconfig _EVDEVK(0x240) /* v3.16 KEY_BUTTONCONFIG */
+#define XF86XK_Taskmanager _EVDEVK(0x241) /* v3.16 KEY_TASKMANAGER */
+#define XF86XK_Journal _EVDEVK(0x242) /* v3.16 KEY_JOURNAL */
+#define XF86XK_ControlPanel _EVDEVK(0x243) /* v3.16 KEY_CONTROLPANEL */
+#define XF86XK_AppSelect _EVDEVK(0x244) /* v3.16 KEY_APPSELECT */
+#define XF86XK_Screensaver _EVDEVK(0x245) /* v3.16 KEY_SCREENSAVER */
+#define XF86XK_VoiceCommand _EVDEVK(0x246) /* v3.16 KEY_VOICECOMMAND */
+#define XF86XK_Assistant _EVDEVK(0x247) /* v4.13 KEY_ASSISTANT */
+/* Use: XK_ISO_Next_Group _EVDEVK(0x248) v5.2 KEY_KBD_LAYOUT_NEXT */
+#define XF86XK_EmojiPicker _EVDEVK(0x249) /* v5.13 KEY_EMOJI_PICKER */
+#define XF86XK_Dictate _EVDEVK(0x24a) /* v5.17 KEY_DICTATE */
+#define XF86XK_CameraAccessEnable _EVDEVK(0x24b) /* v6.2 KEY_CAMERA_ACCESS_ENABLE */
+#define XF86XK_CameraAccessDisable _EVDEVK(0x24c) /* v6.2 KEY_CAMERA_ACCESS_DISABLE */
+#define XF86XK_CameraAccessToggle _EVDEVK(0x24d) /* v6.2 KEY_CAMERA_ACCESS_TOGGLE */
+#define XF86XK_BrightnessMin _EVDEVK(0x250) /* v3.16 KEY_BRIGHTNESS_MIN */
+#define XF86XK_BrightnessMax _EVDEVK(0x251) /* v3.16 KEY_BRIGHTNESS_MAX */
+#define XF86XK_KbdInputAssistPrev _EVDEVK(0x260) /* v3.18 KEY_KBDINPUTASSIST_PREV */
+#define XF86XK_KbdInputAssistNext _EVDEVK(0x261) /* v3.18 KEY_KBDINPUTASSIST_NEXT */
+#define XF86XK_KbdInputAssistPrevgroup _EVDEVK(0x262) /* v3.18 KEY_KBDINPUTASSIST_PREVGROUP */
+#define XF86XK_KbdInputAssistNextgroup _EVDEVK(0x263) /* v3.18 KEY_KBDINPUTASSIST_NEXTGROUP */
+#define XF86XK_KbdInputAssistAccept _EVDEVK(0x264) /* v3.18 KEY_KBDINPUTASSIST_ACCEPT */
+#define XF86XK_KbdInputAssistCancel _EVDEVK(0x265) /* v3.18 KEY_KBDINPUTASSIST_CANCEL */
+#define XF86XK_RightUp _EVDEVK(0x266) /* v4.7 KEY_RIGHT_UP */
+#define XF86XK_RightDown _EVDEVK(0x267) /* v4.7 KEY_RIGHT_DOWN */
+#define XF86XK_LeftUp _EVDEVK(0x268) /* v4.7 KEY_LEFT_UP */
+#define XF86XK_LeftDown _EVDEVK(0x269) /* v4.7 KEY_LEFT_DOWN */
+#define XF86XK_RootMenu _EVDEVK(0x26a) /* v4.7 KEY_ROOT_MENU */
+#define XF86XK_MediaTopMenu _EVDEVK(0x26b) /* v4.7 KEY_MEDIA_TOP_MENU */
+#define XF86XK_Numeric11 _EVDEVK(0x26c) /* v4.7 KEY_NUMERIC_11 */
+#define XF86XK_Numeric12 _EVDEVK(0x26d) /* v4.7 KEY_NUMERIC_12 */
+#define XF86XK_AudioDesc _EVDEVK(0x26e) /* v4.7 KEY_AUDIO_DESC */
+#define XF86XK_3DMode _EVDEVK(0x26f) /* v4.7 KEY_3D_MODE */
+#define XF86XK_NextFavorite _EVDEVK(0x270) /* v4.7 KEY_NEXT_FAVORITE */
+#define XF86XK_StopRecord _EVDEVK(0x271) /* v4.7 KEY_STOP_RECORD */
+#define XF86XK_PauseRecord _EVDEVK(0x272) /* v4.7 KEY_PAUSE_RECORD */
+#define XF86XK_VOD _EVDEVK(0x273) /* v4.7 KEY_VOD */
+#define XF86XK_Unmute _EVDEVK(0x274) /* v4.7 KEY_UNMUTE */
+#define XF86XK_FastReverse _EVDEVK(0x275) /* v4.7 KEY_FASTREVERSE */
+#define XF86XK_SlowReverse _EVDEVK(0x276) /* v4.7 KEY_SLOWREVERSE */
+#define XF86XK_Data _EVDEVK(0x277) /* v4.7 KEY_DATA */
+#define XF86XK_OnScreenKeyboard _EVDEVK(0x278) /* v4.12 KEY_ONSCREEN_KEYBOARD */
+#define XF86XK_PrivacyScreenToggle _EVDEVK(0x279) /* v5.5 KEY_PRIVACY_SCREEN_TOGGLE */
+#define XF86XK_SelectiveScreenshot _EVDEVK(0x27a) /* v5.6 KEY_SELECTIVE_SCREENSHOT */
+#define XF86XK_NextElement _EVDEVK(0x27b) /* v5.18 KEY_NEXT_ELEMENT */
+#define XF86XK_PreviousElement _EVDEVK(0x27c) /* v5.18 KEY_PREVIOUS_ELEMENT */
+#define XF86XK_AutopilotEngageToggle _EVDEVK(0x27d) /* v5.18 KEY_AUTOPILOT_ENGAGE_TOGGLE */
+#define XF86XK_MarkWaypoint _EVDEVK(0x27e) /* v5.18 KEY_MARK_WAYPOINT */
+#define XF86XK_Sos _EVDEVK(0x27f) /* v5.18 KEY_SOS */
+#define XF86XK_NavChart _EVDEVK(0x280) /* v5.18 KEY_NAV_CHART */
+#define XF86XK_FishingChart _EVDEVK(0x281) /* v5.18 KEY_FISHING_CHART */
+#define XF86XK_SingleRangeRadar _EVDEVK(0x282) /* v5.18 KEY_SINGLE_RANGE_RADAR */
+#define XF86XK_DualRangeRadar _EVDEVK(0x283) /* v5.18 KEY_DUAL_RANGE_RADAR */
+#define XF86XK_RadarOverlay _EVDEVK(0x284) /* v5.18 KEY_RADAR_OVERLAY */
+#define XF86XK_TraditionalSonar _EVDEVK(0x285) /* v5.18 KEY_TRADITIONAL_SONAR */
+#define XF86XK_ClearvuSonar _EVDEVK(0x286) /* v5.18 KEY_CLEARVU_SONAR */
+#define XF86XK_SidevuSonar _EVDEVK(0x287) /* v5.18 KEY_SIDEVU_SONAR */
+#define XF86XK_NavInfo _EVDEVK(0x288) /* v5.18 KEY_NAV_INFO */
+/* Use: XF86XK_BrightnessAdjust _EVDEVK(0x289) v5.18 KEY_BRIGHTNESS_MENU */
+#define XF86XK_Macro1 _EVDEVK(0x290) /* v5.5 KEY_MACRO1 */
+#define XF86XK_Macro2 _EVDEVK(0x291) /* v5.5 KEY_MACRO2 */
+#define XF86XK_Macro3 _EVDEVK(0x292) /* v5.5 KEY_MACRO3 */
+#define XF86XK_Macro4 _EVDEVK(0x293) /* v5.5 KEY_MACRO4 */
+#define XF86XK_Macro5 _EVDEVK(0x294) /* v5.5 KEY_MACRO5 */
+#define XF86XK_Macro6 _EVDEVK(0x295) /* v5.5 KEY_MACRO6 */
+#define XF86XK_Macro7 _EVDEVK(0x296) /* v5.5 KEY_MACRO7 */
+#define XF86XK_Macro8 _EVDEVK(0x297) /* v5.5 KEY_MACRO8 */
+#define XF86XK_Macro9 _EVDEVK(0x298) /* v5.5 KEY_MACRO9 */
+#define XF86XK_Macro10 _EVDEVK(0x299) /* v5.5 KEY_MACRO10 */
+#define XF86XK_Macro11 _EVDEVK(0x29a) /* v5.5 KEY_MACRO11 */
+#define XF86XK_Macro12 _EVDEVK(0x29b) /* v5.5 KEY_MACRO12 */
+#define XF86XK_Macro13 _EVDEVK(0x29c) /* v5.5 KEY_MACRO13 */
+#define XF86XK_Macro14 _EVDEVK(0x29d) /* v5.5 KEY_MACRO14 */
+#define XF86XK_Macro15 _EVDEVK(0x29e) /* v5.5 KEY_MACRO15 */
+#define XF86XK_Macro16 _EVDEVK(0x29f) /* v5.5 KEY_MACRO16 */
+#define XF86XK_Macro17 _EVDEVK(0x2a0) /* v5.5 KEY_MACRO17 */
+#define XF86XK_Macro18 _EVDEVK(0x2a1) /* v5.5 KEY_MACRO18 */
+#define XF86XK_Macro19 _EVDEVK(0x2a2) /* v5.5 KEY_MACRO19 */
+#define XF86XK_Macro20 _EVDEVK(0x2a3) /* v5.5 KEY_MACRO20 */
+#define XF86XK_Macro21 _EVDEVK(0x2a4) /* v5.5 KEY_MACRO21 */
+#define XF86XK_Macro22 _EVDEVK(0x2a5) /* v5.5 KEY_MACRO22 */
+#define XF86XK_Macro23 _EVDEVK(0x2a6) /* v5.5 KEY_MACRO23 */
+#define XF86XK_Macro24 _EVDEVK(0x2a7) /* v5.5 KEY_MACRO24 */
+#define XF86XK_Macro25 _EVDEVK(0x2a8) /* v5.5 KEY_MACRO25 */
+#define XF86XK_Macro26 _EVDEVK(0x2a9) /* v5.5 KEY_MACRO26 */
+#define XF86XK_Macro27 _EVDEVK(0x2aa) /* v5.5 KEY_MACRO27 */
+#define XF86XK_Macro28 _EVDEVK(0x2ab) /* v5.5 KEY_MACRO28 */
+#define XF86XK_Macro29 _EVDEVK(0x2ac) /* v5.5 KEY_MACRO29 */
+#define XF86XK_Macro30 _EVDEVK(0x2ad) /* v5.5 KEY_MACRO30 */
+#define XF86XK_MacroRecordStart _EVDEVK(0x2b0) /* v5.5 KEY_MACRO_RECORD_START */
+#define XF86XK_MacroRecordStop _EVDEVK(0x2b1) /* v5.5 KEY_MACRO_RECORD_STOP */
+#define XF86XK_MacroPresetCycle _EVDEVK(0x2b2) /* v5.5 KEY_MACRO_PRESET_CYCLE */
+#define XF86XK_MacroPreset1 _EVDEVK(0x2b3) /* v5.5 KEY_MACRO_PRESET1 */
+#define XF86XK_MacroPreset2 _EVDEVK(0x2b4) /* v5.5 KEY_MACRO_PRESET2 */
+#define XF86XK_MacroPreset3 _EVDEVK(0x2b5) /* v5.5 KEY_MACRO_PRESET3 */
+#define XF86XK_KbdLcdMenu1 _EVDEVK(0x2b8) /* v5.5 KEY_KBD_LCD_MENU1 */
+#define XF86XK_KbdLcdMenu2 _EVDEVK(0x2b9) /* v5.5 KEY_KBD_LCD_MENU2 */
+#define XF86XK_KbdLcdMenu3 _EVDEVK(0x2ba) /* v5.5 KEY_KBD_LCD_MENU3 */
+#define XF86XK_KbdLcdMenu4 _EVDEVK(0x2bb) /* v5.5 KEY_KBD_LCD_MENU4 */
+#define XF86XK_KbdLcdMenu5 _EVDEVK(0x2bc) /* v5.5 KEY_KBD_LCD_MENU5 */
#undef _EVDEVK
diff --git a/xlib/X11/Xlib.h b/xlib/X11/Xlib.h
index 1b2710a..9bdf149 100644
--- a/xlib/X11/Xlib.h
+++ b/xlib/X11/Xlib.h
@@ -49,13 +49,9 @@ in this Software without prior written authorization from The Open Group.
#ifndef X_WCHAR
#include <stddef.h>
#else
-#ifdef __UNIXOS2__
-#include <stdlib.h>
-#else
/* replace this with #include or typedef appropriate for your system */
typedef unsigned long wchar_t;
#endif
-#endif
#ifndef EXTERN
# define EXTERN extern TCL_STORAGE_CLASS
diff --git a/xlib/X11/keysymdef.h b/xlib/X11/keysymdef.h
index f614e30..e75c402 100644
--- a/xlib/X11/keysymdef.h
+++ b/xlib/X11/keysymdef.h
@@ -62,6 +62,15 @@ SOFTWARE.
* Unicode position, as well as the official Unicode name of the
* character.
*
+ * Some keysyms map to a character already mapped by another keysym,
+ * with compatible but more precise semantics, such as the keypad-
+ * related keysyms. In this case, none of the keysym are deprecated.
+ * The most generic keysym is annotated as previously and more specific
+ * keysyms have the same annotation between angle brackets:
+ *
+ * #define XK_space 0x0020 // U+0020 SPACE
+ * #define XK_KP_Space 0xff80 //<U+0020 SPACE>
+ *
* 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
@@ -81,12 +90,58 @@ SOFTWARE.
* 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.
+ * file, the first one listed is considered the "canonical" name. This
+ * is the name that should be used when retrieving a keysym name from
+ * its code. The next names are considered "aliases" to the canonical
+ * name.
+ *
+ * Aliases are made explicit by writing in their comment "alias for",
+ * followed by the corresponding canonical name. Example:
+ *
+ * #define XK_dead_tilde 0xfe53
+ * #define XK_dead_perispomeni 0xfe53 // alias for dead_tilde
+ *
+ * The rules to consider a keysym mnemonic name deprecated are:
+ *
+ * 1. A legacy keysym with its Unicode mapping in parentheses is
+ * deprecated (see above).
+ *
+ * 2. A keysym name is *explicitly* deprecated by starting its comment
+ * with "deprecated". Examples:
+ *
+ * #define XK_L1 0xffc8 // deprecated alias for F11
+ * #define XK_quoteleft 0x0060 // deprecated
+ *
+ * 3. A keysym name is *explicitly* *not* deprecated by starting its
+ * comment with "non-deprecated alias". Examples:
+ *
+ * #define XK_dead_tilde 0xfe53
+ * #define XK_dead_perispomeni 0xfe53 // non-deprecated alias for dead_tilde
+ *
+ * 4. If none of the previous rules apply, an alias is *implicitly*
+ * deprecated if there is at least one previous name for the
+ * corresponding keysym that is *not* explicitly deprecated.
+ *
+ * Examples:
+ *
+ * // SingleCandidate is the canonical name
+ * #define XK_SingleCandidate 0xff3c
+ * // Hangul_SingleCandidate is deprecated because it is an alias
+ * // and it does not start with "non-deprecated alias"
+ * #define XK_Hangul_SingleCandidate 0xff3c // Single candidate
+ *
+ * // guillemotleft is the canonical name, but it is deprecated
+ * #define XK_guillemotleft 0x00ab // deprecated alias for guillemetleft (misspelling)
+ * // guillemetleft is not deprecated, because the keysym has no endorsed name before it.
+ * #define XK_guillemetleft 0x00ab // U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ * // The following hypothetical name is deprecated because guillemetleft come before.
+ * #define XK_guillemetleft2 0x00ab
*
* 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*\/\*\(U\+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
* /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
*
@@ -110,6 +165,27 @@ SOFTWARE.
* - the protocol specification in specs/keysyms.xml in this repo
* https://gitlab.freedesktop.org/xorg/proto/xorgproto
*
+ * Before removing or changing the order of the keysyms, please consider
+ * the following: it is very difficult to know what keysyms are used and
+ * how.
+ *
+ * - A sandboxed application may have incompatibilities with the host
+ * system. For example, if new keysym name is introduced and is made
+ * the canonical name, then an application with an older keysym parser
+ * will not be able to parse the new name.
+ * - Customization of keyboard layout and Compose files are two popular
+ * use cases. Checking the standard keyboard layout database xkeyboard-config
+ * https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config
+ * and the standard Compose files in libx11
+ * https://gitlab.freedesktop.org/xorg/lib/libx11 is a mandatory
+ * step, but may *not* be enough for a proper impact assessment for
+ * e.g. keysyms removals.
+ *
+ * Therefore, it is advised to proceed to no removal and to make a new
+ * name canonical only 10 years after its introduction. This means that
+ * some keysyms may have their first listed name deprecated during the
+ * period of transition. Once this period is over, the deprecated name
+ * should be moved after the new canonical name.
*/
#define XK_VoidSymbol 0xffffff /* Void symbol */
@@ -121,16 +197,16 @@ SOFTWARE.
* tables in client code).
*/
-#define XK_BackSpace 0xff08 /* Back space, back char */
-#define XK_Tab 0xff09
-#define XK_Linefeed 0xff0a /* Linefeed, LF */
-#define XK_Clear 0xff0b
-#define XK_Return 0xff0d /* Return, enter */
+#define XK_BackSpace 0xff08 /* U+0008 BACKSPACE */
+#define XK_Tab 0xff09 /* U+0009 CHARACTER TABULATION */
+#define XK_Linefeed 0xff0a /* U+000A LINE FEED */
+#define XK_Clear 0xff0b /* U+000B LINE TABULATION */
+#define XK_Return 0xff0d /* U+000D CARRIAGE RETURN */
#define XK_Pause 0xff13 /* Pause, hold */
#define XK_Scroll_Lock 0xff14
#define XK_Sys_Req 0xff15
-#define XK_Escape 0xff1b
-#define XK_Delete 0xffff /* Delete, rubout */
+#define XK_Escape 0xff1b /* U+001B ESCAPE */
+#define XK_Delete 0xffff /* U+007F DELETE */
@@ -147,7 +223,7 @@ SOFTWARE.
#define XK_Kanji 0xff21 /* Kanji, Kanji convert */
#define XK_Muhenkan 0xff22 /* Cancel Conversion */
#define XK_Henkan_Mode 0xff23 /* Start/Stop Conversion */
-#define XK_Henkan 0xff23 /* Alias for Henkan_Mode */
+#define XK_Henkan 0xff23 /* non-deprecated alias for Henkan_Mode */
#define XK_Romaji 0xff24 /* to Romaji */
#define XK_Hiragana 0xff25 /* to Hiragana */
#define XK_Katakana 0xff26 /* to Katakana */
@@ -175,9 +251,9 @@ SOFTWARE.
#define XK_Right 0xff53 /* Move right, right arrow */
#define XK_Down 0xff54 /* Move down, down arrow */
#define XK_Prior 0xff55 /* Prior, previous */
-#define XK_Page_Up 0xff55
+#define XK_Page_Up 0xff55 /* deprecated alias for Prior */
#define XK_Next 0xff56 /* Next */
-#define XK_Page_Down 0xff56
+#define XK_Page_Down 0xff56 /* deprecated alias for Next */
#define XK_End 0xff57 /* EOL */
#define XK_Begin 0xff58 /* BOL */
@@ -196,14 +272,14 @@ SOFTWARE.
#define XK_Help 0xff6a /* Help */
#define XK_Break 0xff6b
#define XK_Mode_switch 0xff7e /* Character set switch */
-#define XK_script_switch 0xff7e /* Alias for mode_switch */
+#define XK_script_switch 0xff7e /* non-deprecated alias for Mode_switch */
#define XK_Num_Lock 0xff7f
/* Keypad functions, keypad numbers cleverly chosen to map to ASCII */
-#define XK_KP_Space 0xff80 /* Space */
-#define XK_KP_Tab 0xff89
-#define XK_KP_Enter 0xff8d /* Enter */
+#define XK_KP_Space 0xff80 /*<U+0020 SPACE>*/
+#define XK_KP_Tab 0xff89 /*<U+0009 CHARACTER TABULATION>*/
+#define XK_KP_Enter 0xff8d /*<U+000D CARRIAGE RETURN>*/
#define XK_KP_F1 0xff91 /* PF1, KP_A, ... */
#define XK_KP_F2 0xff92
#define XK_KP_F3 0xff93
@@ -214,31 +290,31 @@ SOFTWARE.
#define XK_KP_Right 0xff98
#define XK_KP_Down 0xff99
#define XK_KP_Prior 0xff9a
-#define XK_KP_Page_Up 0xff9a
+#define XK_KP_Page_Up 0xff9a /* deprecated alias for KP_Prior */
#define XK_KP_Next 0xff9b
-#define XK_KP_Page_Down 0xff9b
+#define XK_KP_Page_Down 0xff9b /* deprecated alias for KP_Next */
#define XK_KP_End 0xff9c
#define XK_KP_Begin 0xff9d
#define XK_KP_Insert 0xff9e
#define XK_KP_Delete 0xff9f
-#define XK_KP_Equal 0xffbd /* Equals */
-#define XK_KP_Multiply 0xffaa
-#define XK_KP_Add 0xffab
-#define XK_KP_Separator 0xffac /* Separator, often comma */
-#define XK_KP_Subtract 0xffad
-#define XK_KP_Decimal 0xffae
-#define XK_KP_Divide 0xffaf
-
-#define XK_KP_0 0xffb0
-#define XK_KP_1 0xffb1
-#define XK_KP_2 0xffb2
-#define XK_KP_3 0xffb3
-#define XK_KP_4 0xffb4
-#define XK_KP_5 0xffb5
-#define XK_KP_6 0xffb6
-#define XK_KP_7 0xffb7
-#define XK_KP_8 0xffb8
-#define XK_KP_9 0xffb9
+#define XK_KP_Equal 0xffbd /*<U+003D EQUALS SIGN>*/
+#define XK_KP_Multiply 0xffaa /*<U+002A ASTERISK>*/
+#define XK_KP_Add 0xffab /*<U+002B PLUS SIGN>*/
+#define XK_KP_Separator 0xffac /*<U+002C COMMA>*/
+#define XK_KP_Subtract 0xffad /*<U+002D HYPHEN-MINUS>*/
+#define XK_KP_Decimal 0xffae /*<U+002E FULL STOP>*/
+#define XK_KP_Divide 0xffaf /*<U+002F SOLIDUS>*/
+
+#define XK_KP_0 0xffb0 /*<U+0030 DIGIT ZERO>*/
+#define XK_KP_1 0xffb1 /*<U+0031 DIGIT ONE>*/
+#define XK_KP_2 0xffb2 /*<U+0032 DIGIT TWO>*/
+#define XK_KP_3 0xffb3 /*<U+0033 DIGIT THREE>*/
+#define XK_KP_4 0xffb4 /*<U+0034 DIGIT FOUR>*/
+#define XK_KP_5 0xffb5 /*<U+0035 DIGIT FIVE>*/
+#define XK_KP_6 0xffb6 /*<U+0036 DIGIT SIX>*/
+#define XK_KP_7 0xffb7 /*<U+0037 DIGIT SEVEN>*/
+#define XK_KP_8 0xffb8 /*<U+0038 DIGIT EIGHT>*/
+#define XK_KP_9 0xffb9 /*<U+0039 DIGIT NINE>*/
@@ -260,55 +336,55 @@ SOFTWARE.
#define XK_F9 0xffc6
#define XK_F10 0xffc7
#define XK_F11 0xffc8
-#define XK_L1 0xffc8
+#define XK_L1 0xffc8 /* deprecated alias for F11 */
#define XK_F12 0xffc9
-#define XK_L2 0xffc9
+#define XK_L2 0xffc9 /* deprecated alias for F12 */
#define XK_F13 0xffca
-#define XK_L3 0xffca
+#define XK_L3 0xffca /* deprecated alias for F13 */
#define XK_F14 0xffcb
-#define XK_L4 0xffcb
+#define XK_L4 0xffcb /* deprecated alias for F14 */
#define XK_F15 0xffcc
-#define XK_L5 0xffcc
+#define XK_L5 0xffcc /* deprecated alias for F15 */
#define XK_F16 0xffcd
-#define XK_L6 0xffcd
+#define XK_L6 0xffcd /* deprecated alias for F16 */
#define XK_F17 0xffce
-#define XK_L7 0xffce
+#define XK_L7 0xffce /* deprecated alias for F17 */
#define XK_F18 0xffcf
-#define XK_L8 0xffcf
+#define XK_L8 0xffcf /* deprecated alias for F18 */
#define XK_F19 0xffd0
-#define XK_L9 0xffd0
+#define XK_L9 0xffd0 /* deprecated alias for F19 */
#define XK_F20 0xffd1
-#define XK_L10 0xffd1
+#define XK_L10 0xffd1 /* deprecated alias for F20 */
#define XK_F21 0xffd2
-#define XK_R1 0xffd2
+#define XK_R1 0xffd2 /* deprecated alias for F21 */
#define XK_F22 0xffd3
-#define XK_R2 0xffd3
+#define XK_R2 0xffd3 /* deprecated alias for F22 */
#define XK_F23 0xffd4
-#define XK_R3 0xffd4
+#define XK_R3 0xffd4 /* deprecated alias for F23 */
#define XK_F24 0xffd5
-#define XK_R4 0xffd5
+#define XK_R4 0xffd5 /* deprecated alias for F24 */
#define XK_F25 0xffd6
-#define XK_R5 0xffd6
+#define XK_R5 0xffd6 /* deprecated alias for F25 */
#define XK_F26 0xffd7
-#define XK_R6 0xffd7
+#define XK_R6 0xffd7 /* deprecated alias for F26 */
#define XK_F27 0xffd8
-#define XK_R7 0xffd8
+#define XK_R7 0xffd8 /* deprecated alias for F27 */
#define XK_F28 0xffd9
-#define XK_R8 0xffd9
+#define XK_R8 0xffd9 /* deprecated alias for F28 */
#define XK_F29 0xffda
-#define XK_R9 0xffda
+#define XK_R9 0xffda /* deprecated alias for F29 */
#define XK_F30 0xffdb
-#define XK_R10 0xffdb
+#define XK_R10 0xffdb /* deprecated alias for F30 */
#define XK_F31 0xffdc
-#define XK_R11 0xffdc
+#define XK_R11 0xffdc /* deprecated alias for F31 */
#define XK_F32 0xffdd
-#define XK_R12 0xffdd
+#define XK_R12 0xffdd /* deprecated alias for F32 */
#define XK_F33 0xffde
-#define XK_R13 0xffde
+#define XK_R13 0xffde /* deprecated alias for F33 */
#define XK_F34 0xffdf
-#define XK_R14 0xffdf
+#define XK_R14 0xffdf /* deprecated alias for F34 */
#define XK_F35 0xffe0
-#define XK_R15 0xffe0
+#define XK_R15 0xffe0 /* deprecated alias for F35 */
/* Modifiers */
@@ -344,7 +420,7 @@ SOFTWARE.
#define XK_ISO_Level5_Shift 0xfe11
#define XK_ISO_Level5_Latch 0xfe12
#define XK_ISO_Level5_Lock 0xfe13
-#define XK_ISO_Group_Shift 0xff7e /* Alias for mode_switch */
+#define XK_ISO_Group_Shift 0xff7e /* non-deprecated alias for Mode_switch */
#define XK_ISO_Group_Latch 0xfe06
#define XK_ISO_Group_Lock 0xfe07
#define XK_ISO_Next_Group 0xfe08
@@ -382,7 +458,7 @@ SOFTWARE.
#define XK_dead_acute 0xfe51
#define XK_dead_circumflex 0xfe52
#define XK_dead_tilde 0xfe53
-#define XK_dead_perispomeni 0xfe53 /* alias for dead_tilde */
+#define XK_dead_perispomeni 0xfe53 /* non-deprecated alias for dead_tilde */
#define XK_dead_macron 0xfe54
#define XK_dead_breve 0xfe55
#define XK_dead_abovedot 0xfe56
@@ -400,9 +476,9 @@ SOFTWARE.
#define XK_dead_horn 0xfe62
#define XK_dead_stroke 0xfe63
#define XK_dead_abovecomma 0xfe64
-#define XK_dead_psili 0xfe64 /* alias for dead_abovecomma */
+#define XK_dead_psili 0xfe64 /* non-deprecated alias for dead_abovecomma */
#define XK_dead_abovereversedcomma 0xfe65
-#define XK_dead_dasia 0xfe65 /* alias for dead_abovereversedcomma */
+#define XK_dead_dasia 0xfe65 /* non-deprecated alias for dead_abovereversedcomma */
#define XK_dead_doublegrave 0xfe66
#define XK_dead_belowring 0xfe67
#define XK_dead_belowmacron 0xfe68
@@ -431,12 +507,13 @@ SOFTWARE.
#define XK_dead_O 0xfe87
#define XK_dead_u 0xfe88
#define XK_dead_U 0xfe89
+#define XK_dead_small_schwa 0xfe8a /* deprecated alias for dead_schwa */
#define XK_dead_schwa 0xfe8a
+#define XK_dead_capital_schwa 0xfe8b /* deprecated alias for dead_SCHWA */
#define XK_dead_SCHWA 0xfe8b
-#define XK_dead_small_schwa 0xfe8a /* deprecated, remove in 2025 */
-#define XK_dead_capital_schwa 0xfe8b /* deprecated, remove in 2025 */
#define XK_dead_greek 0xfe8c
+#define XK_dead_hamza 0xfe8d
#define XK_First_Virtual_Screen 0xfed0
#define XK_Prev_Virtual_Screen 0xfed1
@@ -652,8 +729,8 @@ SOFTWARE.
#define XK_diaeresis 0x00a8 /* U+00A8 DIAERESIS */
#define XK_copyright 0x00a9 /* U+00A9 COPYRIGHT SIGN */
#define XK_ordfeminine 0x00aa /* U+00AA FEMININE ORDINAL INDICATOR */
+#define XK_guillemotleft 0x00ab /* deprecated alias for guillemetleft (misspelling) */
#define XK_guillemetleft 0x00ab /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
-#define XK_guillemotleft 0x00ab /* deprecated misspelling */
#define XK_notsign 0x00ac /* U+00AC NOT SIGN */
#define XK_hyphen 0x00ad /* U+00AD SOFT HYPHEN */
#define XK_registered 0x00ae /* U+00AE REGISTERED SIGN */
@@ -668,10 +745,10 @@ SOFTWARE.
#define XK_periodcentered 0x00b7 /* U+00B7 MIDDLE DOT */
#define XK_cedilla 0x00b8 /* U+00B8 CEDILLA */
#define XK_onesuperior 0x00b9 /* U+00B9 SUPERSCRIPT ONE */
+#define XK_masculine 0x00ba /* deprecated alias for ordmasculine (inconsistent name) */
#define XK_ordmasculine 0x00ba /* U+00BA MASCULINE ORDINAL INDICATOR */
-#define XK_masculine 0x00ba /* deprecated inconsistent name */
+#define XK_guillemotright 0x00bb /* deprecated alias for guillemetright (misspelling) */
#define XK_guillemetright 0x00bb /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
-#define XK_guillemotright 0x00bb /* deprecated misspelling */
#define XK_onequarter 0x00bc /* U+00BC VULGAR FRACTION ONE QUARTER */
#define XK_onehalf 0x00bd /* U+00BD VULGAR FRACTION ONE HALF */
#define XK_threequarters 0x00be /* U+00BE VULGAR FRACTION THREE QUARTERS */
@@ -702,7 +779,7 @@ SOFTWARE.
#define XK_Odiaeresis 0x00d6 /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */
#define XK_multiply 0x00d7 /* U+00D7 MULTIPLICATION SIGN */
#define XK_Oslash 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
-#define XK_Ooblique 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+#define XK_Ooblique 0x00d8 /* deprecated alias for Oslash */
#define XK_Ugrave 0x00d9 /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */
#define XK_Uacute 0x00da /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */
#define XK_Ucircumflex 0x00db /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
@@ -736,7 +813,7 @@ SOFTWARE.
#define XK_odiaeresis 0x00f6 /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */
#define XK_division 0x00f7 /* U+00F7 DIVISION SIGN */
#define XK_oslash 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
-#define XK_ooblique 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
+#define XK_ooblique 0x00f8 /* deprecated alias for oslash */
#define XK_ugrave 0x00f9 /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */
#define XK_uacute 0x00fa /* U+00FA LATIN SMALL LETTER U WITH ACUTE */
#define XK_ucircumflex 0x00fb /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */
@@ -887,6 +964,38 @@ SOFTWARE.
#endif /* XK_LATIN4 */
/*
+ * Latin 8
+ */
+#ifdef XK_LATIN8
+#define XK_Wcircumflex 0x1000174 /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
+#define XK_wcircumflex 0x1000175 /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */
+#define XK_Ycircumflex 0x1000176 /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
+#define XK_ycircumflex 0x1000177 /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */
+#define XK_Babovedot 0x1001e02 /* U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE */
+#define XK_babovedot 0x1001e03 /* U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE */
+#define XK_Dabovedot 0x1001e0a /* U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE */
+#define XK_dabovedot 0x1001e0b /* U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE */
+#define XK_Fabovedot 0x1001e1e /* U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE */
+#define XK_fabovedot 0x1001e1f /* U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE */
+#define XK_Mabovedot 0x1001e40 /* U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE */
+#define XK_mabovedot 0x1001e41 /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */
+#define XK_Pabovedot 0x1001e56 /* U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE */
+#define XK_pabovedot 0x1001e57 /* U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE */
+#define XK_Sabovedot 0x1001e60 /* U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE */
+#define XK_sabovedot 0x1001e61 /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */
+#define XK_Tabovedot 0x1001e6a /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */
+#define XK_tabovedot 0x1001e6b /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */
+#define XK_Wgrave 0x1001e80 /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */
+#define XK_wgrave 0x1001e81 /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */
+#define XK_Wacute 0x1001e82 /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */
+#define XK_wacute 0x1001e83 /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */
+#define XK_Wdiaeresis 0x1001e84 /* U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS */
+#define XK_wdiaeresis 0x1001e85 /* U+1E85 LATIN SMALL LETTER W WITH DIAERESIS */
+#define XK_Ygrave 0x1001ef2 /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */
+#define XK_ygrave 0x1001ef3 /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */
+#endif /* XK_LATIN8 */
+
+/*
* Latin 9
* Byte 3 = 0x13
*/
@@ -972,7 +1081,7 @@ SOFTWARE.
#define XK_kana_N 0x04dd /* U+30F3 KATAKANA LETTER N */
#define XK_voicedsound 0x04de /* U+309B KATAKANA-HIRAGANA VOICED SOUND MARK */
#define XK_semivoicedsound 0x04df /* U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
-#define XK_kana_switch 0xff7e /* Alias for mode_switch */
+#define XK_kana_switch 0xff7e /* non-deprecated alias for Mode_switch */
#endif /* XK_KATAKANA */
/*
@@ -981,7 +1090,35 @@ SOFTWARE.
*/
#ifdef XK_ARABIC
+#define XK_Farsi_0 0x10006f0 /* U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO */
+#define XK_Farsi_1 0x10006f1 /* U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE */
+#define XK_Farsi_2 0x10006f2 /* U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO */
+#define XK_Farsi_3 0x10006f3 /* U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE */
+#define XK_Farsi_4 0x10006f4 /* U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR */
+#define XK_Farsi_5 0x10006f5 /* U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE */
+#define XK_Farsi_6 0x10006f6 /* U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX */
+#define XK_Farsi_7 0x10006f7 /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */
+#define XK_Farsi_8 0x10006f8 /* U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT */
+#define XK_Farsi_9 0x10006f9 /* U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE */
+#define XK_Arabic_percent 0x100066a /* U+066A ARABIC PERCENT SIGN */
+#define XK_Arabic_superscript_alef 0x1000670 /* U+0670 ARABIC LETTER SUPERSCRIPT ALEF */
+#define XK_Arabic_tteh 0x1000679 /* U+0679 ARABIC LETTER TTEH */
+#define XK_Arabic_peh 0x100067e /* U+067E ARABIC LETTER PEH */
+#define XK_Arabic_tcheh 0x1000686 /* U+0686 ARABIC LETTER TCHEH */
+#define XK_Arabic_ddal 0x1000688 /* U+0688 ARABIC LETTER DDAL */
+#define XK_Arabic_rreh 0x1000691 /* U+0691 ARABIC LETTER RREH */
#define XK_Arabic_comma 0x05ac /* U+060C ARABIC COMMA */
+#define XK_Arabic_fullstop 0x10006d4 /* U+06D4 ARABIC FULL STOP */
+#define XK_Arabic_0 0x1000660 /* U+0660 ARABIC-INDIC DIGIT ZERO */
+#define XK_Arabic_1 0x1000661 /* U+0661 ARABIC-INDIC DIGIT ONE */
+#define XK_Arabic_2 0x1000662 /* U+0662 ARABIC-INDIC DIGIT TWO */
+#define XK_Arabic_3 0x1000663 /* U+0663 ARABIC-INDIC DIGIT THREE */
+#define XK_Arabic_4 0x1000664 /* U+0664 ARABIC-INDIC DIGIT FOUR */
+#define XK_Arabic_5 0x1000665 /* U+0665 ARABIC-INDIC DIGIT FIVE */
+#define XK_Arabic_6 0x1000666 /* U+0666 ARABIC-INDIC DIGIT SIX */
+#define XK_Arabic_7 0x1000667 /* U+0667 ARABIC-INDIC DIGIT SEVEN */
+#define XK_Arabic_8 0x1000668 /* U+0668 ARABIC-INDIC DIGIT EIGHT */
+#define XK_Arabic_9 0x1000669 /* U+0669 ARABIC-INDIC DIGIT NINE */
#define XK_Arabic_semicolon 0x05bb /* U+061B ARABIC SEMICOLON */
#define XK_Arabic_question_mark 0x05bf /* U+061F ARABIC QUESTION MARK */
#define XK_Arabic_hamza 0x05c1 /* U+0621 ARABIC LETTER HAMZA */
@@ -1030,7 +1167,20 @@ SOFTWARE.
#define XK_Arabic_kasra 0x05f0 /* U+0650 ARABIC KASRA */
#define XK_Arabic_shadda 0x05f1 /* U+0651 ARABIC SHADDA */
#define XK_Arabic_sukun 0x05f2 /* U+0652 ARABIC SUKUN */
-#define XK_Arabic_switch 0xff7e /* Alias for mode_switch */
+#define XK_Arabic_madda_above 0x1000653 /* U+0653 ARABIC MADDAH ABOVE */
+#define XK_Arabic_hamza_above 0x1000654 /* U+0654 ARABIC HAMZA ABOVE */
+#define XK_Arabic_hamza_below 0x1000655 /* U+0655 ARABIC HAMZA BELOW */
+#define XK_Arabic_jeh 0x1000698 /* U+0698 ARABIC LETTER JEH */
+#define XK_Arabic_veh 0x10006a4 /* U+06A4 ARABIC LETTER VEH */
+#define XK_Arabic_keheh 0x10006a9 /* U+06A9 ARABIC LETTER KEHEH */
+#define XK_Arabic_gaf 0x10006af /* U+06AF ARABIC LETTER GAF */
+#define XK_Arabic_noon_ghunna 0x10006ba /* U+06BA ARABIC LETTER NOON GHUNNA */
+#define XK_Arabic_heh_doachashmee 0x10006be /* U+06BE ARABIC LETTER HEH DOACHASHMEE */
+#define XK_Farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
+#define XK_Arabic_farsi_yeh 0x10006cc /* deprecated alias for Farsi_yeh */
+#define XK_Arabic_yeh_baree 0x10006d2 /* U+06D2 ARABIC LETTER YEH BARREE */
+#define XK_Arabic_heh_goal 0x10006c1 /* U+06C1 ARABIC LETTER HEH GOAL */
+#define XK_Arabic_switch 0xff7e /* non-deprecated alias for Mode_switch */
#endif /* XK_ARABIC */
/*
@@ -1038,6 +1188,38 @@ SOFTWARE.
* Byte 3 = 6
*/
#ifdef XK_CYRILLIC
+#define XK_Cyrillic_GHE_bar 0x1000492 /* U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE */
+#define XK_Cyrillic_ghe_bar 0x1000493 /* U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE */
+#define XK_Cyrillic_ZHE_descender 0x1000496 /* U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */
+#define XK_Cyrillic_zhe_descender 0x1000497 /* U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER */
+#define XK_Cyrillic_KA_descender 0x100049a /* U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER */
+#define XK_Cyrillic_ka_descender 0x100049b /* U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER */
+#define XK_Cyrillic_KA_vertstroke 0x100049c /* U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */
+#define XK_Cyrillic_ka_vertstroke 0x100049d /* U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */
+#define XK_Cyrillic_EN_descender 0x10004a2 /* U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER */
+#define XK_Cyrillic_en_descender 0x10004a3 /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */
+#define XK_Cyrillic_U_straight 0x10004ae /* U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U */
+#define XK_Cyrillic_u_straight 0x10004af /* U+04AF CYRILLIC SMALL LETTER STRAIGHT U */
+#define XK_Cyrillic_U_straight_bar 0x10004b0 /* U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */
+#define XK_Cyrillic_u_straight_bar 0x10004b1 /* U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */
+#define XK_Cyrillic_HA_descender 0x10004b2 /* U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER */
+#define XK_Cyrillic_ha_descender 0x10004b3 /* U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER */
+#define XK_Cyrillic_CHE_descender 0x10004b6 /* U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */
+#define XK_Cyrillic_che_descender 0x10004b7 /* U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER */
+#define XK_Cyrillic_CHE_vertstroke 0x10004b8 /* U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */
+#define XK_Cyrillic_che_vertstroke 0x10004b9 /* U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */
+#define XK_Cyrillic_SHHA 0x10004ba /* U+04BA CYRILLIC CAPITAL LETTER SHHA */
+#define XK_Cyrillic_shha 0x10004bb /* U+04BB CYRILLIC SMALL LETTER SHHA */
+
+#define XK_Cyrillic_SCHWA 0x10004d8 /* U+04D8 CYRILLIC CAPITAL LETTER SCHWA */
+#define XK_Cyrillic_schwa 0x10004d9 /* U+04D9 CYRILLIC SMALL LETTER SCHWA */
+#define XK_Cyrillic_I_macron 0x10004e2 /* U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON */
+#define XK_Cyrillic_i_macron 0x10004e3 /* U+04E3 CYRILLIC SMALL LETTER I WITH MACRON */
+#define XK_Cyrillic_O_bar 0x10004e8 /* U+04E8 CYRILLIC CAPITAL LETTER BARRED O */
+#define XK_Cyrillic_o_bar 0x10004e9 /* U+04E9 CYRILLIC SMALL LETTER BARRED O */
+#define XK_Cyrillic_U_macron 0x10004ee /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */
+#define XK_Cyrillic_u_macron 0x10004ef /* U+04EF CYRILLIC SMALL LETTER U WITH MACRON */
+
#define XK_Serbian_dje 0x06a1 /* U+0452 CYRILLIC SMALL LETTER DJE */
#define XK_Macedonia_gje 0x06a2 /* U+0453 CYRILLIC SMALL LETTER GJE */
#define XK_Cyrillic_io 0x06a3 /* U+0451 CYRILLIC SMALL LETTER IO */
@@ -1161,7 +1343,7 @@ SOFTWARE.
#define XK_Greek_ETAaccent 0x07a3 /* U+0389 GREEK CAPITAL LETTER ETA WITH TONOS */
#define XK_Greek_IOTAaccent 0x07a4 /* U+038A GREEK CAPITAL LETTER IOTA WITH TONOS */
#define XK_Greek_IOTAdieresis 0x07a5 /* U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
-#define XK_Greek_IOTAdiaeresis 0x07a5 /* old typo */
+#define XK_Greek_IOTAdiaeresis 0x07a5 /* deprecated (old typo) */
#define XK_Greek_OMICRONaccent 0x07a7 /* U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS */
#define XK_Greek_UPSILONaccent 0x07a8 /* U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS */
#define XK_Greek_UPSILONdieresis 0x07a9 /* U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
@@ -1190,7 +1372,7 @@ SOFTWARE.
#define XK_Greek_IOTA 0x07c9 /* U+0399 GREEK CAPITAL LETTER IOTA */
#define XK_Greek_KAPPA 0x07ca /* U+039A GREEK CAPITAL LETTER KAPPA */
#define XK_Greek_LAMDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
-#define XK_Greek_LAMBDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
+#define XK_Greek_LAMBDA 0x07cb /* non-deprecated alias for Greek_LAMDA */
#define XK_Greek_MU 0x07cc /* U+039C GREEK CAPITAL LETTER MU */
#define XK_Greek_NU 0x07cd /* U+039D GREEK CAPITAL LETTER NU */
#define XK_Greek_XI 0x07ce /* U+039E GREEK CAPITAL LETTER XI */
@@ -1215,7 +1397,7 @@ SOFTWARE.
#define XK_Greek_iota 0x07e9 /* U+03B9 GREEK SMALL LETTER IOTA */
#define XK_Greek_kappa 0x07ea /* U+03BA GREEK SMALL LETTER KAPPA */
#define XK_Greek_lamda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
-#define XK_Greek_lambda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
+#define XK_Greek_lambda 0x07eb /* non-deprecated alias for Greek_lamda */
#define XK_Greek_mu 0x07ec /* U+03BC GREEK SMALL LETTER MU */
#define XK_Greek_nu 0x07ed /* U+03BD GREEK SMALL LETTER NU */
#define XK_Greek_xi 0x07ee /* U+03BE GREEK SMALL LETTER XI */
@@ -1230,7 +1412,7 @@ SOFTWARE.
#define XK_Greek_chi 0x07f7 /* U+03C7 GREEK SMALL LETTER CHI */
#define XK_Greek_psi 0x07f8 /* U+03C8 GREEK SMALL LETTER PSI */
#define XK_Greek_omega 0x07f9 /* U+03C9 GREEK SMALL LETTER OMEGA */
-#define XK_Greek_switch 0xff7e /* Alias for mode_switch */
+#define XK_Greek_switch 0xff7e /* non-deprecated alias for Mode_switch */
#endif /* XK_GREEK */
/*
@@ -1490,7 +1672,7 @@ SOFTWARE.
#define XK_hebrew_shin 0x0cf9 /* U+05E9 HEBREW LETTER SHIN */
#define XK_hebrew_taw 0x0cfa /* U+05EA HEBREW LETTER TAV */
#define XK_hebrew_taf 0x0cfa /* deprecated */
-#define XK_Hebrew_switch 0xff7e /* Alias for mode_switch */
+#define XK_Hebrew_switch 0xff7e /* non-deprecated alias for Mode_switch */
#endif /* XK_HEBREW */
/*
@@ -1557,7 +1739,7 @@ SOFTWARE.
#define XK_Thai_sarau 0x0dd8 /* U+0E38 THAI CHARACTER SARA U */
#define XK_Thai_sarauu 0x0dd9 /* U+0E39 THAI CHARACTER SARA UU */
#define XK_Thai_phinthu 0x0dda /* U+0E3A THAI CHARACTER PHINTHU */
-#define XK_Thai_maihanakat_maitho 0x0dde
+#define XK_Thai_maihanakat_maitho 0x0dde /*(U+0E3E Unassigned code point)*/
#define XK_Thai_baht 0x0ddf /* U+0E3F THAI CURRENCY SYMBOL BAHT */
#define XK_Thai_sarae 0x0de0 /* U+0E40 THAI CHARACTER SARA E */
#define XK_Thai_saraae 0x0de1 /* U+0E41 THAI CHARACTER SARA AE */
@@ -1607,7 +1789,7 @@ SOFTWARE.
#define XK_Hangul_MultipleCandidate 0xff3d /* Multiple candidate */
#define XK_Hangul_PreviousCandidate 0xff3e /* Previous candidate */
#define XK_Hangul_Special 0xff3f /* Special symbols */
-#define XK_Hangul_switch 0xff7e /* Alias for mode_switch */
+#define XK_Hangul_switch 0xff7e /* non-deprecated alias for Mode_switch */
/* Hangul Consonant Characters */
#define XK_Hangul_Kiyeog 0x0ea1 /* U+3131 HANGUL LETTER KIYEOK */
@@ -1716,10 +1898,334 @@ SOFTWARE.
#endif /* XK_KOREAN */
+/*
+ * Armenian
+ */
+
+#ifdef XK_ARMENIAN
+#define XK_Armenian_ligature_ew 0x1000587 /* U+0587 ARMENIAN SMALL LIGATURE ECH YIWN */
+#define XK_Armenian_full_stop 0x1000589 /* U+0589 ARMENIAN FULL STOP */
+#define XK_Armenian_verjaket 0x1000589 /* deprecated alias for Armenian_full_stop */
+#define XK_Armenian_separation_mark 0x100055d /* U+055D ARMENIAN COMMA */
+#define XK_Armenian_but 0x100055d /* deprecated alias for Armenian_separation_mark */
+#define XK_Armenian_hyphen 0x100058a /* U+058A ARMENIAN HYPHEN */
+#define XK_Armenian_yentamna 0x100058a /* deprecated alias for Armenian_hyphen */
+#define XK_Armenian_exclam 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
+#define XK_Armenian_amanak 0x100055c /* deprecated alias for Armenian_exclam */
+#define XK_Armenian_accent 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
+#define XK_Armenian_shesht 0x100055b /* deprecated alias for Armenian_accent */
+#define XK_Armenian_question 0x100055e /* U+055E ARMENIAN QUESTION MARK */
+#define XK_Armenian_paruyk 0x100055e /* deprecated alias for Armenian_question */
+#define XK_Armenian_AYB 0x1000531 /* U+0531 ARMENIAN CAPITAL LETTER AYB */
+#define XK_Armenian_ayb 0x1000561 /* U+0561 ARMENIAN SMALL LETTER AYB */
+#define XK_Armenian_BEN 0x1000532 /* U+0532 ARMENIAN CAPITAL LETTER BEN */
+#define XK_Armenian_ben 0x1000562 /* U+0562 ARMENIAN SMALL LETTER BEN */
+#define XK_Armenian_GIM 0x1000533 /* U+0533 ARMENIAN CAPITAL LETTER GIM */
+#define XK_Armenian_gim 0x1000563 /* U+0563 ARMENIAN SMALL LETTER GIM */
+#define XK_Armenian_DA 0x1000534 /* U+0534 ARMENIAN CAPITAL LETTER DA */
+#define XK_Armenian_da 0x1000564 /* U+0564 ARMENIAN SMALL LETTER DA */
+#define XK_Armenian_YECH 0x1000535 /* U+0535 ARMENIAN CAPITAL LETTER ECH */
+#define XK_Armenian_yech 0x1000565 /* U+0565 ARMENIAN SMALL LETTER ECH */
+#define XK_Armenian_ZA 0x1000536 /* U+0536 ARMENIAN CAPITAL LETTER ZA */
+#define XK_Armenian_za 0x1000566 /* U+0566 ARMENIAN SMALL LETTER ZA */
+#define XK_Armenian_E 0x1000537 /* U+0537 ARMENIAN CAPITAL LETTER EH */
+#define XK_Armenian_e 0x1000567 /* U+0567 ARMENIAN SMALL LETTER EH */
+#define XK_Armenian_AT 0x1000538 /* U+0538 ARMENIAN CAPITAL LETTER ET */
+#define XK_Armenian_at 0x1000568 /* U+0568 ARMENIAN SMALL LETTER ET */
+#define XK_Armenian_TO 0x1000539 /* U+0539 ARMENIAN CAPITAL LETTER TO */
+#define XK_Armenian_to 0x1000569 /* U+0569 ARMENIAN SMALL LETTER TO */
+#define XK_Armenian_ZHE 0x100053a /* U+053A ARMENIAN CAPITAL LETTER ZHE */
+#define XK_Armenian_zhe 0x100056a /* U+056A ARMENIAN SMALL LETTER ZHE */
+#define XK_Armenian_INI 0x100053b /* U+053B ARMENIAN CAPITAL LETTER INI */
+#define XK_Armenian_ini 0x100056b /* U+056B ARMENIAN SMALL LETTER INI */
+#define XK_Armenian_LYUN 0x100053c /* U+053C ARMENIAN CAPITAL LETTER LIWN */
+#define XK_Armenian_lyun 0x100056c /* U+056C ARMENIAN SMALL LETTER LIWN */
+#define XK_Armenian_KHE 0x100053d /* U+053D ARMENIAN CAPITAL LETTER XEH */
+#define XK_Armenian_khe 0x100056d /* U+056D ARMENIAN SMALL LETTER XEH */
+#define XK_Armenian_TSA 0x100053e /* U+053E ARMENIAN CAPITAL LETTER CA */
+#define XK_Armenian_tsa 0x100056e /* U+056E ARMENIAN SMALL LETTER CA */
+#define XK_Armenian_KEN 0x100053f /* U+053F ARMENIAN CAPITAL LETTER KEN */
+#define XK_Armenian_ken 0x100056f /* U+056F ARMENIAN SMALL LETTER KEN */
+#define XK_Armenian_HO 0x1000540 /* U+0540 ARMENIAN CAPITAL LETTER HO */
+#define XK_Armenian_ho 0x1000570 /* U+0570 ARMENIAN SMALL LETTER HO */
+#define XK_Armenian_DZA 0x1000541 /* U+0541 ARMENIAN CAPITAL LETTER JA */
+#define XK_Armenian_dza 0x1000571 /* U+0571 ARMENIAN SMALL LETTER JA */
+#define XK_Armenian_GHAT 0x1000542 /* U+0542 ARMENIAN CAPITAL LETTER GHAD */
+#define XK_Armenian_ghat 0x1000572 /* U+0572 ARMENIAN SMALL LETTER GHAD */
+#define XK_Armenian_TCHE 0x1000543 /* U+0543 ARMENIAN CAPITAL LETTER CHEH */
+#define XK_Armenian_tche 0x1000573 /* U+0573 ARMENIAN SMALL LETTER CHEH */
+#define XK_Armenian_MEN 0x1000544 /* U+0544 ARMENIAN CAPITAL LETTER MEN */
+#define XK_Armenian_men 0x1000574 /* U+0574 ARMENIAN SMALL LETTER MEN */
+#define XK_Armenian_HI 0x1000545 /* U+0545 ARMENIAN CAPITAL LETTER YI */
+#define XK_Armenian_hi 0x1000575 /* U+0575 ARMENIAN SMALL LETTER YI */
+#define XK_Armenian_NU 0x1000546 /* U+0546 ARMENIAN CAPITAL LETTER NOW */
+#define XK_Armenian_nu 0x1000576 /* U+0576 ARMENIAN SMALL LETTER NOW */
+#define XK_Armenian_SHA 0x1000547 /* U+0547 ARMENIAN CAPITAL LETTER SHA */
+#define XK_Armenian_sha 0x1000577 /* U+0577 ARMENIAN SMALL LETTER SHA */
+#define XK_Armenian_VO 0x1000548 /* U+0548 ARMENIAN CAPITAL LETTER VO */
+#define XK_Armenian_vo 0x1000578 /* U+0578 ARMENIAN SMALL LETTER VO */
+#define XK_Armenian_CHA 0x1000549 /* U+0549 ARMENIAN CAPITAL LETTER CHA */
+#define XK_Armenian_cha 0x1000579 /* U+0579 ARMENIAN SMALL LETTER CHA */
+#define XK_Armenian_PE 0x100054a /* U+054A ARMENIAN CAPITAL LETTER PEH */
+#define XK_Armenian_pe 0x100057a /* U+057A ARMENIAN SMALL LETTER PEH */
+#define XK_Armenian_JE 0x100054b /* U+054B ARMENIAN CAPITAL LETTER JHEH */
+#define XK_Armenian_je 0x100057b /* U+057B ARMENIAN SMALL LETTER JHEH */
+#define XK_Armenian_RA 0x100054c /* U+054C ARMENIAN CAPITAL LETTER RA */
+#define XK_Armenian_ra 0x100057c /* U+057C ARMENIAN SMALL LETTER RA */
+#define XK_Armenian_SE 0x100054d /* U+054D ARMENIAN CAPITAL LETTER SEH */
+#define XK_Armenian_se 0x100057d /* U+057D ARMENIAN SMALL LETTER SEH */
+#define XK_Armenian_VEV 0x100054e /* U+054E ARMENIAN CAPITAL LETTER VEW */
+#define XK_Armenian_vev 0x100057e /* U+057E ARMENIAN SMALL LETTER VEW */
+#define XK_Armenian_TYUN 0x100054f /* U+054F ARMENIAN CAPITAL LETTER TIWN */
+#define XK_Armenian_tyun 0x100057f /* U+057F ARMENIAN SMALL LETTER TIWN */
+#define XK_Armenian_RE 0x1000550 /* U+0550 ARMENIAN CAPITAL LETTER REH */
+#define XK_Armenian_re 0x1000580 /* U+0580 ARMENIAN SMALL LETTER REH */
+#define XK_Armenian_TSO 0x1000551 /* U+0551 ARMENIAN CAPITAL LETTER CO */
+#define XK_Armenian_tso 0x1000581 /* U+0581 ARMENIAN SMALL LETTER CO */
+#define XK_Armenian_VYUN 0x1000552 /* U+0552 ARMENIAN CAPITAL LETTER YIWN */
+#define XK_Armenian_vyun 0x1000582 /* U+0582 ARMENIAN SMALL LETTER YIWN */
+#define XK_Armenian_PYUR 0x1000553 /* U+0553 ARMENIAN CAPITAL LETTER PIWR */
+#define XK_Armenian_pyur 0x1000583 /* U+0583 ARMENIAN SMALL LETTER PIWR */
+#define XK_Armenian_KE 0x1000554 /* U+0554 ARMENIAN CAPITAL LETTER KEH */
+#define XK_Armenian_ke 0x1000584 /* U+0584 ARMENIAN SMALL LETTER KEH */
+#define XK_Armenian_O 0x1000555 /* U+0555 ARMENIAN CAPITAL LETTER OH */
+#define XK_Armenian_o 0x1000585 /* U+0585 ARMENIAN SMALL LETTER OH */
+#define XK_Armenian_FE 0x1000556 /* U+0556 ARMENIAN CAPITAL LETTER FEH */
+#define XK_Armenian_fe 0x1000586 /* U+0586 ARMENIAN SMALL LETTER FEH */
+#define XK_Armenian_apostrophe 0x100055a /* U+055A ARMENIAN APOSTROPHE */
+#endif /* XK_ARMENIAN */
+
+/*
+ * Georgian
+ */
+
+#ifdef XK_GEORGIAN
+#define XK_Georgian_an 0x10010d0 /* U+10D0 GEORGIAN LETTER AN */
+#define XK_Georgian_ban 0x10010d1 /* U+10D1 GEORGIAN LETTER BAN */
+#define XK_Georgian_gan 0x10010d2 /* U+10D2 GEORGIAN LETTER GAN */
+#define XK_Georgian_don 0x10010d3 /* U+10D3 GEORGIAN LETTER DON */
+#define XK_Georgian_en 0x10010d4 /* U+10D4 GEORGIAN LETTER EN */
+#define XK_Georgian_vin 0x10010d5 /* U+10D5 GEORGIAN LETTER VIN */
+#define XK_Georgian_zen 0x10010d6 /* U+10D6 GEORGIAN LETTER ZEN */
+#define XK_Georgian_tan 0x10010d7 /* U+10D7 GEORGIAN LETTER TAN */
+#define XK_Georgian_in 0x10010d8 /* U+10D8 GEORGIAN LETTER IN */
+#define XK_Georgian_kan 0x10010d9 /* U+10D9 GEORGIAN LETTER KAN */
+#define XK_Georgian_las 0x10010da /* U+10DA GEORGIAN LETTER LAS */
+#define XK_Georgian_man 0x10010db /* U+10DB GEORGIAN LETTER MAN */
+#define XK_Georgian_nar 0x10010dc /* U+10DC GEORGIAN LETTER NAR */
+#define XK_Georgian_on 0x10010dd /* U+10DD GEORGIAN LETTER ON */
+#define XK_Georgian_par 0x10010de /* U+10DE GEORGIAN LETTER PAR */
+#define XK_Georgian_zhar 0x10010df /* U+10DF GEORGIAN LETTER ZHAR */
+#define XK_Georgian_rae 0x10010e0 /* U+10E0 GEORGIAN LETTER RAE */
+#define XK_Georgian_san 0x10010e1 /* U+10E1 GEORGIAN LETTER SAN */
+#define XK_Georgian_tar 0x10010e2 /* U+10E2 GEORGIAN LETTER TAR */
+#define XK_Georgian_un 0x10010e3 /* U+10E3 GEORGIAN LETTER UN */
+#define XK_Georgian_phar 0x10010e4 /* U+10E4 GEORGIAN LETTER PHAR */
+#define XK_Georgian_khar 0x10010e5 /* U+10E5 GEORGIAN LETTER KHAR */
+#define XK_Georgian_ghan 0x10010e6 /* U+10E6 GEORGIAN LETTER GHAN */
+#define XK_Georgian_qar 0x10010e7 /* U+10E7 GEORGIAN LETTER QAR */
+#define XK_Georgian_shin 0x10010e8 /* U+10E8 GEORGIAN LETTER SHIN */
+#define XK_Georgian_chin 0x10010e9 /* U+10E9 GEORGIAN LETTER CHIN */
+#define XK_Georgian_can 0x10010ea /* U+10EA GEORGIAN LETTER CAN */
+#define XK_Georgian_jil 0x10010eb /* U+10EB GEORGIAN LETTER JIL */
+#define XK_Georgian_cil 0x10010ec /* U+10EC GEORGIAN LETTER CIL */
+#define XK_Georgian_char 0x10010ed /* U+10ED GEORGIAN LETTER CHAR */
+#define XK_Georgian_xan 0x10010ee /* U+10EE GEORGIAN LETTER XAN */
+#define XK_Georgian_jhan 0x10010ef /* U+10EF GEORGIAN LETTER JHAN */
+#define XK_Georgian_hae 0x10010f0 /* U+10F0 GEORGIAN LETTER HAE */
+#define XK_Georgian_he 0x10010f1 /* U+10F1 GEORGIAN LETTER HE */
+#define XK_Georgian_hie 0x10010f2 /* U+10F2 GEORGIAN LETTER HIE */
+#define XK_Georgian_we 0x10010f3 /* U+10F3 GEORGIAN LETTER WE */
+#define XK_Georgian_har 0x10010f4 /* U+10F4 GEORGIAN LETTER HAR */
+#define XK_Georgian_hoe 0x10010f5 /* U+10F5 GEORGIAN LETTER HOE */
+#define XK_Georgian_fi 0x10010f6 /* U+10F6 GEORGIAN LETTER FI */
+#endif /* XK_GEORGIAN */
+
+/*
+ * Azeri (and other Turkic or Caucasian languages)
+ */
+
+#ifdef XK_CAUCASUS
+/* latin */
+#define XK_Xabovedot 0x1001e8a /* U+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE */
+#define XK_Ibreve 0x100012c /* U+012C LATIN CAPITAL LETTER I WITH BREVE */
+#define XK_Zstroke 0x10001b5 /* U+01B5 LATIN CAPITAL LETTER Z WITH STROKE */
+#define XK_Gcaron 0x10001e6 /* U+01E6 LATIN CAPITAL LETTER G WITH CARON */
+#define XK_Ocaron 0x10001d1 /* U+01D1 LATIN CAPITAL LETTER O WITH CARON */
+#define XK_Obarred 0x100019f /* U+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE */
+#define XK_xabovedot 0x1001e8b /* U+1E8B LATIN SMALL LETTER X WITH DOT ABOVE */
+#define XK_ibreve 0x100012d /* U+012D LATIN SMALL LETTER I WITH BREVE */
+#define XK_zstroke 0x10001b6 /* U+01B6 LATIN SMALL LETTER Z WITH STROKE */
+#define XK_gcaron 0x10001e7 /* U+01E7 LATIN SMALL LETTER G WITH CARON */
+#define XK_ocaron 0x10001d2 /* U+01D2 LATIN SMALL LETTER O WITH CARON */
+#define XK_obarred 0x1000275 /* U+0275 LATIN SMALL LETTER BARRED O */
+#define XK_SCHWA 0x100018f /* U+018F LATIN CAPITAL LETTER SCHWA */
+#define XK_schwa 0x1000259 /* U+0259 LATIN SMALL LETTER SCHWA */
+#define XK_EZH 0x10001b7 /* U+01B7 LATIN CAPITAL LETTER EZH */
+#define XK_ezh 0x1000292 /* U+0292 LATIN SMALL LETTER EZH */
+/* those are not really Caucasus */
+/* For Inupiak */
+#define XK_Lbelowdot 0x1001e36 /* U+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW */
+#define XK_lbelowdot 0x1001e37 /* U+1E37 LATIN SMALL LETTER L WITH DOT BELOW */
+#endif /* XK_CAUCASUS */
+
+/*
+ * Vietnamese
+ */
+
+#ifdef XK_VIETNAMESE
+#define XK_Abelowdot 0x1001ea0 /* U+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW */
+#define XK_abelowdot 0x1001ea1 /* U+1EA1 LATIN SMALL LETTER A WITH DOT BELOW */
+#define XK_Ahook 0x1001ea2 /* U+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE */
+#define XK_ahook 0x1001ea3 /* U+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE */
+#define XK_Acircumflexacute 0x1001ea4 /* U+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE */
+#define XK_acircumflexacute 0x1001ea5 /* U+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE */
+#define XK_Acircumflexgrave 0x1001ea6 /* U+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE */
+#define XK_acircumflexgrave 0x1001ea7 /* U+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE */
+#define XK_Acircumflexhook 0x1001ea8 /* U+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_acircumflexhook 0x1001ea9 /* U+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Acircumflextilde 0x1001eaa /* U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE */
+#define XK_acircumflextilde 0x1001eab /* U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE */
+#define XK_Acircumflexbelowdot 0x1001eac /* U+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_acircumflexbelowdot 0x1001ead /* U+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Abreveacute 0x1001eae /* U+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE */
+#define XK_abreveacute 0x1001eaf /* U+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE */
+#define XK_Abrevegrave 0x1001eb0 /* U+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE */
+#define XK_abrevegrave 0x1001eb1 /* U+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE */
+#define XK_Abrevehook 0x1001eb2 /* U+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE */
+#define XK_abrevehook 0x1001eb3 /* U+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE */
+#define XK_Abrevetilde 0x1001eb4 /* U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE */
+#define XK_abrevetilde 0x1001eb5 /* U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE */
+#define XK_Abrevebelowdot 0x1001eb6 /* U+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */
+#define XK_abrevebelowdot 0x1001eb7 /* U+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */
+#define XK_Ebelowdot 0x1001eb8 /* U+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW */
+#define XK_ebelowdot 0x1001eb9 /* U+1EB9 LATIN SMALL LETTER E WITH DOT BELOW */
+#define XK_Ehook 0x1001eba /* U+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE */
+#define XK_ehook 0x1001ebb /* U+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE */
+#define XK_Etilde 0x1001ebc /* U+1EBC LATIN CAPITAL LETTER E WITH TILDE */
+#define XK_etilde 0x1001ebd /* U+1EBD LATIN SMALL LETTER E WITH TILDE */
+#define XK_Ecircumflexacute 0x1001ebe /* U+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */
+#define XK_ecircumflexacute 0x1001ebf /* U+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE */
+#define XK_Ecircumflexgrave 0x1001ec0 /* U+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE */
+#define XK_ecircumflexgrave 0x1001ec1 /* U+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE */
+#define XK_Ecircumflexhook 0x1001ec2 /* U+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_ecircumflexhook 0x1001ec3 /* U+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Ecircumflextilde 0x1001ec4 /* U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE */
+#define XK_ecircumflextilde 0x1001ec5 /* U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE */
+#define XK_Ecircumflexbelowdot 0x1001ec6 /* U+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_ecircumflexbelowdot 0x1001ec7 /* U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Ihook 0x1001ec8 /* U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE */
+#define XK_ihook 0x1001ec9 /* U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE */
+#define XK_Ibelowdot 0x1001eca /* U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW */
+#define XK_ibelowdot 0x1001ecb /* U+1ECB LATIN SMALL LETTER I WITH DOT BELOW */
+#define XK_Obelowdot 0x1001ecc /* U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW */
+#define XK_obelowdot 0x1001ecd /* U+1ECD LATIN SMALL LETTER O WITH DOT BELOW */
+#define XK_Ohook 0x1001ece /* U+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE */
+#define XK_ohook 0x1001ecf /* U+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE */
+#define XK_Ocircumflexacute 0x1001ed0 /* U+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE */
+#define XK_ocircumflexacute 0x1001ed1 /* U+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE */
+#define XK_Ocircumflexgrave 0x1001ed2 /* U+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE */
+#define XK_ocircumflexgrave 0x1001ed3 /* U+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE */
+#define XK_Ocircumflexhook 0x1001ed4 /* U+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_ocircumflexhook 0x1001ed5 /* U+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Ocircumflextilde 0x1001ed6 /* U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE */
+#define XK_ocircumflextilde 0x1001ed7 /* U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE */
+#define XK_Ocircumflexbelowdot 0x1001ed8 /* U+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_ocircumflexbelowdot 0x1001ed9 /* U+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Ohornacute 0x1001eda /* U+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE */
+#define XK_ohornacute 0x1001edb /* U+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE */
+#define XK_Ohorngrave 0x1001edc /* U+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE */
+#define XK_ohorngrave 0x1001edd /* U+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE */
+#define XK_Ohornhook 0x1001ede /* U+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE */
+#define XK_ohornhook 0x1001edf /* U+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE */
+#define XK_Ohorntilde 0x1001ee0 /* U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE */
+#define XK_ohorntilde 0x1001ee1 /* U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE */
+#define XK_Ohornbelowdot 0x1001ee2 /* U+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW */
+#define XK_ohornbelowdot 0x1001ee3 /* U+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW */
+#define XK_Ubelowdot 0x1001ee4 /* U+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW */
+#define XK_ubelowdot 0x1001ee5 /* U+1EE5 LATIN SMALL LETTER U WITH DOT BELOW */
+#define XK_Uhook 0x1001ee6 /* U+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE */
+#define XK_uhook 0x1001ee7 /* U+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE */
+#define XK_Uhornacute 0x1001ee8 /* U+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE */
+#define XK_uhornacute 0x1001ee9 /* U+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE */
+#define XK_Uhorngrave 0x1001eea /* U+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE */
+#define XK_uhorngrave 0x1001eeb /* U+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE */
+#define XK_Uhornhook 0x1001eec /* U+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE */
+#define XK_uhornhook 0x1001eed /* U+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE */
+#define XK_Uhorntilde 0x1001eee /* U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE */
+#define XK_uhorntilde 0x1001eef /* U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE */
+#define XK_Uhornbelowdot 0x1001ef0 /* U+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW */
+#define XK_uhornbelowdot 0x1001ef1 /* U+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW */
+#define XK_Ybelowdot 0x1001ef4 /* U+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW */
+#define XK_ybelowdot 0x1001ef5 /* U+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW */
+#define XK_Yhook 0x1001ef6 /* U+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE */
+#define XK_yhook 0x1001ef7 /* U+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE */
+#define XK_Ytilde 0x1001ef8 /* U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE */
+#define XK_ytilde 0x1001ef9 /* U+1EF9 LATIN SMALL LETTER Y WITH TILDE */
+#define XK_Ohorn 0x10001a0 /* U+01A0 LATIN CAPITAL LETTER O WITH HORN */
+#define XK_ohorn 0x10001a1 /* U+01A1 LATIN SMALL LETTER O WITH HORN */
+#define XK_Uhorn 0x10001af /* U+01AF LATIN CAPITAL LETTER U WITH HORN */
+#define XK_uhorn 0x10001b0 /* U+01B0 LATIN SMALL LETTER U WITH HORN */
+#define XK_combining_tilde 0x1000303 /* U+0303 COMBINING TILDE */
+#define XK_combining_grave 0x1000300 /* U+0300 COMBINING GRAVE ACCENT */
+#define XK_combining_acute 0x1000301 /* U+0301 COMBINING ACUTE ACCENT */
+#define XK_combining_hook 0x1000309 /* U+0309 COMBINING HOOK ABOVE */
+#define XK_combining_belowdot 0x1000323 /* U+0323 COMBINING DOT BELOW */
+
+#endif /* XK_VIETNAMESE */
+
#ifdef XK_CURRENCY
+#define XK_EcuSign 0x10020a0 /* U+20A0 EURO-CURRENCY SIGN */
+#define XK_ColonSign 0x10020a1 /* U+20A1 COLON SIGN */
+#define XK_CruzeiroSign 0x10020a2 /* U+20A2 CRUZEIRO SIGN */
+#define XK_FFrancSign 0x10020a3 /* U+20A3 FRENCH FRANC SIGN */
+#define XK_LiraSign 0x10020a4 /* U+20A4 LIRA SIGN */
+#define XK_MillSign 0x10020a5 /* U+20A5 MILL SIGN */
+#define XK_NairaSign 0x10020a6 /* U+20A6 NAIRA SIGN */
+#define XK_PesetaSign 0x10020a7 /* U+20A7 PESETA SIGN */
+#define XK_RupeeSign 0x10020a8 /* U+20A8 RUPEE SIGN */
+#define XK_WonSign 0x10020a9 /* U+20A9 WON SIGN */
+#define XK_NewSheqelSign 0x10020aa /* U+20AA NEW SHEQEL SIGN */
+#define XK_DongSign 0x10020ab /* U+20AB DONG SIGN */
#define XK_EuroSign 0x20ac /* U+20AC EURO SIGN */
#endif /* XK_CURRENCY */
+#ifdef XK_MATHEMATICAL
+/* one, two and three are defined above. */
+#define XK_zerosuperior 0x1002070 /* U+2070 SUPERSCRIPT ZERO */
+#define XK_foursuperior 0x1002074 /* U+2074 SUPERSCRIPT FOUR */
+#define XK_fivesuperior 0x1002075 /* U+2075 SUPERSCRIPT FIVE */
+#define XK_sixsuperior 0x1002076 /* U+2076 SUPERSCRIPT SIX */
+#define XK_sevensuperior 0x1002077 /* U+2077 SUPERSCRIPT SEVEN */
+#define XK_eightsuperior 0x1002078 /* U+2078 SUPERSCRIPT EIGHT */
+#define XK_ninesuperior 0x1002079 /* U+2079 SUPERSCRIPT NINE */
+#define XK_zerosubscript 0x1002080 /* U+2080 SUBSCRIPT ZERO */
+#define XK_onesubscript 0x1002081 /* U+2081 SUBSCRIPT ONE */
+#define XK_twosubscript 0x1002082 /* U+2082 SUBSCRIPT TWO */
+#define XK_threesubscript 0x1002083 /* U+2083 SUBSCRIPT THREE */
+#define XK_foursubscript 0x1002084 /* U+2084 SUBSCRIPT FOUR */
+#define XK_fivesubscript 0x1002085 /* U+2085 SUBSCRIPT FIVE */
+#define XK_sixsubscript 0x1002086 /* U+2086 SUBSCRIPT SIX */
+#define XK_sevensubscript 0x1002087 /* U+2087 SUBSCRIPT SEVEN */
+#define XK_eightsubscript 0x1002088 /* U+2088 SUBSCRIPT EIGHT */
+#define XK_ninesubscript 0x1002089 /* U+2089 SUBSCRIPT NINE */
+#define XK_partdifferential 0x1002202 /* U+2202 PARTIAL DIFFERENTIAL */
+#define XK_emptyset 0x1002205 /* U+2205 EMPTY SET */
+#define XK_elementof 0x1002208 /* U+2208 ELEMENT OF */
+#define XK_notelementof 0x1002209 /* U+2209 NOT AN ELEMENT OF */
+#define XK_containsas 0x100220b /* U+220B CONTAINS AS MEMBER */
+#define XK_squareroot 0x100221a /* U+221A SQUARE ROOT */
+#define XK_cuberoot 0x100221b /* U+221B CUBE ROOT */
+#define XK_fourthroot 0x100221c /* U+221C FOURTH ROOT */
+#define XK_dintegral 0x100222c /* U+222C DOUBLE INTEGRAL */
+#define XK_tintegral 0x100222d /* U+222D TRIPLE INTEGRAL */
+#define XK_because 0x1002235 /* U+2235 BECAUSE */
+#define XK_approxeq 0x1002248 /*(U+2248 ALMOST EQUAL TO)*/
+#define XK_notapproxeq 0x1002247 /*(U+2247 NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO)*/
+#define XK_notidentical 0x1002262 /* U+2262 NOT IDENTICAL TO */
+#define XK_stricteq 0x1002263 /* U+2263 STRICTLY EQUIVALENT TO */
+#endif /* XK_MATHEMATICAL */
+
#ifdef XK_BRAILLE
#define XK_braille_dot_1 0xfff1
#define XK_braille_dot_2 0xfff2
@@ -1731,4 +2237,348 @@ SOFTWARE.
#define XK_braille_dot_8 0xfff8
#define XK_braille_dot_9 0xfff9
#define XK_braille_dot_10 0xfffa
+#define XK_braille_blank 0x1002800 /* U+2800 BRAILLE PATTERN BLANK */
+#define XK_braille_dots_1 0x1002801 /* U+2801 BRAILLE PATTERN DOTS-1 */
+#define XK_braille_dots_2 0x1002802 /* U+2802 BRAILLE PATTERN DOTS-2 */
+#define XK_braille_dots_12 0x1002803 /* U+2803 BRAILLE PATTERN DOTS-12 */
+#define XK_braille_dots_3 0x1002804 /* U+2804 BRAILLE PATTERN DOTS-3 */
+#define XK_braille_dots_13 0x1002805 /* U+2805 BRAILLE PATTERN DOTS-13 */
+#define XK_braille_dots_23 0x1002806 /* U+2806 BRAILLE PATTERN DOTS-23 */
+#define XK_braille_dots_123 0x1002807 /* U+2807 BRAILLE PATTERN DOTS-123 */
+#define XK_braille_dots_4 0x1002808 /* U+2808 BRAILLE PATTERN DOTS-4 */
+#define XK_braille_dots_14 0x1002809 /* U+2809 BRAILLE PATTERN DOTS-14 */
+#define XK_braille_dots_24 0x100280a /* U+280A BRAILLE PATTERN DOTS-24 */
+#define XK_braille_dots_124 0x100280b /* U+280B BRAILLE PATTERN DOTS-124 */
+#define XK_braille_dots_34 0x100280c /* U+280C BRAILLE PATTERN DOTS-34 */
+#define XK_braille_dots_134 0x100280d /* U+280D BRAILLE PATTERN DOTS-134 */
+#define XK_braille_dots_234 0x100280e /* U+280E BRAILLE PATTERN DOTS-234 */
+#define XK_braille_dots_1234 0x100280f /* U+280F BRAILLE PATTERN DOTS-1234 */
+#define XK_braille_dots_5 0x1002810 /* U+2810 BRAILLE PATTERN DOTS-5 */
+#define XK_braille_dots_15 0x1002811 /* U+2811 BRAILLE PATTERN DOTS-15 */
+#define XK_braille_dots_25 0x1002812 /* U+2812 BRAILLE PATTERN DOTS-25 */
+#define XK_braille_dots_125 0x1002813 /* U+2813 BRAILLE PATTERN DOTS-125 */
+#define XK_braille_dots_35 0x1002814 /* U+2814 BRAILLE PATTERN DOTS-35 */
+#define XK_braille_dots_135 0x1002815 /* U+2815 BRAILLE PATTERN DOTS-135 */
+#define XK_braille_dots_235 0x1002816 /* U+2816 BRAILLE PATTERN DOTS-235 */
+#define XK_braille_dots_1235 0x1002817 /* U+2817 BRAILLE PATTERN DOTS-1235 */
+#define XK_braille_dots_45 0x1002818 /* U+2818 BRAILLE PATTERN DOTS-45 */
+#define XK_braille_dots_145 0x1002819 /* U+2819 BRAILLE PATTERN DOTS-145 */
+#define XK_braille_dots_245 0x100281a /* U+281A BRAILLE PATTERN DOTS-245 */
+#define XK_braille_dots_1245 0x100281b /* U+281B BRAILLE PATTERN DOTS-1245 */
+#define XK_braille_dots_345 0x100281c /* U+281C BRAILLE PATTERN DOTS-345 */
+#define XK_braille_dots_1345 0x100281d /* U+281D BRAILLE PATTERN DOTS-1345 */
+#define XK_braille_dots_2345 0x100281e /* U+281E BRAILLE PATTERN DOTS-2345 */
+#define XK_braille_dots_12345 0x100281f /* U+281F BRAILLE PATTERN DOTS-12345 */
+#define XK_braille_dots_6 0x1002820 /* U+2820 BRAILLE PATTERN DOTS-6 */
+#define XK_braille_dots_16 0x1002821 /* U+2821 BRAILLE PATTERN DOTS-16 */
+#define XK_braille_dots_26 0x1002822 /* U+2822 BRAILLE PATTERN DOTS-26 */
+#define XK_braille_dots_126 0x1002823 /* U+2823 BRAILLE PATTERN DOTS-126 */
+#define XK_braille_dots_36 0x1002824 /* U+2824 BRAILLE PATTERN DOTS-36 */
+#define XK_braille_dots_136 0x1002825 /* U+2825 BRAILLE PATTERN DOTS-136 */
+#define XK_braille_dots_236 0x1002826 /* U+2826 BRAILLE PATTERN DOTS-236 */
+#define XK_braille_dots_1236 0x1002827 /* U+2827 BRAILLE PATTERN DOTS-1236 */
+#define XK_braille_dots_46 0x1002828 /* U+2828 BRAILLE PATTERN DOTS-46 */
+#define XK_braille_dots_146 0x1002829 /* U+2829 BRAILLE PATTERN DOTS-146 */
+#define XK_braille_dots_246 0x100282a /* U+282A BRAILLE PATTERN DOTS-246 */
+#define XK_braille_dots_1246 0x100282b /* U+282B BRAILLE PATTERN DOTS-1246 */
+#define XK_braille_dots_346 0x100282c /* U+282C BRAILLE PATTERN DOTS-346 */
+#define XK_braille_dots_1346 0x100282d /* U+282D BRAILLE PATTERN DOTS-1346 */
+#define XK_braille_dots_2346 0x100282e /* U+282E BRAILLE PATTERN DOTS-2346 */
+#define XK_braille_dots_12346 0x100282f /* U+282F BRAILLE PATTERN DOTS-12346 */
+#define XK_braille_dots_56 0x1002830 /* U+2830 BRAILLE PATTERN DOTS-56 */
+#define XK_braille_dots_156 0x1002831 /* U+2831 BRAILLE PATTERN DOTS-156 */
+#define XK_braille_dots_256 0x1002832 /* U+2832 BRAILLE PATTERN DOTS-256 */
+#define XK_braille_dots_1256 0x1002833 /* U+2833 BRAILLE PATTERN DOTS-1256 */
+#define XK_braille_dots_356 0x1002834 /* U+2834 BRAILLE PATTERN DOTS-356 */
+#define XK_braille_dots_1356 0x1002835 /* U+2835 BRAILLE PATTERN DOTS-1356 */
+#define XK_braille_dots_2356 0x1002836 /* U+2836 BRAILLE PATTERN DOTS-2356 */
+#define XK_braille_dots_12356 0x1002837 /* U+2837 BRAILLE PATTERN DOTS-12356 */
+#define XK_braille_dots_456 0x1002838 /* U+2838 BRAILLE PATTERN DOTS-456 */
+#define XK_braille_dots_1456 0x1002839 /* U+2839 BRAILLE PATTERN DOTS-1456 */
+#define XK_braille_dots_2456 0x100283a /* U+283A BRAILLE PATTERN DOTS-2456 */
+#define XK_braille_dots_12456 0x100283b /* U+283B BRAILLE PATTERN DOTS-12456 */
+#define XK_braille_dots_3456 0x100283c /* U+283C BRAILLE PATTERN DOTS-3456 */
+#define XK_braille_dots_13456 0x100283d /* U+283D BRAILLE PATTERN DOTS-13456 */
+#define XK_braille_dots_23456 0x100283e /* U+283E BRAILLE PATTERN DOTS-23456 */
+#define XK_braille_dots_123456 0x100283f /* U+283F BRAILLE PATTERN DOTS-123456 */
+#define XK_braille_dots_7 0x1002840 /* U+2840 BRAILLE PATTERN DOTS-7 */
+#define XK_braille_dots_17 0x1002841 /* U+2841 BRAILLE PATTERN DOTS-17 */
+#define XK_braille_dots_27 0x1002842 /* U+2842 BRAILLE PATTERN DOTS-27 */
+#define XK_braille_dots_127 0x1002843 /* U+2843 BRAILLE PATTERN DOTS-127 */
+#define XK_braille_dots_37 0x1002844 /* U+2844 BRAILLE PATTERN DOTS-37 */
+#define XK_braille_dots_137 0x1002845 /* U+2845 BRAILLE PATTERN DOTS-137 */
+#define XK_braille_dots_237 0x1002846 /* U+2846 BRAILLE PATTERN DOTS-237 */
+#define XK_braille_dots_1237 0x1002847 /* U+2847 BRAILLE PATTERN DOTS-1237 */
+#define XK_braille_dots_47 0x1002848 /* U+2848 BRAILLE PATTERN DOTS-47 */
+#define XK_braille_dots_147 0x1002849 /* U+2849 BRAILLE PATTERN DOTS-147 */
+#define XK_braille_dots_247 0x100284a /* U+284A BRAILLE PATTERN DOTS-247 */
+#define XK_braille_dots_1247 0x100284b /* U+284B BRAILLE PATTERN DOTS-1247 */
+#define XK_braille_dots_347 0x100284c /* U+284C BRAILLE PATTERN DOTS-347 */
+#define XK_braille_dots_1347 0x100284d /* U+284D BRAILLE PATTERN DOTS-1347 */
+#define XK_braille_dots_2347 0x100284e /* U+284E BRAILLE PATTERN DOTS-2347 */
+#define XK_braille_dots_12347 0x100284f /* U+284F BRAILLE PATTERN DOTS-12347 */
+#define XK_braille_dots_57 0x1002850 /* U+2850 BRAILLE PATTERN DOTS-57 */
+#define XK_braille_dots_157 0x1002851 /* U+2851 BRAILLE PATTERN DOTS-157 */
+#define XK_braille_dots_257 0x1002852 /* U+2852 BRAILLE PATTERN DOTS-257 */
+#define XK_braille_dots_1257 0x1002853 /* U+2853 BRAILLE PATTERN DOTS-1257 */
+#define XK_braille_dots_357 0x1002854 /* U+2854 BRAILLE PATTERN DOTS-357 */
+#define XK_braille_dots_1357 0x1002855 /* U+2855 BRAILLE PATTERN DOTS-1357 */
+#define XK_braille_dots_2357 0x1002856 /* U+2856 BRAILLE PATTERN DOTS-2357 */
+#define XK_braille_dots_12357 0x1002857 /* U+2857 BRAILLE PATTERN DOTS-12357 */
+#define XK_braille_dots_457 0x1002858 /* U+2858 BRAILLE PATTERN DOTS-457 */
+#define XK_braille_dots_1457 0x1002859 /* U+2859 BRAILLE PATTERN DOTS-1457 */
+#define XK_braille_dots_2457 0x100285a /* U+285A BRAILLE PATTERN DOTS-2457 */
+#define XK_braille_dots_12457 0x100285b /* U+285B BRAILLE PATTERN DOTS-12457 */
+#define XK_braille_dots_3457 0x100285c /* U+285C BRAILLE PATTERN DOTS-3457 */
+#define XK_braille_dots_13457 0x100285d /* U+285D BRAILLE PATTERN DOTS-13457 */
+#define XK_braille_dots_23457 0x100285e /* U+285E BRAILLE PATTERN DOTS-23457 */
+#define XK_braille_dots_123457 0x100285f /* U+285F BRAILLE PATTERN DOTS-123457 */
+#define XK_braille_dots_67 0x1002860 /* U+2860 BRAILLE PATTERN DOTS-67 */
+#define XK_braille_dots_167 0x1002861 /* U+2861 BRAILLE PATTERN DOTS-167 */
+#define XK_braille_dots_267 0x1002862 /* U+2862 BRAILLE PATTERN DOTS-267 */
+#define XK_braille_dots_1267 0x1002863 /* U+2863 BRAILLE PATTERN DOTS-1267 */
+#define XK_braille_dots_367 0x1002864 /* U+2864 BRAILLE PATTERN DOTS-367 */
+#define XK_braille_dots_1367 0x1002865 /* U+2865 BRAILLE PATTERN DOTS-1367 */
+#define XK_braille_dots_2367 0x1002866 /* U+2866 BRAILLE PATTERN DOTS-2367 */
+#define XK_braille_dots_12367 0x1002867 /* U+2867 BRAILLE PATTERN DOTS-12367 */
+#define XK_braille_dots_467 0x1002868 /* U+2868 BRAILLE PATTERN DOTS-467 */
+#define XK_braille_dots_1467 0x1002869 /* U+2869 BRAILLE PATTERN DOTS-1467 */
+#define XK_braille_dots_2467 0x100286a /* U+286A BRAILLE PATTERN DOTS-2467 */
+#define XK_braille_dots_12467 0x100286b /* U+286B BRAILLE PATTERN DOTS-12467 */
+#define XK_braille_dots_3467 0x100286c /* U+286C BRAILLE PATTERN DOTS-3467 */
+#define XK_braille_dots_13467 0x100286d /* U+286D BRAILLE PATTERN DOTS-13467 */
+#define XK_braille_dots_23467 0x100286e /* U+286E BRAILLE PATTERN DOTS-23467 */
+#define XK_braille_dots_123467 0x100286f /* U+286F BRAILLE PATTERN DOTS-123467 */
+#define XK_braille_dots_567 0x1002870 /* U+2870 BRAILLE PATTERN DOTS-567 */
+#define XK_braille_dots_1567 0x1002871 /* U+2871 BRAILLE PATTERN DOTS-1567 */
+#define XK_braille_dots_2567 0x1002872 /* U+2872 BRAILLE PATTERN DOTS-2567 */
+#define XK_braille_dots_12567 0x1002873 /* U+2873 BRAILLE PATTERN DOTS-12567 */
+#define XK_braille_dots_3567 0x1002874 /* U+2874 BRAILLE PATTERN DOTS-3567 */
+#define XK_braille_dots_13567 0x1002875 /* U+2875 BRAILLE PATTERN DOTS-13567 */
+#define XK_braille_dots_23567 0x1002876 /* U+2876 BRAILLE PATTERN DOTS-23567 */
+#define XK_braille_dots_123567 0x1002877 /* U+2877 BRAILLE PATTERN DOTS-123567 */
+#define XK_braille_dots_4567 0x1002878 /* U+2878 BRAILLE PATTERN DOTS-4567 */
+#define XK_braille_dots_14567 0x1002879 /* U+2879 BRAILLE PATTERN DOTS-14567 */
+#define XK_braille_dots_24567 0x100287a /* U+287A BRAILLE PATTERN DOTS-24567 */
+#define XK_braille_dots_124567 0x100287b /* U+287B BRAILLE PATTERN DOTS-124567 */
+#define XK_braille_dots_34567 0x100287c /* U+287C BRAILLE PATTERN DOTS-34567 */
+#define XK_braille_dots_134567 0x100287d /* U+287D BRAILLE PATTERN DOTS-134567 */
+#define XK_braille_dots_234567 0x100287e /* U+287E BRAILLE PATTERN DOTS-234567 */
+#define XK_braille_dots_1234567 0x100287f /* U+287F BRAILLE PATTERN DOTS-1234567 */
+#define XK_braille_dots_8 0x1002880 /* U+2880 BRAILLE PATTERN DOTS-8 */
+#define XK_braille_dots_18 0x1002881 /* U+2881 BRAILLE PATTERN DOTS-18 */
+#define XK_braille_dots_28 0x1002882 /* U+2882 BRAILLE PATTERN DOTS-28 */
+#define XK_braille_dots_128 0x1002883 /* U+2883 BRAILLE PATTERN DOTS-128 */
+#define XK_braille_dots_38 0x1002884 /* U+2884 BRAILLE PATTERN DOTS-38 */
+#define XK_braille_dots_138 0x1002885 /* U+2885 BRAILLE PATTERN DOTS-138 */
+#define XK_braille_dots_238 0x1002886 /* U+2886 BRAILLE PATTERN DOTS-238 */
+#define XK_braille_dots_1238 0x1002887 /* U+2887 BRAILLE PATTERN DOTS-1238 */
+#define XK_braille_dots_48 0x1002888 /* U+2888 BRAILLE PATTERN DOTS-48 */
+#define XK_braille_dots_148 0x1002889 /* U+2889 BRAILLE PATTERN DOTS-148 */
+#define XK_braille_dots_248 0x100288a /* U+288A BRAILLE PATTERN DOTS-248 */
+#define XK_braille_dots_1248 0x100288b /* U+288B BRAILLE PATTERN DOTS-1248 */
+#define XK_braille_dots_348 0x100288c /* U+288C BRAILLE PATTERN DOTS-348 */
+#define XK_braille_dots_1348 0x100288d /* U+288D BRAILLE PATTERN DOTS-1348 */
+#define XK_braille_dots_2348 0x100288e /* U+288E BRAILLE PATTERN DOTS-2348 */
+#define XK_braille_dots_12348 0x100288f /* U+288F BRAILLE PATTERN DOTS-12348 */
+#define XK_braille_dots_58 0x1002890 /* U+2890 BRAILLE PATTERN DOTS-58 */
+#define XK_braille_dots_158 0x1002891 /* U+2891 BRAILLE PATTERN DOTS-158 */
+#define XK_braille_dots_258 0x1002892 /* U+2892 BRAILLE PATTERN DOTS-258 */
+#define XK_braille_dots_1258 0x1002893 /* U+2893 BRAILLE PATTERN DOTS-1258 */
+#define XK_braille_dots_358 0x1002894 /* U+2894 BRAILLE PATTERN DOTS-358 */
+#define XK_braille_dots_1358 0x1002895 /* U+2895 BRAILLE PATTERN DOTS-1358 */
+#define XK_braille_dots_2358 0x1002896 /* U+2896 BRAILLE PATTERN DOTS-2358 */
+#define XK_braille_dots_12358 0x1002897 /* U+2897 BRAILLE PATTERN DOTS-12358 */
+#define XK_braille_dots_458 0x1002898 /* U+2898 BRAILLE PATTERN DOTS-458 */
+#define XK_braille_dots_1458 0x1002899 /* U+2899 BRAILLE PATTERN DOTS-1458 */
+#define XK_braille_dots_2458 0x100289a /* U+289A BRAILLE PATTERN DOTS-2458 */
+#define XK_braille_dots_12458 0x100289b /* U+289B BRAILLE PATTERN DOTS-12458 */
+#define XK_braille_dots_3458 0x100289c /* U+289C BRAILLE PATTERN DOTS-3458 */
+#define XK_braille_dots_13458 0x100289d /* U+289D BRAILLE PATTERN DOTS-13458 */
+#define XK_braille_dots_23458 0x100289e /* U+289E BRAILLE PATTERN DOTS-23458 */
+#define XK_braille_dots_123458 0x100289f /* U+289F BRAILLE PATTERN DOTS-123458 */
+#define XK_braille_dots_68 0x10028a0 /* U+28A0 BRAILLE PATTERN DOTS-68 */
+#define XK_braille_dots_168 0x10028a1 /* U+28A1 BRAILLE PATTERN DOTS-168 */
+#define XK_braille_dots_268 0x10028a2 /* U+28A2 BRAILLE PATTERN DOTS-268 */
+#define XK_braille_dots_1268 0x10028a3 /* U+28A3 BRAILLE PATTERN DOTS-1268 */
+#define XK_braille_dots_368 0x10028a4 /* U+28A4 BRAILLE PATTERN DOTS-368 */
+#define XK_braille_dots_1368 0x10028a5 /* U+28A5 BRAILLE PATTERN DOTS-1368 */
+#define XK_braille_dots_2368 0x10028a6 /* U+28A6 BRAILLE PATTERN DOTS-2368 */
+#define XK_braille_dots_12368 0x10028a7 /* U+28A7 BRAILLE PATTERN DOTS-12368 */
+#define XK_braille_dots_468 0x10028a8 /* U+28A8 BRAILLE PATTERN DOTS-468 */
+#define XK_braille_dots_1468 0x10028a9 /* U+28A9 BRAILLE PATTERN DOTS-1468 */
+#define XK_braille_dots_2468 0x10028aa /* U+28AA BRAILLE PATTERN DOTS-2468 */
+#define XK_braille_dots_12468 0x10028ab /* U+28AB BRAILLE PATTERN DOTS-12468 */
+#define XK_braille_dots_3468 0x10028ac /* U+28AC BRAILLE PATTERN DOTS-3468 */
+#define XK_braille_dots_13468 0x10028ad /* U+28AD BRAILLE PATTERN DOTS-13468 */
+#define XK_braille_dots_23468 0x10028ae /* U+28AE BRAILLE PATTERN DOTS-23468 */
+#define XK_braille_dots_123468 0x10028af /* U+28AF BRAILLE PATTERN DOTS-123468 */
+#define XK_braille_dots_568 0x10028b0 /* U+28B0 BRAILLE PATTERN DOTS-568 */
+#define XK_braille_dots_1568 0x10028b1 /* U+28B1 BRAILLE PATTERN DOTS-1568 */
+#define XK_braille_dots_2568 0x10028b2 /* U+28B2 BRAILLE PATTERN DOTS-2568 */
+#define XK_braille_dots_12568 0x10028b3 /* U+28B3 BRAILLE PATTERN DOTS-12568 */
+#define XK_braille_dots_3568 0x10028b4 /* U+28B4 BRAILLE PATTERN DOTS-3568 */
+#define XK_braille_dots_13568 0x10028b5 /* U+28B5 BRAILLE PATTERN DOTS-13568 */
+#define XK_braille_dots_23568 0x10028b6 /* U+28B6 BRAILLE PATTERN DOTS-23568 */
+#define XK_braille_dots_123568 0x10028b7 /* U+28B7 BRAILLE PATTERN DOTS-123568 */
+#define XK_braille_dots_4568 0x10028b8 /* U+28B8 BRAILLE PATTERN DOTS-4568 */
+#define XK_braille_dots_14568 0x10028b9 /* U+28B9 BRAILLE PATTERN DOTS-14568 */
+#define XK_braille_dots_24568 0x10028ba /* U+28BA BRAILLE PATTERN DOTS-24568 */
+#define XK_braille_dots_124568 0x10028bb /* U+28BB BRAILLE PATTERN DOTS-124568 */
+#define XK_braille_dots_34568 0x10028bc /* U+28BC BRAILLE PATTERN DOTS-34568 */
+#define XK_braille_dots_134568 0x10028bd /* U+28BD BRAILLE PATTERN DOTS-134568 */
+#define XK_braille_dots_234568 0x10028be /* U+28BE BRAILLE PATTERN DOTS-234568 */
+#define XK_braille_dots_1234568 0x10028bf /* U+28BF BRAILLE PATTERN DOTS-1234568 */
+#define XK_braille_dots_78 0x10028c0 /* U+28C0 BRAILLE PATTERN DOTS-78 */
+#define XK_braille_dots_178 0x10028c1 /* U+28C1 BRAILLE PATTERN DOTS-178 */
+#define XK_braille_dots_278 0x10028c2 /* U+28C2 BRAILLE PATTERN DOTS-278 */
+#define XK_braille_dots_1278 0x10028c3 /* U+28C3 BRAILLE PATTERN DOTS-1278 */
+#define XK_braille_dots_378 0x10028c4 /* U+28C4 BRAILLE PATTERN DOTS-378 */
+#define XK_braille_dots_1378 0x10028c5 /* U+28C5 BRAILLE PATTERN DOTS-1378 */
+#define XK_braille_dots_2378 0x10028c6 /* U+28C6 BRAILLE PATTERN DOTS-2378 */
+#define XK_braille_dots_12378 0x10028c7 /* U+28C7 BRAILLE PATTERN DOTS-12378 */
+#define XK_braille_dots_478 0x10028c8 /* U+28C8 BRAILLE PATTERN DOTS-478 */
+#define XK_braille_dots_1478 0x10028c9 /* U+28C9 BRAILLE PATTERN DOTS-1478 */
+#define XK_braille_dots_2478 0x10028ca /* U+28CA BRAILLE PATTERN DOTS-2478 */
+#define XK_braille_dots_12478 0x10028cb /* U+28CB BRAILLE PATTERN DOTS-12478 */
+#define XK_braille_dots_3478 0x10028cc /* U+28CC BRAILLE PATTERN DOTS-3478 */
+#define XK_braille_dots_13478 0x10028cd /* U+28CD BRAILLE PATTERN DOTS-13478 */
+#define XK_braille_dots_23478 0x10028ce /* U+28CE BRAILLE PATTERN DOTS-23478 */
+#define XK_braille_dots_123478 0x10028cf /* U+28CF BRAILLE PATTERN DOTS-123478 */
+#define XK_braille_dots_578 0x10028d0 /* U+28D0 BRAILLE PATTERN DOTS-578 */
+#define XK_braille_dots_1578 0x10028d1 /* U+28D1 BRAILLE PATTERN DOTS-1578 */
+#define XK_braille_dots_2578 0x10028d2 /* U+28D2 BRAILLE PATTERN DOTS-2578 */
+#define XK_braille_dots_12578 0x10028d3 /* U+28D3 BRAILLE PATTERN DOTS-12578 */
+#define XK_braille_dots_3578 0x10028d4 /* U+28D4 BRAILLE PATTERN DOTS-3578 */
+#define XK_braille_dots_13578 0x10028d5 /* U+28D5 BRAILLE PATTERN DOTS-13578 */
+#define XK_braille_dots_23578 0x10028d6 /* U+28D6 BRAILLE PATTERN DOTS-23578 */
+#define XK_braille_dots_123578 0x10028d7 /* U+28D7 BRAILLE PATTERN DOTS-123578 */
+#define XK_braille_dots_4578 0x10028d8 /* U+28D8 BRAILLE PATTERN DOTS-4578 */
+#define XK_braille_dots_14578 0x10028d9 /* U+28D9 BRAILLE PATTERN DOTS-14578 */
+#define XK_braille_dots_24578 0x10028da /* U+28DA BRAILLE PATTERN DOTS-24578 */
+#define XK_braille_dots_124578 0x10028db /* U+28DB BRAILLE PATTERN DOTS-124578 */
+#define XK_braille_dots_34578 0x10028dc /* U+28DC BRAILLE PATTERN DOTS-34578 */
+#define XK_braille_dots_134578 0x10028dd /* U+28DD BRAILLE PATTERN DOTS-134578 */
+#define XK_braille_dots_234578 0x10028de /* U+28DE BRAILLE PATTERN DOTS-234578 */
+#define XK_braille_dots_1234578 0x10028df /* U+28DF BRAILLE PATTERN DOTS-1234578 */
+#define XK_braille_dots_678 0x10028e0 /* U+28E0 BRAILLE PATTERN DOTS-678 */
+#define XK_braille_dots_1678 0x10028e1 /* U+28E1 BRAILLE PATTERN DOTS-1678 */
+#define XK_braille_dots_2678 0x10028e2 /* U+28E2 BRAILLE PATTERN DOTS-2678 */
+#define XK_braille_dots_12678 0x10028e3 /* U+28E3 BRAILLE PATTERN DOTS-12678 */
+#define XK_braille_dots_3678 0x10028e4 /* U+28E4 BRAILLE PATTERN DOTS-3678 */
+#define XK_braille_dots_13678 0x10028e5 /* U+28E5 BRAILLE PATTERN DOTS-13678 */
+#define XK_braille_dots_23678 0x10028e6 /* U+28E6 BRAILLE PATTERN DOTS-23678 */
+#define XK_braille_dots_123678 0x10028e7 /* U+28E7 BRAILLE PATTERN DOTS-123678 */
+#define XK_braille_dots_4678 0x10028e8 /* U+28E8 BRAILLE PATTERN DOTS-4678 */
+#define XK_braille_dots_14678 0x10028e9 /* U+28E9 BRAILLE PATTERN DOTS-14678 */
+#define XK_braille_dots_24678 0x10028ea /* U+28EA BRAILLE PATTERN DOTS-24678 */
+#define XK_braille_dots_124678 0x10028eb /* U+28EB BRAILLE PATTERN DOTS-124678 */
+#define XK_braille_dots_34678 0x10028ec /* U+28EC BRAILLE PATTERN DOTS-34678 */
+#define XK_braille_dots_134678 0x10028ed /* U+28ED BRAILLE PATTERN DOTS-134678 */
+#define XK_braille_dots_234678 0x10028ee /* U+28EE BRAILLE PATTERN DOTS-234678 */
+#define XK_braille_dots_1234678 0x10028ef /* U+28EF BRAILLE PATTERN DOTS-1234678 */
+#define XK_braille_dots_5678 0x10028f0 /* U+28F0 BRAILLE PATTERN DOTS-5678 */
+#define XK_braille_dots_15678 0x10028f1 /* U+28F1 BRAILLE PATTERN DOTS-15678 */
+#define XK_braille_dots_25678 0x10028f2 /* U+28F2 BRAILLE PATTERN DOTS-25678 */
+#define XK_braille_dots_125678 0x10028f3 /* U+28F3 BRAILLE PATTERN DOTS-125678 */
+#define XK_braille_dots_35678 0x10028f4 /* U+28F4 BRAILLE PATTERN DOTS-35678 */
+#define XK_braille_dots_135678 0x10028f5 /* U+28F5 BRAILLE PATTERN DOTS-135678 */
+#define XK_braille_dots_235678 0x10028f6 /* U+28F6 BRAILLE PATTERN DOTS-235678 */
+#define XK_braille_dots_1235678 0x10028f7 /* U+28F7 BRAILLE PATTERN DOTS-1235678 */
+#define XK_braille_dots_45678 0x10028f8 /* U+28F8 BRAILLE PATTERN DOTS-45678 */
+#define XK_braille_dots_145678 0x10028f9 /* U+28F9 BRAILLE PATTERN DOTS-145678 */
+#define XK_braille_dots_245678 0x10028fa /* U+28FA BRAILLE PATTERN DOTS-245678 */
+#define XK_braille_dots_1245678 0x10028fb /* U+28FB BRAILLE PATTERN DOTS-1245678 */
+#define XK_braille_dots_345678 0x10028fc /* U+28FC BRAILLE PATTERN DOTS-345678 */
+#define XK_braille_dots_1345678 0x10028fd /* U+28FD BRAILLE PATTERN DOTS-1345678 */
+#define XK_braille_dots_2345678 0x10028fe /* U+28FE BRAILLE PATTERN DOTS-2345678 */
+#define XK_braille_dots_12345678 0x10028ff /* U+28FF BRAILLE PATTERN 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 0x1000d82 /* U+0D82 SINHALA SIGN ANUSVARAYA */
+#define XK_Sinh_h2 0x1000d83 /* U+0D83 SINHALA SIGN VISARGAYA */
+#define XK_Sinh_a 0x1000d85 /* U+0D85 SINHALA LETTER AYANNA */
+#define XK_Sinh_aa 0x1000d86 /* U+0D86 SINHALA LETTER AAYANNA */
+#define XK_Sinh_ae 0x1000d87 /* U+0D87 SINHALA LETTER AEYANNA */
+#define XK_Sinh_aee 0x1000d88 /* U+0D88 SINHALA LETTER AEEYANNA */
+#define XK_Sinh_i 0x1000d89 /* U+0D89 SINHALA LETTER IYANNA */
+#define XK_Sinh_ii 0x1000d8a /* U+0D8A SINHALA LETTER IIYANNA */
+#define XK_Sinh_u 0x1000d8b /* U+0D8B SINHALA LETTER UYANNA */
+#define XK_Sinh_uu 0x1000d8c /* U+0D8C SINHALA LETTER UUYANNA */
+#define XK_Sinh_ri 0x1000d8d /* U+0D8D SINHALA LETTER IRUYANNA */
+#define XK_Sinh_rii 0x1000d8e /* U+0D8E SINHALA LETTER IRUUYANNA */
+#define XK_Sinh_lu 0x1000d8f /* U+0D8F SINHALA LETTER ILUYANNA */
+#define XK_Sinh_luu 0x1000d90 /* U+0D90 SINHALA LETTER ILUUYANNA */
+#define XK_Sinh_e 0x1000d91 /* U+0D91 SINHALA LETTER EYANNA */
+#define XK_Sinh_ee 0x1000d92 /* U+0D92 SINHALA LETTER EEYANNA */
+#define XK_Sinh_ai 0x1000d93 /* U+0D93 SINHALA LETTER AIYANNA */
+#define XK_Sinh_o 0x1000d94 /* U+0D94 SINHALA LETTER OYANNA */
+#define XK_Sinh_oo 0x1000d95 /* U+0D95 SINHALA LETTER OOYANNA */
+#define XK_Sinh_au 0x1000d96 /* U+0D96 SINHALA LETTER AUYANNA */
+#define XK_Sinh_ka 0x1000d9a /* U+0D9A SINHALA LETTER ALPAPRAANA KAYANNA */
+#define XK_Sinh_kha 0x1000d9b /* U+0D9B SINHALA LETTER MAHAAPRAANA KAYANNA */
+#define XK_Sinh_ga 0x1000d9c /* U+0D9C SINHALA LETTER ALPAPRAANA GAYANNA */
+#define XK_Sinh_gha 0x1000d9d /* U+0D9D SINHALA LETTER MAHAAPRAANA GAYANNA */
+#define XK_Sinh_ng2 0x1000d9e /* U+0D9E SINHALA LETTER KANTAJA NAASIKYAYA */
+#define XK_Sinh_nga 0x1000d9f /* U+0D9F SINHALA LETTER SANYAKA GAYANNA */
+#define XK_Sinh_ca 0x1000da0 /* U+0DA0 SINHALA LETTER ALPAPRAANA CAYANNA */
+#define XK_Sinh_cha 0x1000da1 /* U+0DA1 SINHALA LETTER MAHAAPRAANA CAYANNA */
+#define XK_Sinh_ja 0x1000da2 /* U+0DA2 SINHALA LETTER ALPAPRAANA JAYANNA */
+#define XK_Sinh_jha 0x1000da3 /* U+0DA3 SINHALA LETTER MAHAAPRAANA JAYANNA */
+#define XK_Sinh_nya 0x1000da4 /* U+0DA4 SINHALA LETTER TAALUJA NAASIKYAYA */
+#define XK_Sinh_jnya 0x1000da5 /* U+0DA5 SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA */
+#define XK_Sinh_nja 0x1000da6 /* U+0DA6 SINHALA LETTER SANYAKA JAYANNA */
+#define XK_Sinh_tta 0x1000da7 /* U+0DA7 SINHALA LETTER ALPAPRAANA TTAYANNA */
+#define XK_Sinh_ttha 0x1000da8 /* U+0DA8 SINHALA LETTER MAHAAPRAANA TTAYANNA */
+#define XK_Sinh_dda 0x1000da9 /* U+0DA9 SINHALA LETTER ALPAPRAANA DDAYANNA */
+#define XK_Sinh_ddha 0x1000daa /* U+0DAA SINHALA LETTER MAHAAPRAANA DDAYANNA */
+#define XK_Sinh_nna 0x1000dab /* U+0DAB SINHALA LETTER MUURDHAJA NAYANNA */
+#define XK_Sinh_ndda 0x1000dac /* U+0DAC SINHALA LETTER SANYAKA DDAYANNA */
+#define XK_Sinh_tha 0x1000dad /* U+0DAD SINHALA LETTER ALPAPRAANA TAYANNA */
+#define XK_Sinh_thha 0x1000dae /* U+0DAE SINHALA LETTER MAHAAPRAANA TAYANNA */
+#define XK_Sinh_dha 0x1000daf /* U+0DAF SINHALA LETTER ALPAPRAANA DAYANNA */
+#define XK_Sinh_dhha 0x1000db0 /* U+0DB0 SINHALA LETTER MAHAAPRAANA DAYANNA */
+#define XK_Sinh_na 0x1000db1 /* U+0DB1 SINHALA LETTER DANTAJA NAYANNA */
+#define XK_Sinh_ndha 0x1000db3 /* U+0DB3 SINHALA LETTER SANYAKA DAYANNA */
+#define XK_Sinh_pa 0x1000db4 /* U+0DB4 SINHALA LETTER ALPAPRAANA PAYANNA */
+#define XK_Sinh_pha 0x1000db5 /* U+0DB5 SINHALA LETTER MAHAAPRAANA PAYANNA */
+#define XK_Sinh_ba 0x1000db6 /* U+0DB6 SINHALA LETTER ALPAPRAANA BAYANNA */
+#define XK_Sinh_bha 0x1000db7 /* U+0DB7 SINHALA LETTER MAHAAPRAANA BAYANNA */
+#define XK_Sinh_ma 0x1000db8 /* U+0DB8 SINHALA LETTER MAYANNA */
+#define XK_Sinh_mba 0x1000db9 /* U+0DB9 SINHALA LETTER AMBA BAYANNA */
+#define XK_Sinh_ya 0x1000dba /* U+0DBA SINHALA LETTER YAYANNA */
+#define XK_Sinh_ra 0x1000dbb /* U+0DBB SINHALA LETTER RAYANNA */
+#define XK_Sinh_la 0x1000dbd /* U+0DBD SINHALA LETTER DANTAJA LAYANNA */
+#define XK_Sinh_va 0x1000dc0 /* U+0DC0 SINHALA LETTER VAYANNA */
+#define XK_Sinh_sha 0x1000dc1 /* U+0DC1 SINHALA LETTER TAALUJA SAYANNA */
+#define XK_Sinh_ssha 0x1000dc2 /* U+0DC2 SINHALA LETTER MUURDHAJA SAYANNA */
+#define XK_Sinh_sa 0x1000dc3 /* U+0DC3 SINHALA LETTER DANTAJA SAYANNA */
+#define XK_Sinh_ha 0x1000dc4 /* U+0DC4 SINHALA LETTER HAYANNA */
+#define XK_Sinh_lla 0x1000dc5 /* U+0DC5 SINHALA LETTER MUURDHAJA LAYANNA */
+#define XK_Sinh_fa 0x1000dc6 /* U+0DC6 SINHALA LETTER FAYANNA */
+#define XK_Sinh_al 0x1000dca /* U+0DCA SINHALA SIGN AL-LAKUNA */
+#define XK_Sinh_aa2 0x1000dcf /* U+0DCF SINHALA VOWEL SIGN AELA-PILLA */
+#define XK_Sinh_ae2 0x1000dd0 /* U+0DD0 SINHALA VOWEL SIGN KETTI AEDA-PILLA */
+#define XK_Sinh_aee2 0x1000dd1 /* U+0DD1 SINHALA VOWEL SIGN DIGA AEDA-PILLA */
+#define XK_Sinh_i2 0x1000dd2 /* U+0DD2 SINHALA VOWEL SIGN KETTI IS-PILLA */
+#define XK_Sinh_ii2 0x1000dd3 /* U+0DD3 SINHALA VOWEL SIGN DIGA IS-PILLA */
+#define XK_Sinh_u2 0x1000dd4 /* U+0DD4 SINHALA VOWEL SIGN KETTI PAA-PILLA */
+#define XK_Sinh_uu2 0x1000dd6 /* U+0DD6 SINHALA VOWEL SIGN DIGA PAA-PILLA */
+#define XK_Sinh_ru2 0x1000dd8 /* U+0DD8 SINHALA VOWEL SIGN GAETTA-PILLA */
+#define XK_Sinh_e2 0x1000dd9 /* U+0DD9 SINHALA VOWEL SIGN KOMBUVA */
+#define XK_Sinh_ee2 0x1000dda /* U+0DDA SINHALA VOWEL SIGN DIGA KOMBUVA */
+#define XK_Sinh_ai2 0x1000ddb /* U+0DDB SINHALA VOWEL SIGN KOMBU DEKA */
+#define XK_Sinh_o2 0x1000ddc /* U+0DDC SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA */
+#define XK_Sinh_oo2 0x1000ddd /* U+0DDD SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA */
+#define XK_Sinh_au2 0x1000dde /* U+0DDE SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA */
+#define XK_Sinh_lu2 0x1000ddf /* U+0DDF SINHALA VOWEL SIGN GAYANUKITTA */
+#define XK_Sinh_ruu2 0x1000df2 /* U+0DF2 SINHALA VOWEL SIGN DIGA GAETTA-PILLA */
+#define XK_Sinh_luu2 0x1000df3 /* U+0DF3 SINHALA VOWEL SIGN DIGA GAYANUKITTA */
+#define XK_Sinh_kunddaliya 0x1000df4 /* U+0DF4 SINHALA PUNCTUATION KUNDDALIYA */
+#endif /* XK_SINHALA */