commit 8d98e9ae45d3b3fe173ebfa16a5b9242dedb3aa1
Author: Jan Christoph Ebersbach <[email protected]>
Date:   Wed Jun 21 07:13:20 2017 +0200

    [st] Update fix keyboard input patch
    
    * Fix tab and backspace key sequences

diff --git a/st.suckless.org/patches/fix_keyboard_input.md 
b/st.suckless.org/patches/fix_keyboard_input.md
index 8c7a4a9..8eec171 100644
--- a/st.suckless.org/patches/fix_keyboard_input.md
+++ b/st.suckless.org/patches/fix_keyboard_input.md
@@ -21,38 +21,42 @@ Notes
  - If you use `<C-[>` for `<Esc>`, I suggest that you remove the following line
    from this patch to reenable the behavior:
 
+```
        { XK_bracketleft,  ControlMask,                    "",  0,  0,  
0},
+```
 
  - If you use `<C-6>` for changing to the alternative file, I suggest that you
    remove the following line from this patch to reenable the behavior:
 
+```
        { XK_6,            ControlMask,                    "",  0,  0,  
0},
-
- - I'm not yet sure how to bind the new mappings to actions in viom.  It works
-   for some keys while others appear to be not working at all.  The first
-   mappings work for me with the patch while from the latter only `<S-Tab>`
-   works:
-
-       nmap <C-enter> :echo "<C-enter>"<CR>
-       nmap <C-S-enter> :echo "<C-S-enter>"<CR>
-       nmap <C-S-M-enter> :echo "<C-S-M-enter>"<CR>
-       nmap <S-M-enter> :echo "<S-M-enter>"<CR>
-       nmap <M-enter> :echo "<M-enter>"<CR>
-       nmap <C-M-enter> :echo "<C-M-enter>"<CR>
+```
+
+ - I managed to bind the new mappings to actions in neovim.  If you're using
+   tmux make sure that it's a recent version, 2.5 works fine for me.  The
+   easiest way to know that this patch is working properly is to enter vim's
+   command mode by pressing `:` followed by pressing `<C-v>` and the desired 
key
+   combination.  This will print the key sequence that vim received.  Here are
+   some example mappings for vim:
+
+```
+       nmap <C-CR> :echo "<C-CR>"<CR>
+       nmap <C-S-CR> :echo "<C-S-CR>"<CR>
+       nmap <C-S-M-CR> :echo "<C-S-M-CR>"<CR>
+       nmap <S-M-CR> :echo "<S-M-CR>"<CR>
+       nmap <M-CR> :echo "<M-CR>"<CR>
+       nmap <C-M-CR> :echo "<C-M-CR>"<CR>
        nmap <C-Tab> :echo "<C-Tab>"<CR>
        nmap <C-S-Tab> :echo "<C-S-Tab>"<CR>
        nmap <S-Tab> :echo "<S-Tab>"<CR>
        nmap <M-Tab> :echo "<M-Tab>"<CR>
-
-- I tried to create mappings in vim the following way but it didn't work
-  either:
-
-       nmap <Esc>[9;5u :echo "<C-Tab>"<CR>
+```
 
 Download
 --------
 
  * 
[st-fix-keyboard-input-20170603-5a10aca.diff](st-fix-keyboard-input-20170603-5a10aca.diff)
+ * 
[st-fix-keyboard-input-20170621-b331da5.diff](st-fix-keyboard-input-20170621-b331da5.diff)
 
 Authors
 -------
diff --git 
a/st.suckless.org/patches/st-fix-keyboard-input-20170621-b331da5.diff 
b/st.suckless.org/patches/st-fix-keyboard-input-20170621-b331da5.diff
new file mode 100644
index 0000000..04194ff
--- /dev/null
+++ b/st.suckless.org/patches/st-fix-keyboard-input-20170621-b331da5.diff
@@ -0,0 +1,764 @@
+Author: Jan Christoph Ebersbach <[email protected]>
+URL: http://st.suckless.org/patches/fix_keyboard_input
+Fix keyboard input on terminal
+
+Index: st-patches/st/config.def.h
+===================================================================
+--- st-patches.orig/st/config.def.h
++++ st-patches/st/config.def.h
+@@ -209,7 +209,80 @@ Shortcut shortcuts[] = {
+  * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF)
+  * to be mapped below, add them to this array.
+  */
+-static KeySym mappedkeys[] = { -1 };
++static KeySym mappedkeys[] = {
++      XK_space,
++      XK_m,
++      XK_i,
++      XK_A,
++      XK_B,
++      XK_C,
++      XK_D,
++      XK_E,
++      XK_F,
++      XK_G,
++      XK_H,
++      XK_I,
++      XK_K,
++      XK_J,
++      XK_L,
++      XK_M,
++      XK_N,
++      XK_O,
++      XK_P,
++      XK_Q,
++      XK_R,
++      XK_S,
++      XK_T,
++      XK_U,
++      XK_V,
++      XK_W,
++      XK_X,
++      XK_Y,
++      XK_Z,
++      XK_Z,
++      XK_0,
++      XK_1,
++      XK_2,
++      XK_3,
++      XK_4,
++      XK_5,
++      XK_6,
++      XK_7,
++      XK_8,
++      XK_9,
++      XK_exclam,
++      XK_quotedbl,
++      XK_numbersign,
++      XK_dollar,
++      XK_percent,
++      XK_ampersand,
++      XK_apostrophe,
++      XK_parenleft,
++      XK_parenright,
++      XK_asterisk,
++      XK_plus,
++      XK_comma,
++      XK_minus,
++      XK_period,
++      XK_slash,
++      XK_colon,
++      XK_semicolon,
++      XK_less,
++      XK_equal,
++      XK_greater,
++      XK_question,
++      XK_at,
++      XK_bracketleft,
++      XK_backslash,
++      XK_bracketright,
++      XK_asciicircum,
++      XK_underscore,
++      XK_grave,
++      XK_braceleft,
++      XK_bar,
++      XK_braceright,
++      XK_asciitilde,
++};
+ 
+ /*
+  * State bits to ignore when matching key or button events.  By default,
+@@ -232,60 +305,20 @@ static Key key[] = {
+       /* keysym           mask            string      appkey appcursor crlf */
+       { XK_KP_Home,       ShiftMask,      "",       0,   -1,    0},
+       { XK_KP_Home,       ShiftMask,      "",     0,   +1,    0},
+-      { XK_KP_Home,       XK_ANY_MOD,     "",        0,   -1,    0},
+-      { XK_KP_Home,       XK_ANY_MOD,     "[1~",       0,   +1,    0},
+-      { XK_KP_Up,         XK_ANY_MOD,     "Ox",       +1,    0,    0},
+-      { XK_KP_Up,         XK_ANY_MOD,     "",        0,   -1,    0},
+-      { XK_KP_Up,         XK_ANY_MOD,     "OA",        0,   +1,    0},
+-      { XK_KP_Down,       XK_ANY_MOD,     "Or",       +1,    0,    0},
+-      { XK_KP_Down,       XK_ANY_MOD,     "",        0,   -1,    0},
+-      { XK_KP_Down,       XK_ANY_MOD,     "OB",        0,   +1,    0},
+-      { XK_KP_Left,       XK_ANY_MOD,     "Ot",       +1,    0,    0},
+-      { XK_KP_Left,       XK_ANY_MOD,     "",        0,   -1,    0},
+-      { XK_KP_Left,       XK_ANY_MOD,     "OD",        0,   +1,    0},
+-      { XK_KP_Right,      XK_ANY_MOD,     "Ov",       +1,    0,    0},
+-      { XK_KP_Right,      XK_ANY_MOD,     "",        0,   -1,    0},
+-      { XK_KP_Right,      XK_ANY_MOD,     "OC",        0,   +1,    0},
+       { XK_KP_Prior,      ShiftMask,      "[5;2~",     0,    0,    0},
+-      { XK_KP_Prior,      XK_ANY_MOD,     "[5~",       0,    0,    0},
+-      { XK_KP_Begin,      XK_ANY_MOD,     "",        0,    0,    0},
+       { XK_KP_End,        ControlMask,    "",       -1,    0,    0},
+       { XK_KP_End,        ControlMask,    "",    +1,    0,    0},
+       { XK_KP_End,        ShiftMask,      "",       -1,    0,    0},
+       { XK_KP_End,        ShiftMask,      "",    +1,    0,    0},
+-      { XK_KP_End,        XK_ANY_MOD,     "[4~",       0,    0,    0},
+       { XK_KP_Next,       ShiftMask,      "[6;2~",     0,    0,    0},
+-      { XK_KP_Next,       XK_ANY_MOD,     "[6~",       0,    0,    0},
+       { XK_KP_Insert,     ShiftMask,      "[2;2~",    +1,    0,    0},
+       { XK_KP_Insert,     ShiftMask,      "",      -1,    0,    0},
+       { XK_KP_Insert,     ControlMask,    "",       -1,    0,    0},
+       { XK_KP_Insert,     ControlMask,    "[2;5~",    +1,    0,    0},
+-      { XK_KP_Insert,     XK_ANY_MOD,     "",      -1,    0,    0},
+-      { XK_KP_Insert,     XK_ANY_MOD,     "[2~",      +1,    0,    0},
+       { XK_KP_Delete,     ControlMask,    "",       -1,    0,    0},
+       { XK_KP_Delete,     ControlMask,    "[3;5~",    +1,    0,    0},
+       { XK_KP_Delete,     ShiftMask,      "",      -1,    0,    0},
+       { XK_KP_Delete,     ShiftMask,      "[3;2~",    +1,    0,    0},
+-      { XK_KP_Delete,     XK_ANY_MOD,     "",       -1,    0,    0},
+-      { XK_KP_Delete,     XK_ANY_MOD,     "[3~",      +1,    0,    0},
+-      { XK_KP_Multiply,   XK_ANY_MOD,     "Oj",       +2,    0,    0},
+-      { XK_KP_Add,        XK_ANY_MOD,     "Ok",       +2,    0,    0},
+-      { XK_KP_Enter,      XK_ANY_MOD,     "OM",       +2,    0,    0},
+-      { XK_KP_Enter,      XK_ANY_MOD,     "
",           -1,    0,   -1},
+-      { XK_KP_Enter,      XK_ANY_MOD,     "
",         -1,    0,   +1},
+-      { XK_KP_Subtract,   XK_ANY_MOD,     "Om",       +2,    0,    0},
+-      { XK_KP_Decimal,    XK_ANY_MOD,     "On",       +2,    0,    0},
+-      { XK_KP_Divide,     XK_ANY_MOD,     "Oo",       +2,    0,    0},
+-      { XK_KP_0,          XK_ANY_MOD,     "Op",       +2,    0,    0},
+-      { XK_KP_1,          XK_ANY_MOD,     "Oq",       +2,    0,    0},
+-      { XK_KP_2,          XK_ANY_MOD,     "Or",       +2,    0,    0},
+-      { XK_KP_3,          XK_ANY_MOD,     "Os",       +2,    0,    0},
+-      { XK_KP_4,          XK_ANY_MOD,     "Ot",       +2,    0,    0},
+-      { XK_KP_5,          XK_ANY_MOD,     "Ou",       +2,    0,    0},
+-      { XK_KP_6,          XK_ANY_MOD,     "Ov",       +2,    0,    0},
+-      { XK_KP_7,          XK_ANY_MOD,     "Ow",       +2,    0,    0},
+-      { XK_KP_8,          XK_ANY_MOD,     "Ox",       +2,    0,    0},
+-      { XK_KP_9,          XK_ANY_MOD,     "Oy",       +2,    0,    0},
+       { XK_Up,            ShiftMask,      "",     0,    0,    0},
+       { XK_Up,            Mod1Mask,       "",     0,    0,    0},
+       { XK_Up,         ShiftMask|Mod1Mask,"",     0,    0,    0},
+@@ -325,37 +358,28 @@ static Key key[] = {
+       { XK_ISO_Left_Tab,  ShiftMask,      "",        0,    0,    0},
+       { XK_Return,        Mod1Mask,       "
",        0,    0,   -1},
+       { XK_Return,        Mod1Mask,       "
",      0,    0,   +1},
+-      { XK_Return,        XK_ANY_MOD,     "
",            0,    0,   -1},
+-      { XK_Return,        XK_ANY_MOD,     "
",          0,    0,   +1},
++      { XK_Return,        XK_NO_MOD,     "
",            0,    0,   -1},
++      { XK_Return,        XK_NO_MOD,     "
",          0,    0,   +1},
+       { XK_Insert,        ShiftMask,      "",      -1,    0,    0},
+       { XK_Insert,        ShiftMask,      "[2;2~",    +1,    0,    0},
+       { XK_Insert,        ControlMask,    "",       -1,    0,    0},
+       { XK_Insert,        ControlMask,    "[2;5~",    +1,    0,    0},
+-      { XK_Insert,        XK_ANY_MOD,     "",      -1,    0,    0},
+-      { XK_Insert,        XK_ANY_MOD,     "[2~",      +1,    0,    0},
+       { XK_Delete,        ControlMask,    "",       -1,    0,    0},
+       { XK_Delete,        ControlMask,    "[3;5~",    +1,    0,    0},
+       { XK_Delete,        ShiftMask,      "",      -1,    0,    0},
+       { XK_Delete,        ShiftMask,      "[3;2~",    +1,    0,    0},
+-      { XK_Delete,        XK_ANY_MOD,     "",       -1,    0,    0},
+-      { XK_Delete,        XK_ANY_MOD,     "[3~",      +1,    0,    0},
+       { XK_BackSpace,     XK_NO_MOD,      "",          0,    0,    0},
+       { XK_BackSpace,     Mod1Mask,       "",      0,    0,    0},
+       { XK_Home,          ShiftMask,      "",       0,   -1,    0},
+       { XK_Home,          ShiftMask,      "",     0,   +1,    0},
+-      { XK_Home,          XK_ANY_MOD,     "",        0,   -1,    0},
+-      { XK_Home,          XK_ANY_MOD,     "[1~",       0,   +1,    0},
+       { XK_End,           ControlMask,    "",       -1,    0,    0},
+       { XK_End,           ControlMask,    "",    +1,    0,    0},
+       { XK_End,           ShiftMask,      "",       -1,    0,    0},
+       { XK_End,           ShiftMask,      "",    +1,    0,    0},
+-      { XK_End,           XK_ANY_MOD,     "[4~",       0,    0,    0},
+       { XK_Prior,         ControlMask,    "[5;5~",     0,    0,    0},
+       { XK_Prior,         ShiftMask,      "[5;2~",     0,    0,    0},
+-      { XK_Prior,         XK_ANY_MOD,     "[5~",       0,    0,    0},
+       { XK_Next,          ControlMask,    "[6;5~",     0,    0,    0},
+       { XK_Next,          ShiftMask,      "[6;2~",     0,    0,    0},
+-      { XK_Next,          XK_ANY_MOD,     "[6~",       0,    0,    0},
+       { XK_F1,            XK_NO_MOD,      "OP" ,       0,    0,    0},
+       { XK_F1, /* F13 */  ShiftMask,      "",     0,    0,    0},
+       { XK_F1, /* F25 */  ControlMask,    "",     0,    0,    0},
+@@ -442,6 +466,572 @@ static Key key[] = {
+       { XK_F33,           XK_NO_MOD,      "[20;5~",    0,    0,    0},
+       { XK_F34,           XK_NO_MOD,      "[21;5~",    0,    0,    0},
+       { XK_F35,           XK_NO_MOD,      "[23;5~",    0,    0,    0},
++
++      // libtermkey compatible keyboard input
++      { XK_KP_Home,      XK_NO_MOD,                      "",      0,  -1, 
0},
++      { XK_KP_Home,      XK_NO_MOD,                      "[1~",     0,  +1, 
0},
++      { XK_KP_Home,      ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Home,      ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Home,      Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Home,      Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Home,      Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Home,      Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Home,      ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_Up,        XK_NO_MOD,                      "Ox",      +1, 0,  
0},
++      { XK_KP_Up,        XK_NO_MOD,                      "",      0,  -1, 
0},
++      { XK_KP_Up,        XK_NO_MOD,                      "OA",      0,  +1, 
0},
++      { XK_KP_Up,        ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Up,        ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Up,        Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Up,        Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Up,        Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Up,        Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Up,        ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_Down,      XK_NO_MOD,                      "Or",      +1, 0,  
0},
++      { XK_KP_Down,      XK_NO_MOD,                      "",      0,  -1, 
0},
++      { XK_KP_Down,      XK_NO_MOD,                      "OB",      0,  +1, 
0},
++      { XK_KP_Down,      ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Down,      ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Down,      Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Down,      Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Down,      Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Down,      Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Down,      ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_Left,      XK_NO_MOD,                      "Ot",      +1, 0,  
0},
++      { XK_KP_Left,      XK_NO_MOD,                      "",      0,  -1, 
0},
++      { XK_KP_Left,      XK_NO_MOD,                      "OD",      0,  +1, 
0},
++      { XK_KP_Left,      ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Left,      ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Left,      Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Left,      Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Left,      Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Left,      Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Left,      ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_Right,     XK_NO_MOD,                      "Ov",      +1, 0,  
0},
++      { XK_KP_Right,     XK_NO_MOD,                      "",      0,  -1, 
0},
++      { XK_KP_Right,     XK_NO_MOD,                      "OC",      0,  +1, 
0},
++      { XK_KP_Right,     ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Right,     ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Right,     Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Right,     Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Right,     Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Right,     Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Right,     ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_Prior,     XK_NO_MOD,                      "[5~",     0,  0,  
0},
++      { XK_KP_Prior,     ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Prior,     ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Prior,     Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Prior,     Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Prior,     Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Prior,     Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Begin,     XK_NO_MOD,                      "",      0,  0,  
0},
++      { XK_KP_Begin,     ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Begin,     ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Begin,     Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Begin,     Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Begin,     Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Begin,     Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Begin,     ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_End,       XK_NO_MOD,                      "[4~",     0,  0,  
0},
++      { XK_KP_End,       ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_End,       Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_End,       Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_End,       Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_End,       Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Next,      XK_NO_MOD,                      "[6~",     0,  0,  
0},
++      { XK_KP_Next,      ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Next,      ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Next,      Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Next,      Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Next,      Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Next,      Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Insert,    XK_NO_MOD,                      "",     -1, 0,  
0},
++      { XK_KP_Insert,    XK_NO_MOD,                      "[2~",     +1, 0,  
0},
++      { XK_KP_Insert,    ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Insert,    Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Insert,    Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Insert,    Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Insert,    Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Delete,    XK_NO_MOD,                      "",      -1, 0,  
0},
++      { XK_KP_Delete,    XK_NO_MOD,                      "[3~",     +1, 0,  
0},
++      { XK_KP_Delete,    ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Delete,    Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Delete,    Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Delete,    Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Delete,    Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Multiply,  XK_NO_MOD,                      "Oj",      +2, 0,  
0},
++      { XK_KP_Multiply,  ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Multiply,  ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Multiply,  Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Multiply,  Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Multiply,  Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Multiply,  Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Multiply,  ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_Add,       XK_NO_MOD,                      "Ok",      +2, 0,  
0},
++      { XK_KP_Add,       ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Add,       ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Add,       Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Add,       Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Add,       Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Add,       Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Add,       ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_Enter,     XK_NO_MOD,                      "OM",      +2, 0,  
0},
++      { XK_KP_Enter,     XK_NO_MOD,                      "
",          -1, 0,  -1},
++      { XK_KP_Enter,     XK_NO_MOD,                      "
",        -1, 0,  +1},
++      { XK_KP_Enter,     ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Enter,     ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Enter,     Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Enter,     Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Enter,     Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Enter,     Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Enter,     ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_Subtract,  XK_NO_MOD,                      "Om",      +2, 0,  
0},
++      { XK_KP_Subtract,  ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Subtract,  ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Subtract,  Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Subtract,  Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Subtract,  Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Subtract,  Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Subtract,  ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_Decimal,   XK_NO_MOD,                      "On",      +2, 0,  
0},
++      { XK_KP_Decimal,   ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Decimal,   ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Decimal,   Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Decimal,   Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Decimal,   Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Decimal,   Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Decimal,   ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_Divide,    XK_NO_MOD,                      "Oo",      +2, 0,  
0},
++      { XK_KP_Divide,    ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_Divide,    ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_Divide,    Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_Divide,    Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_Divide,    Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_Divide,    Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_Divide,    ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_0,         XK_NO_MOD,                      "Op",      +2, 0,  
0},
++      { XK_KP_0,         ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_0,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_0,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_0,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_0,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_0,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_0,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_1,         XK_NO_MOD,                      "Oq",      +2, 0,  
0},
++      { XK_KP_0,         ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_0,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_0,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_0,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_0,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_0,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_0,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_2,         XK_NO_MOD,                      "Or",      +2, 0,  
0},
++      { XK_KP_2,         ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_2,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_2,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_2,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_2,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_2,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_2,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_3,         XK_NO_MOD,                      "Os",      +2, 0,  
0},
++      { XK_KP_3,         ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_3,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_3,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_3,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_3,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_3,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_3,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_4,         XK_NO_MOD,                      "Ot",      +2, 0,  
0},
++      { XK_KP_4,         ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_4,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_4,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_4,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_4,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_4,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_4,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_5,         XK_NO_MOD,                      "Ou",      +2, 0,  
0},
++      { XK_KP_5,         ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_5,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_5,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_5,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_5,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_5,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_5,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_6,         XK_NO_MOD,                      "Ov",      +2, 0,  
0},
++      { XK_KP_6,         ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_6,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_6,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_6,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_6,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_6,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_6,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_7,         XK_NO_MOD,                      "Ow",      +2, 0,  
0},
++      { XK_KP_7,         ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_7,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_7,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_7,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_7,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_7,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_7,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_8,         XK_NO_MOD,                      "Ox",      +2, 0,  
0},
++      { XK_KP_8,         ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_8,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_8,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_8,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_8,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_8,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_8,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_KP_9,         XK_NO_MOD,                      "Oy",      +2, 0,  
0},
++      { XK_KP_9,         ControlMask,                    "", 0,  0,  
0},
++      { XK_KP_9,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_KP_9,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_KP_9,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_KP_9,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_KP_9,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_KP_9,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_BackSpace,    ControlMask,                    "", 0,  0,  
0},
++      { XK_BackSpace,    ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_BackSpace,    Mod1Mask,                       "", 0,  0,  
0},
++      { XK_BackSpace,    Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_BackSpace,    Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_BackSpace,    Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_BackSpace,    ShiftMask,                      "", 0,  0,  
0},
++      { XK_Tab,          ControlMask,                    "",   0,  0,  
0},
++      { XK_Tab,          ControlMask|ShiftMask,          "",   0,  0,  
0},
++      { XK_Tab,          Mod1Mask,                       "",   0,  0,  
0},
++      { XK_Tab,          Mod1Mask|ControlMask,           "",   0,  0,  
0},
++      { XK_Tab,          Mod1Mask|ControlMask|ShiftMask, "",   0,  0,  
0},
++      { XK_Tab,          Mod1Mask|ShiftMask,             "",   0,  0,  
0},
++      { XK_Return,       ControlMask,                    "",  0,  0,  
0},
++      { XK_Return,       ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Return,       Mod1Mask,                       "",  0,  0,  
0},
++      { XK_Return,       Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_Return,       Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_Return,       Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_Return,       ShiftMask,                      "",  0,  0,  
0},
++      { XK_Pause,        ControlMask,                    "",  0,  0,  
0},
++      { XK_Pause,        ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Pause,        Mod1Mask,                       "",  0,  0,  
0},
++      { XK_Pause,        Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_Pause,        Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_Pause,        Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_Pause,        ShiftMask,                      "",  0,  0,  
0},
++      { XK_Scroll_Lock,  ControlMask,                    "",  0,  0,  
0},
++      { XK_Scroll_Lock,  ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Scroll_Lock,  Mod1Mask,                       "",  0,  0,  
0},
++      { XK_Scroll_Lock,  Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_Scroll_Lock,  Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_Scroll_Lock,  Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_Scroll_Lock,  ShiftMask,                      "",  0,  0,  
0},
++      { XK_Escape,       ControlMask,                    "",  0,  0,  
0},
++      { XK_Escape,       ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Escape,       Mod1Mask,                       "",  0,  0,  
0},
++      { XK_Escape,       Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_Escape,       Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_Escape,       Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_Escape,       ShiftMask,                      "",  0,  0,  
0},
++      { XK_Home,         XK_NO_MOD,                      "",      0,  -1, 
0},
++      { XK_Home,         XK_NO_MOD,                      "[1~",     0,  +1, 
0},
++      { XK_Home,         ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Home,         Mod1Mask,                       "",  0,  0,  
0},
++      { XK_Home,         Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_Home,         Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_Home,         Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_End,          XK_NO_MOD,                      "[4~",     0,  0,  
0},
++      { XK_End,          ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_End,          Mod1Mask,                       "",  0,  0,  
0},
++      { XK_End,          Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_End,          Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_End,          Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_Prior,        XK_NO_MOD,                      "[5~",     0,  0,  
0},
++      { XK_Prior,        ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Prior,        Mod1Mask,                       "",  0,  0,  
0},
++      { XK_Prior,        Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_Prior,        Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_Prior,        Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_Next,         XK_NO_MOD,                      "[6~",     0,  0,  
0},
++      { XK_Next,         ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Next,         Mod1Mask,                       "",  0,  0,  
0},
++      { XK_Next,         Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_Next,         Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_Next,         Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_Print,        ControlMask,                    "",  0,  0,  
0},
++      { XK_Print,        ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Print,        Mod1Mask,                       "",  0,  0,  
0},
++      { XK_Print,        Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_Print,        Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_Print,        Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_Print,        ShiftMask,                      "",  0,  0,  
0},
++      { XK_Insert,       XK_NO_MOD,                      "",     -1, 0,  
0},
++      { XK_Insert,       XK_NO_MOD,                      "[2~",     +1, 0,  
0},
++      { XK_Insert,       ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Insert,       Mod1Mask,                       "",  0,  0,  
0},
++      { XK_Insert,       Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_Insert,       Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_Insert,       Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_Menu,         ControlMask,                    "", 0,  0,  
0},
++      { XK_Menu,         ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_Menu,         Mod1Mask,                       "", 0,  0,  
0},
++      { XK_Menu,         Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_Menu,         Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_Menu,         Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_Menu,         ShiftMask,                      "", 0,  0,  
0},
++      { XK_Delete,       XK_NO_MOD,                      "",      -1, 0,  
0},
++      { XK_Delete,       XK_NO_MOD,                      "[3~",     +1, 0,  
0},
++      { XK_Delete,       ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_Delete,       Mod1Mask,                       "", 0,  0,  
0},
++      { XK_Delete,       Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_Delete,       Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_Delete,       Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_i,            ControlMask,                    "", 0,  0,  
0},
++      { XK_i,            Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_m,            ControlMask,                    "", 0,  0,  
0},
++      { XK_m,            Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_space,        ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_space,        Mod1Mask,                       "",  0,  0,  
0},
++      { XK_space,        Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_space,        Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_space,        Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_space,        ShiftMask,                      "",  0,  0,  
0},
++      { XK_0,            ControlMask,                    "",  0,  0,  
0},
++      { XK_A,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_B,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_C,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_D,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_E,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_F,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_G,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_H,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_I,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_I,            Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_J,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_K,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_L,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_M,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_M,            Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_N,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_O,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_P,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Q,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_R,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_S,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_T,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_U,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_V,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_W,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_X,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Y,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Z,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_Z,            ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_0,            Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_1,            ControlMask,                    "",  0,  0,  
0},
++      { XK_1,            Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_2,            ControlMask,                    "",  0,  0,  
0},
++      { XK_2,            Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_3,            ControlMask,                    "",  0,  0,  
0},
++      { XK_3,            Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_4,            ControlMask,                    "",  0,  0,  
0},
++      { XK_4,            Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_5,            ControlMask,                    "",  0,  0,  
0},
++      { XK_5,            Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_6,            ControlMask,                    "",  0,  0,  
0},
++      { XK_6,            Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_7,            ControlMask,                    "",  0,  0,  
0},
++      { XK_7,            Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_8,            ControlMask,                    "",  0,  0,  
0},
++      { XK_8,            Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_9,            ControlMask,                    "",  0,  0,  
0},
++      { XK_9,            Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_ampersand,    ControlMask,                    "",  0,  0,  
0},
++      { XK_ampersand,    ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_ampersand,    Mod1Mask,                       "",  0,  0,  
0},
++      { XK_ampersand,    Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_ampersand,    Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_ampersand,    Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_apostrophe,   ControlMask,                    "",  0,  0,  
0},
++      { XK_apostrophe,   ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_apostrophe,   Mod1Mask,                       "",  0,  0,  
0},
++      { XK_apostrophe,   Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_apostrophe,   Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_apostrophe,   Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_asciicircum,  ControlMask,                    "",  0,  0,  
0},
++      { XK_asciicircum,  ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_asciicircum,  Mod1Mask,                       "",  0,  0,  
0},
++      { XK_asciicircum,  Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_asciicircum,  Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_asciicircum,  Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_asciitilde,   ControlMask,                    "", 0,  0,  
0},
++      { XK_asciitilde,   ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_asciitilde,   Mod1Mask,                       "", 0,  0,  
0},
++      { XK_asciitilde,   Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_asciitilde,   Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_asciitilde,   Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_asterisk,     ControlMask,                    "",  0,  0,  
0},
++      { XK_asterisk,     ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_asterisk,     Mod1Mask,                       "",  0,  0,  
0},
++      { XK_asterisk,     Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_asterisk,     Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_asterisk,     Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_at,           ControlMask,                    "",  0,  0,  
0},
++      { XK_at,           ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_at,           Mod1Mask,                       "",  0,  0,  
0},
++      { XK_at,           Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_at,           Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_at,           Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_backslash,    ControlMask,                    "",  0,  0,  
0},
++      { XK_backslash,    ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_backslash,    Mod1Mask,                       "",  0,  0,  
0},
++      { XK_backslash,    Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_backslash,    Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_backslash,    Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_bar,          ControlMask,                    "", 0,  0,  
0},
++      { XK_bar,          ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_bar,          Mod1Mask,                       "", 0,  0,  
0},
++      { XK_bar,          Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_bar,          Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_bar,          Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_braceleft,    ControlMask,                    "", 0,  0,  
0},
++      { XK_braceleft,    ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_braceleft,    Mod1Mask,                       "", 0,  0,  
0},
++      { XK_braceleft,    Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_braceleft,    Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_braceleft,    Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_braceright,   ControlMask,                    "", 0,  0,  
0},
++      { XK_braceright,   ControlMask|ShiftMask,          "", 0,  0,  
0},
++      { XK_braceright,   Mod1Mask,                       "", 0,  0,  
0},
++      { XK_braceright,   Mod1Mask|ControlMask,           "", 0,  0,  
0},
++      { XK_braceright,   Mod1Mask|ControlMask|ShiftMask, "", 0,  0,  
0},
++      { XK_braceright,   Mod1Mask|ShiftMask,             "", 0,  0,  
0},
++      { XK_bracketleft,  ControlMask,                    "",  0,  0,  
0},
++      { XK_bracketleft,  ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_bracketleft,  Mod1Mask,                       "",  0,  0,  
0},
++      { XK_bracketleft,  Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_bracketleft,  Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_bracketleft,  Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_bracketright, ControlMask,                    "",  0,  0,  
0},
++      { XK_bracketright, ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_bracketright, Mod1Mask,                       "",  0,  0,  
0},
++      { XK_bracketright, Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_bracketright, Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_bracketright, Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_colon,        ControlMask,                    "",  0,  0,  
0},
++      { XK_colon,        ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_colon,        Mod1Mask,                       "",  0,  0,  
0},
++      { XK_colon,        Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_colon,        Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_colon,        Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_comma,        ControlMask,                    "",  0,  0,  
0},
++      { XK_comma,        ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_comma,        Mod1Mask,                       "",  0,  0,  
0},
++      { XK_comma,        Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_comma,        Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_comma,        Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_dollar,       ControlMask,                    "",  0,  0,  
0},
++      { XK_dollar,       ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_dollar,       Mod1Mask,                       "",  0,  0,  
0},
++      { XK_dollar,       Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_dollar,       Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_dollar,       Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_equal,        ControlMask,                    "",  0,  0,  
0},
++      { XK_equal,        ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_equal,        Mod1Mask,                       "",  0,  0,  
0},
++      { XK_equal,        Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_equal,        Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_equal,        Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_exclam,       ControlMask,                    "",  0,  0,  
0},
++      { XK_exclam,       ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_exclam,       Mod1Mask,                       "",  0,  0,  
0},
++      { XK_exclam,       Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_exclam,       Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_exclam,       Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_grave,        ControlMask,                    "",  0,  0,  
0},
++      { XK_grave,        ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_grave,        Mod1Mask,                       "",  0,  0,  
0},
++      { XK_grave,        Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_grave,        Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_grave,        Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_greater,      ControlMask,                    "",  0,  0,  
0},
++      { XK_greater,      ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_greater,      Mod1Mask,                       "",  0,  0,  
0},
++      { XK_greater,      Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_greater,      Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_greater,      Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_less,         ControlMask,                    "",  0,  0,  
0},
++      { XK_less,         ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_less,         Mod1Mask,                       "",  0,  0,  
0},
++      { XK_less,         Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_less,         Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_less,         Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_minus,        ControlMask,                    "",  0,  0,  
0},
++      { XK_minus,        ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_minus,        Mod1Mask,                       "",  0,  0,  
0},
++      { XK_minus,        Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_minus,        Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_minus,        Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_numbersign,   ControlMask,                    "",  0,  0,  
0},
++      { XK_numbersign,   ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_numbersign,   Mod1Mask,                       "",  0,  0,  
0},
++      { XK_numbersign,   Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_numbersign,   Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_numbersign,   Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_parenleft,    ControlMask,                    "",  0,  0,  
0},
++      { XK_parenleft,    ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_parenleft,    Mod1Mask,                       "",  0,  0,  
0},
++      { XK_parenleft,    Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_parenleft,    Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_parenleft,    Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_parenright,   ControlMask,                    "",  0,  0,  
0},
++      { XK_parenright,   ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_parenright,   Mod1Mask,                       "",  0,  0,  
0},
++      { XK_parenright,   Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_parenright,   Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_parenright,   Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_percent,      ControlMask,                    "",  0,  0,  
0},
++      { XK_percent,      ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_percent,      Mod1Mask,                       "",  0,  0,  
0},
++      { XK_percent,      Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_percent,      Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_percent,      Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_period,       ControlMask,                    "",  0,  0,  
0},
++      { XK_period,       ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_period,       Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_period,       Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_period,       Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_plus,         ControlMask,                    "",  0,  0,  
0},
++      { XK_plus,         ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_plus,         Mod1Mask,                       "",  0,  0,  
0},
++      { XK_plus,         Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_plus,         Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_plus,         Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_question,     ControlMask,                    "",  0,  0,  
0},
++      { XK_question,     ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_question,     Mod1Mask,                       "",  0,  0,  
0},
++      { XK_question,     Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_question,     Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_question,     Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_quotedbl,     ControlMask,                    "",  0,  0,  
0},
++      { XK_quotedbl,     ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_quotedbl,     Mod1Mask,                       "",  0,  0,  
0},
++      { XK_quotedbl,     Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_quotedbl,     Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_quotedbl,     Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_semicolon,    ControlMask,                    "",  0,  0,  
0},
++      { XK_semicolon,    ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_semicolon,    Mod1Mask,                       "",  0,  0,  
0},
++      { XK_semicolon,    Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_semicolon,    Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_semicolon,    Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_slash,        ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_slash,        Mod1Mask,                       "",  0,  0,  
0},
++      { XK_slash,        Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_slash,        Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_slash,        Mod1Mask|ShiftMask,             "",  0,  0,  
0},
++      { XK_underscore,   ControlMask,                    "",  0,  0,  
0},
++      { XK_underscore,   ControlMask|ShiftMask,          "",  0,  0,  
0},
++      { XK_underscore,   Mod1Mask,                       "",  0,  0,  
0},
++      { XK_underscore,   Mod1Mask|ControlMask,           "",  0,  0,  
0},
++      { XK_underscore,   Mod1Mask|ControlMask|ShiftMask, "",  0,  0,  
0},
++      { XK_underscore,   Mod1Mask|ShiftMask,             "",  0,  0,  
0},
+ };
+ 
+ /*


Reply via email to