xorgproto: Branch 'master' - 3 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Sep 27 23:09:34 UTC 2023


 include/X11/DECkeysym.h     |   16 
 include/X11/HPkeysym.h      |  172 ++++-----
 include/X11/Sunkeysym.h     |   66 +--
 include/X11/XF86keysym.h    |  758 ++++++++++++++++++++++----------------------
 include/X11/keysymdef.h     |  637 ++++++++++++++++++------------------
 scripts/keysym-generator.py |   38 +-
 6 files changed, 852 insertions(+), 835 deletions(-)

New commits:
commit df4d063b74b504117f8a180c6f260d27db99c6c4
Author: Pierre Le Marre <dev at wismill.eu>
Date:   Thu Jul 20 16:54:29 2023 +0200

    keysyms headers: Make some aliases explicit
    
    Mark some alias deprecated, as per keysymdef.h rules.
    
    Notable changes:
    - HP deprecated aliases.
    - Ooblique, ooblique: deprecated in favor more explicit names.
    - Arabic_farsi_yeh: deprecated, could induce in error with Arabic_yeh.
    - Greek_LAMBDA, Greek_lambda: non deprecated aliases, as there seem to
      be not common agreeement between standard and literature.
    - Armenian_verjaket, Armenian_but, Armenian_yentamna, Armenian_amanak,
      Armenian_shesht, Armenian_paruyk: deprecated in favor of the Unicode
      name. Currently not used in xkeyboard-config.

diff --git a/include/X11/HPkeysym.h b/include/X11/HPkeysym.h
index 9d35f5d..5585dc4 100644
--- a/include/X11/HPkeysym.h
+++ b/include/X11/HPkeysym.h
@@ -79,7 +79,7 @@ performance, or use of this material.
 #define hpXK_lira                    0x100000af
 #define hpXK_guilder                 0x100000be
 #define hpXK_Ydiaeresis              0x100000ee
-#define hpXK_IO                      0x100000ee
+#define hpXK_IO                      0x100000ee  /* deprecated alias for hpYdiaeresis */
 #define hpXK_longminus               0x100000f6
 #define hpXK_block                   0x100000fc
 
@@ -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/include/X11/keysymdef.h b/include/X11/keysymdef.h
index 4e9719a..eef28fc 100644
--- a/include/X11/keysymdef.h
+++ b/include/X11/keysymdef.h
@@ -191,9 +191,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 */
 
@@ -230,9 +230,9 @@ 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
@@ -276,55 +276,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 */
 
@@ -713,7 +713,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 */
@@ -747,7 +747,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 */
@@ -1111,7 +1111,7 @@ SOFTWARE.
 #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  /* 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  /* Alias for Mode_switch */
@@ -1306,7 +1306,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  /* 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 */
@@ -1331,7 +1331,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  /* 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 */
@@ -1839,17 +1839,17 @@ SOFTWARE.
 #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  /* 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  /* 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  /* 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  /* 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  /* 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  /* 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 */
commit f43c0b7e5dbdc1357b0bc2ad377d23c74195f11c
Author: Pierre Le Marre <dev at wismill.eu>
Date:   Thu Jul 20 11:04:17 2023 +0200

    keysymdef.h: Normalize Unicode mappings
    
    - Normalize codepoint format to upper case.
    - Fix Unicode standard names: use *corrected* names.
    - Add missing Unicode mappings (see hereinafter).
    
    Some special keysyms have Unicode mappings in both X11 and xkbcommon,
    but they are not documented. As these mappings are not one-to-one, we
    introduce the concepts of generic/specific compatible semantics:
    
    - Generic keysyms such as as `Space` have a standard Unicode annotation;
    - Specialized keysyms such as `KP_Space` have the same standard Unicode
      annotation between angle brackets.

diff --git a/include/X11/keysymdef.h b/include/X11/keysymdef.h
index 01d2eda..4e9719a 100644
--- a/include/X11/keysymdef.h
+++ b/include/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
@@ -83,13 +92,13 @@ SOFTWARE.
  * Where several mnemonic names are defined for the same keysym in this
  * file, all but the first one listed should be considered deprecated,
  * unless the comment explicitly states the alias, e.g.:
- * 
+ *
  *     #define XK_dead_tilde            0xfe53
  *     #define XK_dead_perispomeni      0xfe53 // alias for dead_tilde
  *
  * Additionally, a keysym can be explicitly deprecated by starting the
  * comment with "deprecated".
- * 
+ *
  * Mnemonic names for keysyms are defined in this file with lines
  * that match one of these Perl regular expressions:
  *
@@ -128,16 +137,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 */
 
 
 
@@ -208,9 +217,9 @@ SOFTWARE.
 
 /* 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
@@ -228,24 +237,24 @@ SOFTWARE.
 #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>*/
 
 
 
@@ -1664,7 +1673,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  /* (U+0E3E Unassigned code point) */
+#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 */
@@ -2135,7 +2144,7 @@ SOFTWARE.
 #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 NULL SET */
+#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 */
@@ -2172,12 +2181,12 @@ SOFTWARE.
 #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_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 */
@@ -2188,12 +2197,12 @@ SOFTWARE.
 #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_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 */
@@ -2204,12 +2213,12 @@ SOFTWARE.
 #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_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 */
@@ -2220,12 +2229,12 @@ SOFTWARE.
 #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_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 */
@@ -2236,12 +2245,12 @@ SOFTWARE.
 #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_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 */
@@ -2252,12 +2261,12 @@ SOFTWARE.
 #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_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 */
@@ -2268,12 +2277,12 @@ SOFTWARE.
 #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_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 */
@@ -2284,12 +2293,12 @@ SOFTWARE.
 #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_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 */
@@ -2300,12 +2309,12 @@ SOFTWARE.
 #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_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 */
@@ -2316,108 +2325,108 @@ SOFTWARE.
 #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 */
+#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 */
 
 /*
@@ -2426,84 +2435,84 @@ SOFTWARE.
  */
 
 #ifdef XK_SINHALA
-#define XK_Sinh_ng                    0x1000d82  /* U+0D82 SINHALA ANUSVARAYA */
-#define XK_Sinh_h2                    0x1000d83  /* U+0D83 SINHALA VISARGAYA */
-#define XK_Sinh_a                     0x1000d85  /* U+0D85 SINHALA AYANNA */
-#define XK_Sinh_aa                    0x1000d86  /* U+0D86 SINHALA AAYANNA */
-#define XK_Sinh_ae                    0x1000d87  /* U+0D87 SINHALA AEYANNA */
-#define XK_Sinh_aee                   0x1000d88  /* U+0D88 SINHALA AEEYANNA */
-#define XK_Sinh_i                     0x1000d89  /* U+0D89 SINHALA IYANNA */
-#define XK_Sinh_ii                    0x1000d8a  /* U+0D8A SINHALA IIYANNA */
-#define XK_Sinh_u                     0x1000d8b  /* U+0D8B SINHALA UYANNA */
-#define XK_Sinh_uu                    0x1000d8c  /* U+0D8C SINHALA UUYANNA */
-#define XK_Sinh_ri                    0x1000d8d  /* U+0D8D SINHALA IRUYANNA */
-#define XK_Sinh_rii                   0x1000d8e  /* U+0D8E SINHALA IRUUYANNA */
-#define XK_Sinh_lu                    0x1000d8f  /* U+0D8F SINHALA ILUYANNA */
-#define XK_Sinh_luu                   0x1000d90  /* U+0D90 SINHALA ILUUYANNA */
-#define XK_Sinh_e                     0x1000d91  /* U+0D91 SINHALA EYANNA */
-#define XK_Sinh_ee                    0x1000d92  /* U+0D92 SINHALA EEYANNA */
-#define XK_Sinh_ai                    0x1000d93  /* U+0D93 SINHALA AIYANNA */
-#define XK_Sinh_o                     0x1000d94  /* U+0D94 SINHALA OYANNA */
-#define XK_Sinh_oo                    0x1000d95  /* U+0D95 SINHALA OOYANNA */
-#define XK_Sinh_au                    0x1000d96  /* U+0D96 SINHALA AUYANNA */
-#define XK_Sinh_ka                    0x1000d9a  /* U+0D9A SINHALA KAYANNA */
-#define XK_Sinh_kha                   0x1000d9b  /* U+0D9B SINHALA MAHA. KAYANNA */
-#define XK_Sinh_ga                    0x1000d9c  /* U+0D9C SINHALA GAYANNA */
-#define XK_Sinh_gha                   0x1000d9d  /* U+0D9D SINHALA MAHA. GAYANNA */
-#define XK_Sinh_ng2                   0x1000d9e  /* U+0D9E SINHALA KANTAJA NAASIKYAYA */
-#define XK_Sinh_nga                   0x1000d9f  /* U+0D9F SINHALA SANYAKA GAYANNA */
-#define XK_Sinh_ca                    0x1000da0  /* U+0DA0 SINHALA CAYANNA */
-#define XK_Sinh_cha                   0x1000da1  /* U+0DA1 SINHALA MAHA. CAYANNA */
-#define XK_Sinh_ja                    0x1000da2  /* U+0DA2 SINHALA JAYANNA */
-#define XK_Sinh_jha                   0x1000da3  /* U+0DA3 SINHALA MAHA. JAYANNA */
-#define XK_Sinh_nya                   0x1000da4  /* U+0DA4 SINHALA TAALUJA NAASIKYAYA */
-#define XK_Sinh_jnya                  0x1000da5  /* U+0DA5 SINHALA TAALUJA SANYOOGA NAASIKYAYA */
-#define XK_Sinh_nja                   0x1000da6  /* U+0DA6 SINHALA SANYAKA JAYANNA */
-#define XK_Sinh_tta                   0x1000da7  /* U+0DA7 SINHALA TTAYANNA */
-#define XK_Sinh_ttha                  0x1000da8  /* U+0DA8 SINHALA MAHA. TTAYANNA */
-#define XK_Sinh_dda                   0x1000da9  /* U+0DA9 SINHALA DDAYANNA */
-#define XK_Sinh_ddha                  0x1000daa  /* U+0DAA SINHALA MAHA. DDAYANNA */
-#define XK_Sinh_nna                   0x1000dab  /* U+0DAB SINHALA MUURDHAJA NAYANNA */
-#define XK_Sinh_ndda                  0x1000dac  /* U+0DAC SINHALA SANYAKA DDAYANNA */
-#define XK_Sinh_tha                   0x1000dad  /* U+0DAD SINHALA TAYANNA */
-#define XK_Sinh_thha                  0x1000dae  /* U+0DAE SINHALA MAHA. TAYANNA */
-#define XK_Sinh_dha                   0x1000daf  /* U+0DAF SINHALA DAYANNA */
-#define XK_Sinh_dhha                  0x1000db0  /* U+0DB0 SINHALA MAHA. DAYANNA */
-#define XK_Sinh_na                    0x1000db1  /* U+0DB1 SINHALA DANTAJA NAYANNA */
-#define XK_Sinh_ndha                  0x1000db3  /* U+0DB3 SINHALA SANYAKA DAYANNA */
-#define XK_Sinh_pa                    0x1000db4  /* U+0DB4 SINHALA PAYANNA */
-#define XK_Sinh_pha                   0x1000db5  /* U+0DB5 SINHALA MAHA. PAYANNA */
-#define XK_Sinh_ba                    0x1000db6  /* U+0DB6 SINHALA BAYANNA */
-#define XK_Sinh_bha                   0x1000db7  /* U+0DB7 SINHALA MAHA. BAYANNA */
-#define XK_Sinh_ma                    0x1000db8  /* U+0DB8 SINHALA MAYANNA */
-#define XK_Sinh_mba                   0x1000db9  /* U+0DB9 SINHALA AMBA BAYANNA */
-#define XK_Sinh_ya                    0x1000dba  /* U+0DBA SINHALA YAYANNA */
-#define XK_Sinh_ra                    0x1000dbb  /* U+0DBB SINHALA RAYANNA */
-#define XK_Sinh_la                    0x1000dbd  /* U+0DBD SINHALA DANTAJA LAYANNA */
-#define XK_Sinh_va                    0x1000dc0  /* U+0DC0 SINHALA VAYANNA */
-#define XK_Sinh_sha                   0x1000dc1  /* U+0DC1 SINHALA TAALUJA SAYANNA */
-#define XK_Sinh_ssha                  0x1000dc2  /* U+0DC2 SINHALA MUURDHAJA SAYANNA */
-#define XK_Sinh_sa                    0x1000dc3  /* U+0DC3 SINHALA DANTAJA SAYANNA */
-#define XK_Sinh_ha                    0x1000dc4  /* U+0DC4 SINHALA HAYANNA */
-#define XK_Sinh_lla                   0x1000dc5  /* U+0DC5 SINHALA MUURDHAJA LAYANNA */
-#define XK_Sinh_fa                    0x1000dc6  /* U+0DC6 SINHALA FAYANNA */
-#define XK_Sinh_al                    0x1000dca  /* U+0DCA SINHALA AL-LAKUNA */
-#define XK_Sinh_aa2                   0x1000dcf  /* U+0DCF SINHALA AELA-PILLA */
-#define XK_Sinh_ae2                   0x1000dd0  /* U+0DD0 SINHALA AEDA-PILLA */
-#define XK_Sinh_aee2                  0x1000dd1  /* U+0DD1 SINHALA DIGA AEDA-PILLA */
-#define XK_Sinh_i2                    0x1000dd2  /* U+0DD2 SINHALA IS-PILLA */
-#define XK_Sinh_ii2                   0x1000dd3  /* U+0DD3 SINHALA DIGA IS-PILLA */
-#define XK_Sinh_u2                    0x1000dd4  /* U+0DD4 SINHALA PAA-PILLA */
-#define XK_Sinh_uu2                   0x1000dd6  /* U+0DD6 SINHALA DIGA PAA-PILLA */
-#define XK_Sinh_ru2                   0x1000dd8  /* U+0DD8 SINHALA GAETTA-PILLA */
-#define XK_Sinh_e2                    0x1000dd9  /* U+0DD9 SINHALA KOMBUVA */
-#define XK_Sinh_ee2                   0x1000dda  /* U+0DDA SINHALA DIGA KOMBUVA */
-#define XK_Sinh_ai2                   0x1000ddb  /* U+0DDB SINHALA KOMBU DEKA */
-#define XK_Sinh_o2                    0x1000ddc  /* U+0DDC SINHALA KOMBUVA HAA AELA-PILLA*/
-#define XK_Sinh_oo2                   0x1000ddd  /* U+0DDD SINHALA KOMBUVA HAA DIGA AELA-PILLA*/
-#define XK_Sinh_au2                   0x1000dde  /* U+0DDE SINHALA KOMBUVA HAA GAYANUKITTA */
-#define XK_Sinh_lu2                   0x1000ddf  /* U+0DDF SINHALA GAYANUKITTA */
-#define XK_Sinh_ruu2                  0x1000df2  /* U+0DF2 SINHALA DIGA GAETTA-PILLA */
-#define XK_Sinh_luu2                  0x1000df3  /* U+0DF3 SINHALA DIGA GAYANUKITTA */
-#define XK_Sinh_kunddaliya            0x1000df4  /* U+0DF4 SINHALA KUNDDALIYA */
+#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 */
commit 2b9fcd0d9507be39ea2729f1cd747e4fe6af12eb
Author: Pierre Le Marre <dev at wismill.eu>
Date:   Thu Jul 20 10:58:06 2023 +0200

    keysyms headers: Normalize keysyms value format & padding
    
    - Harmonize format by using lower case hexadecimal notation.
    - Normalize keysym padding: use spaces instead of tabulations
      with the same amount everywhere.
    - Update generator to new format.

diff --git a/include/X11/DECkeysym.h b/include/X11/DECkeysym.h
index d9e23c4..088dfa5 100644
--- a/include/X11/DECkeysym.h
+++ b/include/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/include/X11/HPkeysym.h b/include/X11/HPkeysym.h
index d41ed38..9d35f5d 100644
--- a/include/X11/HPkeysym.h
+++ b/include/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
+#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
+#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
 #ifndef XK_Ydiaeresis
-#define XK_Ydiaeresis           0x100000ee
+#define XK_Ydiaeresis                0x100000ee
 #endif
-#define XK_IO                   0x100000ee
-#define XK_longminus            0x100000f6
-#define XK_block                0x100000fc
+#define XK_IO                        0x100000ee
+#define XK_longminus                 0x100000f6
+#define XK_block                     0x100000fc
 
 #endif /* _HPKEYSYM_H */
diff --git a/include/X11/Sunkeysym.h b/include/X11/Sunkeysym.h
index 149740b..35987af 100644
--- a/include/X11/Sunkeysym.h
+++ b/include/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/include/X11/XF86keysym.h b/include/X11/XF86keysym.h
index e8a9fb8..f00eb70 100644
--- a/include/X11/XF86keysym.h
+++ b/include/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,199 @@
  *
  */
 #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_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 */
 #undef _EVDEVK
diff --git a/include/X11/keysymdef.h b/include/X11/keysymdef.h
index 6f3c452..01d2eda 100644
--- a/include/X11/keysymdef.h
+++ b/include/X11/keysymdef.h
@@ -2138,12 +2138,12 @@ SOFTWARE.
 #define XK_emptyset                   0x1002205  /* U+2205 NULL 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_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)*/
@@ -2426,84 +2426,84 @@ SOFTWARE.
  */
 
 #ifdef XK_SINHALA
-#define XK_Sinh_ng            0x1000d82  /* U+0D82 SINHALA ANUSVARAYA */
-#define XK_Sinh_h2            0x1000d83  /* U+0D83 SINHALA VISARGAYA */
-#define XK_Sinh_a             0x1000d85  /* U+0D85 SINHALA AYANNA */
-#define XK_Sinh_aa            0x1000d86  /* U+0D86 SINHALA AAYANNA */
-#define XK_Sinh_ae            0x1000d87  /* U+0D87 SINHALA AEYANNA */
-#define XK_Sinh_aee           0x1000d88  /* U+0D88 SINHALA AEEYANNA */
-#define XK_Sinh_i             0x1000d89  /* U+0D89 SINHALA IYANNA */
-#define XK_Sinh_ii            0x1000d8a  /* U+0D8A SINHALA IIYANNA */
-#define XK_Sinh_u             0x1000d8b  /* U+0D8B SINHALA UYANNA */
-#define XK_Sinh_uu            0x1000d8c  /* U+0D8C SINHALA UUYANNA */
-#define XK_Sinh_ri            0x1000d8d  /* U+0D8D SINHALA IRUYANNA */
-#define XK_Sinh_rii           0x1000d8e  /* U+0D8E SINHALA IRUUYANNA */
-#define XK_Sinh_lu            0x1000d8f  /* U+0D8F SINHALA ILUYANNA */
-#define XK_Sinh_luu           0x1000d90  /* U+0D90 SINHALA ILUUYANNA */
-#define XK_Sinh_e             0x1000d91  /* U+0D91 SINHALA EYANNA */
-#define XK_Sinh_ee            0x1000d92  /* U+0D92 SINHALA EEYANNA */
-#define XK_Sinh_ai            0x1000d93  /* U+0D93 SINHALA AIYANNA */
-#define XK_Sinh_o             0x1000d94  /* U+0D94 SINHALA OYANNA */
-#define XK_Sinh_oo            0x1000d95  /* U+0D95 SINHALA OOYANNA */
-#define XK_Sinh_au            0x1000d96  /* U+0D96 SINHALA AUYANNA */
-#define XK_Sinh_ka            0x1000d9a  /* U+0D9A SINHALA KAYANNA */
-#define XK_Sinh_kha           0x1000d9b  /* U+0D9B SINHALA MAHA. KAYANNA */
-#define XK_Sinh_ga            0x1000d9c  /* U+0D9C SINHALA GAYANNA */
-#define XK_Sinh_gha           0x1000d9d  /* U+0D9D SINHALA MAHA. GAYANNA */
-#define XK_Sinh_ng2           0x1000d9e  /* U+0D9E SINHALA KANTAJA NAASIKYAYA */
-#define XK_Sinh_nga           0x1000d9f  /* U+0D9F SINHALA SANYAKA GAYANNA */
-#define XK_Sinh_ca            0x1000da0  /* U+0DA0 SINHALA CAYANNA */
-#define XK_Sinh_cha           0x1000da1  /* U+0DA1 SINHALA MAHA. CAYANNA */
-#define XK_Sinh_ja            0x1000da2  /* U+0DA2 SINHALA JAYANNA */
-#define XK_Sinh_jha           0x1000da3  /* U+0DA3 SINHALA MAHA. JAYANNA */
-#define XK_Sinh_nya           0x1000da4  /* U+0DA4 SINHALA TAALUJA NAASIKYAYA */
-#define XK_Sinh_jnya          0x1000da5  /* U+0DA5 SINHALA TAALUJA SANYOOGA NAASIKYAYA */
-#define XK_Sinh_nja           0x1000da6  /* U+0DA6 SINHALA SANYAKA JAYANNA */
-#define XK_Sinh_tta           0x1000da7  /* U+0DA7 SINHALA TTAYANNA */
-#define XK_Sinh_ttha          0x1000da8  /* U+0DA8 SINHALA MAHA. TTAYANNA */
-#define XK_Sinh_dda           0x1000da9  /* U+0DA9 SINHALA DDAYANNA */
-#define XK_Sinh_ddha          0x1000daa  /* U+0DAA SINHALA MAHA. DDAYANNA */
-#define XK_Sinh_nna           0x1000dab  /* U+0DAB SINHALA MUURDHAJA NAYANNA */
-#define XK_Sinh_ndda          0x1000dac  /* U+0DAC SINHALA SANYAKA DDAYANNA */
-#define XK_Sinh_tha           0x1000dad  /* U+0DAD SINHALA TAYANNA */
-#define XK_Sinh_thha          0x1000dae  /* U+0DAE SINHALA MAHA. TAYANNA */
-#define XK_Sinh_dha           0x1000daf  /* U+0DAF SINHALA DAYANNA */
-#define XK_Sinh_dhha          0x1000db0  /* U+0DB0 SINHALA MAHA. DAYANNA */
-#define XK_Sinh_na            0x1000db1  /* U+0DB1 SINHALA DANTAJA NAYANNA */
-#define XK_Sinh_ndha          0x1000db3  /* U+0DB3 SINHALA SANYAKA DAYANNA */
-#define XK_Sinh_pa            0x1000db4  /* U+0DB4 SINHALA PAYANNA */
-#define XK_Sinh_pha           0x1000db5  /* U+0DB5 SINHALA MAHA. PAYANNA */
-#define XK_Sinh_ba            0x1000db6  /* U+0DB6 SINHALA BAYANNA */
-#define XK_Sinh_bha           0x1000db7  /* U+0DB7 SINHALA MAHA. BAYANNA */
-#define XK_Sinh_ma            0x1000db8  /* U+0DB8 SINHALA MAYANNA */
-#define XK_Sinh_mba           0x1000db9  /* U+0DB9 SINHALA AMBA BAYANNA */
-#define XK_Sinh_ya            0x1000dba  /* U+0DBA SINHALA YAYANNA */
-#define XK_Sinh_ra            0x1000dbb  /* U+0DBB SINHALA RAYANNA */
-#define XK_Sinh_la            0x1000dbd  /* U+0DBD SINHALA DANTAJA LAYANNA */
-#define XK_Sinh_va            0x1000dc0  /* U+0DC0 SINHALA VAYANNA */
-#define XK_Sinh_sha           0x1000dc1  /* U+0DC1 SINHALA TAALUJA SAYANNA */
-#define XK_Sinh_ssha          0x1000dc2  /* U+0DC2 SINHALA MUURDHAJA SAYANNA */
-#define XK_Sinh_sa            0x1000dc3  /* U+0DC3 SINHALA DANTAJA SAYANNA */
-#define XK_Sinh_ha            0x1000dc4  /* U+0DC4 SINHALA HAYANNA */
-#define XK_Sinh_lla           0x1000dc5  /* U+0DC5 SINHALA MUURDHAJA LAYANNA */
-#define XK_Sinh_fa            0x1000dc6  /* U+0DC6 SINHALA FAYANNA */
-#define XK_Sinh_al            0x1000dca  /* U+0DCA SINHALA AL-LAKUNA */
-#define XK_Sinh_aa2           0x1000dcf  /* U+0DCF SINHALA AELA-PILLA */
-#define XK_Sinh_ae2           0x1000dd0  /* U+0DD0 SINHALA AEDA-PILLA */
-#define XK_Sinh_aee2          0x1000dd1  /* U+0DD1 SINHALA DIGA AEDA-PILLA */
-#define XK_Sinh_i2            0x1000dd2  /* U+0DD2 SINHALA IS-PILLA */
-#define XK_Sinh_ii2           0x1000dd3  /* U+0DD3 SINHALA DIGA IS-PILLA */
-#define XK_Sinh_u2            0x1000dd4  /* U+0DD4 SINHALA PAA-PILLA */
-#define XK_Sinh_uu2           0x1000dd6  /* U+0DD6 SINHALA DIGA PAA-PILLA */
-#define XK_Sinh_ru2           0x1000dd8  /* U+0DD8 SINHALA GAETTA-PILLA */
-#define XK_Sinh_e2            0x1000dd9  /* U+0DD9 SINHALA KOMBUVA */
-#define XK_Sinh_ee2           0x1000dda  /* U+0DDA SINHALA DIGA KOMBUVA */
-#define XK_Sinh_ai2           0x1000ddb  /* U+0DDB SINHALA KOMBU DEKA */
-#define XK_Sinh_o2            0x1000ddc  /* U+0DDC SINHALA KOMBUVA HAA AELA-PILLA*/
-#define XK_Sinh_oo2           0x1000ddd  /* U+0DDD SINHALA KOMBUVA HAA DIGA AELA-PILLA*/
-#define XK_Sinh_au2           0x1000dde  /* U+0DDE SINHALA KOMBUVA HAA GAYANUKITTA */
-#define XK_Sinh_lu2           0x1000ddf  /* U+0DDF SINHALA GAYANUKITTA */
-#define XK_Sinh_ruu2          0x1000df2  /* U+0DF2 SINHALA DIGA GAETTA-PILLA */
-#define XK_Sinh_luu2          0x1000df3  /* U+0DF3 SINHALA DIGA GAYANUKITTA */
-#define XK_Sinh_kunddaliya    0x1000df4  /* U+0DF4 SINHALA KUNDDALIYA */
+#define XK_Sinh_ng                    0x1000d82  /* U+0D82 SINHALA ANUSVARAYA */
+#define XK_Sinh_h2                    0x1000d83  /* U+0D83 SINHALA VISARGAYA */
+#define XK_Sinh_a                     0x1000d85  /* U+0D85 SINHALA AYANNA */
+#define XK_Sinh_aa                    0x1000d86  /* U+0D86 SINHALA AAYANNA */
+#define XK_Sinh_ae                    0x1000d87  /* U+0D87 SINHALA AEYANNA */
+#define XK_Sinh_aee                   0x1000d88  /* U+0D88 SINHALA AEEYANNA */
+#define XK_Sinh_i                     0x1000d89  /* U+0D89 SINHALA IYANNA */
+#define XK_Sinh_ii                    0x1000d8a  /* U+0D8A SINHALA IIYANNA */
+#define XK_Sinh_u                     0x1000d8b  /* U+0D8B SINHALA UYANNA */
+#define XK_Sinh_uu                    0x1000d8c  /* U+0D8C SINHALA UUYANNA */
+#define XK_Sinh_ri                    0x1000d8d  /* U+0D8D SINHALA IRUYANNA */
+#define XK_Sinh_rii                   0x1000d8e  /* U+0D8E SINHALA IRUUYANNA */
+#define XK_Sinh_lu                    0x1000d8f  /* U+0D8F SINHALA ILUYANNA */
+#define XK_Sinh_luu                   0x1000d90  /* U+0D90 SINHALA ILUUYANNA */
+#define XK_Sinh_e                     0x1000d91  /* U+0D91 SINHALA EYANNA */
+#define XK_Sinh_ee                    0x1000d92  /* U+0D92 SINHALA EEYANNA */
+#define XK_Sinh_ai                    0x1000d93  /* U+0D93 SINHALA AIYANNA */
+#define XK_Sinh_o                     0x1000d94  /* U+0D94 SINHALA OYANNA */
+#define XK_Sinh_oo                    0x1000d95  /* U+0D95 SINHALA OOYANNA */
+#define XK_Sinh_au                    0x1000d96  /* U+0D96 SINHALA AUYANNA */
+#define XK_Sinh_ka                    0x1000d9a  /* U+0D9A SINHALA KAYANNA */
+#define XK_Sinh_kha                   0x1000d9b  /* U+0D9B SINHALA MAHA. KAYANNA */
+#define XK_Sinh_ga                    0x1000d9c  /* U+0D9C SINHALA GAYANNA */
+#define XK_Sinh_gha                   0x1000d9d  /* U+0D9D SINHALA MAHA. GAYANNA */
+#define XK_Sinh_ng2                   0x1000d9e  /* U+0D9E SINHALA KANTAJA NAASIKYAYA */
+#define XK_Sinh_nga                   0x1000d9f  /* U+0D9F SINHALA SANYAKA GAYANNA */
+#define XK_Sinh_ca                    0x1000da0  /* U+0DA0 SINHALA CAYANNA */
+#define XK_Sinh_cha                   0x1000da1  /* U+0DA1 SINHALA MAHA. CAYANNA */
+#define XK_Sinh_ja                    0x1000da2  /* U+0DA2 SINHALA JAYANNA */
+#define XK_Sinh_jha                   0x1000da3  /* U+0DA3 SINHALA MAHA. JAYANNA */
+#define XK_Sinh_nya                   0x1000da4  /* U+0DA4 SINHALA TAALUJA NAASIKYAYA */
+#define XK_Sinh_jnya                  0x1000da5  /* U+0DA5 SINHALA TAALUJA SANYOOGA NAASIKYAYA */
+#define XK_Sinh_nja                   0x1000da6  /* U+0DA6 SINHALA SANYAKA JAYANNA */
+#define XK_Sinh_tta                   0x1000da7  /* U+0DA7 SINHALA TTAYANNA */
+#define XK_Sinh_ttha                  0x1000da8  /* U+0DA8 SINHALA MAHA. TTAYANNA */
+#define XK_Sinh_dda                   0x1000da9  /* U+0DA9 SINHALA DDAYANNA */
+#define XK_Sinh_ddha                  0x1000daa  /* U+0DAA SINHALA MAHA. DDAYANNA */
+#define XK_Sinh_nna                   0x1000dab  /* U+0DAB SINHALA MUURDHAJA NAYANNA */
+#define XK_Sinh_ndda                  0x1000dac  /* U+0DAC SINHALA SANYAKA DDAYANNA */
+#define XK_Sinh_tha                   0x1000dad  /* U+0DAD SINHALA TAYANNA */
+#define XK_Sinh_thha                  0x1000dae  /* U+0DAE SINHALA MAHA. TAYANNA */
+#define XK_Sinh_dha                   0x1000daf  /* U+0DAF SINHALA DAYANNA */
+#define XK_Sinh_dhha                  0x1000db0  /* U+0DB0 SINHALA MAHA. DAYANNA */
+#define XK_Sinh_na                    0x1000db1  /* U+0DB1 SINHALA DANTAJA NAYANNA */
+#define XK_Sinh_ndha                  0x1000db3  /* U+0DB3 SINHALA SANYAKA DAYANNA */
+#define XK_Sinh_pa                    0x1000db4  /* U+0DB4 SINHALA PAYANNA */
+#define XK_Sinh_pha                   0x1000db5  /* U+0DB5 SINHALA MAHA. PAYANNA */
+#define XK_Sinh_ba                    0x1000db6  /* U+0DB6 SINHALA BAYANNA */
+#define XK_Sinh_bha                   0x1000db7  /* U+0DB7 SINHALA MAHA. BAYANNA */
+#define XK_Sinh_ma                    0x1000db8  /* U+0DB8 SINHALA MAYANNA */
+#define XK_Sinh_mba                   0x1000db9  /* U+0DB9 SINHALA AMBA BAYANNA */
+#define XK_Sinh_ya                    0x1000dba  /* U+0DBA SINHALA YAYANNA */
+#define XK_Sinh_ra                    0x1000dbb  /* U+0DBB SINHALA RAYANNA */
+#define XK_Sinh_la                    0x1000dbd  /* U+0DBD SINHALA DANTAJA LAYANNA */
+#define XK_Sinh_va                    0x1000dc0  /* U+0DC0 SINHALA VAYANNA */
+#define XK_Sinh_sha                   0x1000dc1  /* U+0DC1 SINHALA TAALUJA SAYANNA */
+#define XK_Sinh_ssha                  0x1000dc2  /* U+0DC2 SINHALA MUURDHAJA SAYANNA */
+#define XK_Sinh_sa                    0x1000dc3  /* U+0DC3 SINHALA DANTAJA SAYANNA */
+#define XK_Sinh_ha                    0x1000dc4  /* U+0DC4 SINHALA HAYANNA */
+#define XK_Sinh_lla                   0x1000dc5  /* U+0DC5 SINHALA MUURDHAJA LAYANNA */
+#define XK_Sinh_fa                    0x1000dc6  /* U+0DC6 SINHALA FAYANNA */
+#define XK_Sinh_al                    0x1000dca  /* U+0DCA SINHALA AL-LAKUNA */
+#define XK_Sinh_aa2                   0x1000dcf  /* U+0DCF SINHALA AELA-PILLA */
+#define XK_Sinh_ae2                   0x1000dd0  /* U+0DD0 SINHALA AEDA-PILLA */
+#define XK_Sinh_aee2                  0x1000dd1  /* U+0DD1 SINHALA DIGA AEDA-PILLA */
+#define XK_Sinh_i2                    0x1000dd2  /* U+0DD2 SINHALA IS-PILLA */
+#define XK_Sinh_ii2                   0x1000dd3  /* U+0DD3 SINHALA DIGA IS-PILLA */
+#define XK_Sinh_u2                    0x1000dd4  /* U+0DD4 SINHALA PAA-PILLA */
+#define XK_Sinh_uu2                   0x1000dd6  /* U+0DD6 SINHALA DIGA PAA-PILLA */
+#define XK_Sinh_ru2                   0x1000dd8  /* U+0DD8 SINHALA GAETTA-PILLA */
+#define XK_Sinh_e2                    0x1000dd9  /* U+0DD9 SINHALA KOMBUVA */
+#define XK_Sinh_ee2                   0x1000dda  /* U+0DDA SINHALA DIGA KOMBUVA */
+#define XK_Sinh_ai2                   0x1000ddb  /* U+0DDB SINHALA KOMBU DEKA */
+#define XK_Sinh_o2                    0x1000ddc  /* U+0DDC SINHALA KOMBUVA HAA AELA-PILLA*/
+#define XK_Sinh_oo2                   0x1000ddd  /* U+0DDD SINHALA KOMBUVA HAA DIGA AELA-PILLA*/
+#define XK_Sinh_au2                   0x1000dde  /* U+0DDE SINHALA KOMBUVA HAA GAYANUKITTA */
+#define XK_Sinh_lu2                   0x1000ddf  /* U+0DDF SINHALA GAYANUKITTA */
+#define XK_Sinh_ruu2                  0x1000df2  /* U+0DF2 SINHALA DIGA GAETTA-PILLA */
+#define XK_Sinh_luu2                  0x1000df3  /* U+0DF3 SINHALA DIGA GAYANUKITTA */
+#define XK_Sinh_kunddaliya            0x1000df4  /* U+0DF4 SINHALA KUNDDALIYA */
 #endif /* XK_SINHALA */
diff --git a/scripts/keysym-generator.py b/scripts/keysym-generator.py
index 24b7b83..bdcecdc 100755
--- a/scripts/keysym-generator.py
+++ b/scripts/keysym-generator.py
@@ -138,6 +138,12 @@ class Kernel(object):
         return version if version != self.versions[0] else None
 
 
+TARGET_KEYSYM_COLUMN = 54
+"""Column in the file we want the keysym codes to end"""
+KEYSYM_NAME_MAX_LENGTH = TARGET_KEYSYM_COLUMN - len("#define ") - len("_EVDEVK(0xNNN)")
+KERNEL_VERSION_PADDING = 7
+
+
 def generate_keysym_line(code, kernel, kver_list=[]):
     """
     Generate the line to append to the keysym file.
@@ -153,7 +159,9 @@ def generate_keysym_line(code, kernel, kver_list=[]):
 
     name = "".join([s.capitalize() for s in evcode.name[4:].lower().split("_")])
     keysym = f"XF86XK_{name}"
-    tabs = 4 - len(keysym) // 8
+    spaces = KEYSYM_NAME_MAX_LENGTH - len(keysym)
+    if not spaces:
+        raise ValueError(f"Insufficient padding for keysym “{keysym}”.")
     kver = kernel.introduced_in_version(evcode.name) or " "
     if kver_list:
         from fnmatch import fnmatch
@@ -165,7 +173,7 @@ def generate_keysym_line(code, kernel, kver_list=[]):
         else:  # no match
             return None
 
-    return f"#define {keysym}{'	' * tabs}_EVDEVK(0x{code:03X})		/* {kver:5s} {evcode.name} */"
+    return f"#define {keysym}{' ' * spaces}_EVDEVK(0x{code:03x})  /* {kver: <{KERNEL_VERSION_PADDING}s} {evcode.name} */"
 
 
 def verify(ns):
@@ -181,17 +189,17 @@ def verify(ns):
 
     # This is the full pattern we expect.
     expected_pattern = re.compile(
-        r"#define XF86XK_\w+\t+_EVDEVK\(0x([0-9A-F]{3})\)\t+/\* (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
+        r"#define XF86XK_\w+ +_EVDEVK\(0x([0-9A-Fa-f]{3})\) +/\* (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
     )
     # This is the comment pattern we expect
     expected_comment_pattern = re.compile(
-        r"/\* Use: (?P<name>\w+)\t+_EVDEVK\(0x(?P<value>[0-9A-F]{3})\)\t+   (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
+        r"/\* Use: (?P<name>\w+) +_EVDEVK\(0x(?P<value>[0-9A-Fa-f]{3})\) +   (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
     )
 
     # Some patterns to spot specific errors, just so we can print useful errors
     define = re.compile(r"^#define .*")
     name_pattern = re.compile(r"#define (XF86XK_[^\s]*)")
-    tab_check = re.compile(r"#define \w+(\s+)[^\s]+(\s+)")
+    space_check = re.compile(r"#define \w+(\s+)[^\s]+(\s+)")
     hex_pattern = re.compile(r".*0x([a-f0-9]+).*", re.I)
     comment_format = re.compile(r".*/\* ([^\s]+)?\s+(\w+)")
     kver_format = re.compile(r"v[2-6]\.[0-9]+(\.[0-9]+)?")
@@ -231,13 +239,13 @@ def verify(ns):
                     continue
 
                 # Comments we only search for a hex pattern and where there is one present
-                # we only check for uppercase format, ordering and update our last_keycode.
+                # we only check for lower case format, ordering and update our last_keycode.
                 if not re.match(define, line):
                     match = re.match(expected_comment_pattern, line)
                     if match:
                         hexcode = match.group("value")
-                        if hexcode != hexcode.upper():
-                            error(f"Hex code 0x{hexcode} must be uppercase", line)
+                        if hexcode != hexcode.lower():
+                            error(f"Hex code 0x{hexcode} must be lower case", line)
                         if hexcode:
                             keycode = int(hexcode, 16)
                             if keycode < last_keycode:
@@ -269,14 +277,14 @@ def verify(ns):
                 match = re.match(hex_pattern, line)
                 if not match:
                     error("No hex code", line)
-                if match.group(1) != match.group(1).upper():
-                    error(f"Hex code 0x{match.group(1)} must be uppercase", line)
+                if match.group(1) != match.group(1).lower():
+                    error(f"Hex code 0x{match.group(1)} must be lowercase", line)
 
-                tabs = re.match(tab_check, line)
-                if not tabs:  # bug
+                spaces = re.match(space_check, line)
+                if not spaces:  # bug
                     error("Matching error", line)
-                if " " in tabs.group(1) or " " in tabs.group(2):
-                    error("Use tabs, not spaces", line)
+                if "\t" in spaces.group(1) or "\t" in spaces.group(2):
+                    error("Use spaces, not tabs", line)
 
                 comment = re.match(comment_format, line)
                 if not comment:
@@ -337,7 +345,7 @@ def add_keysyms(ns):
     # If verification succeeds, we can be a bit more lenient here because we already know
     # what the format of the field is. Specifically, we're searching for
     # 3-digit hexcode in brackets and use that as keycode.
-    pattern = re.compile(r".*_EVDEVK\((0x[a-fA-F0-9]{3})\).*")
+    pattern = re.compile(r".*_EVDEVK\((0x[0-9A-Fa-f]{3})\).*")
     max_code = max(
         [
             c.value


More information about the xorg-commit mailing list