commit ad70cbd77e09e2ff3dfabeef568111709a3636aa
Author: Quentin Rameau <[email protected]>
Date:   Mon May 8 10:07:11 2017 +0200

    [tabbed] Update keycode patch

diff --git a/tools.suckless.org/tabbed/patches/keycode.md 
b/tools.suckless.org/tabbed/patches/keycode.md
index db80bb2..ee67a97 100644
--- a/tools.suckless.org/tabbed/patches/keycode.md
+++ b/tools.suckless.org/tabbed/patches/keycode.md
@@ -6,7 +6,7 @@ This way, input is keyboard layout independant (adapt config.h 
to your keyboard
 Download
 --------
 * [tabbed-keycode-0.6.diff](tabbed-keycode-0.6.diff)
-* [tabbed-keycode-20160702-bc23614.diff](tabbed-keycode-20160702-bc23614.diff)
+* [tabbed-keycode-20170508-6dc3978.diff](tabbed-keycode-20170508-6dc3978.dif)
 
 Author
 ------
diff --git 
a/tools.suckless.org/tabbed/patches/tabbed-keycode-20160702-bc23614.diff 
b/tools.suckless.org/tabbed/patches/tabbed-keycode-20160702-bc23614.diff
deleted file mode 100644
index 3a193f5..0000000
--- a/tools.suckless.org/tabbed/patches/tabbed-keycode-20160702-bc23614.diff
+++ /dev/null
@@ -1,110 +0,0 @@
-diff --git a/config.def.h b/config.def.h
-index 989992c..821f481 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -36,31 +36,32 @@ static Bool npisrelative  = False;
- #define MODKEY ControlMask
- static Key keys[] = {
-       /* modifier             key        function     argument */
--      { MODKEY|ShiftMask,     XK_Return, focusonce,   { 0 } },
--      { MODKEY|ShiftMask,     XK_Return, spawn,       { 0 } },
--      { MODKEY,               XK_t,      spawn,       
SETPROP("_TABBED_SELECT_TAB") },
-+      { MODKEY|ShiftMask,     36,        focusonce,   { 0 } },
-+      { MODKEY|ShiftMask,     36,        spawn,       { 0 } },
-+      { MODKEY,               28,        spawn,       
SETPROP("_TABBED_SELECT_TAB") },
- 
--      { MODKEY|ShiftMask,     XK_l,      rotate,      { .i = +1 } },
--      { MODKEY|ShiftMask,     XK_h,      rotate,      { .i = -1 } },
--      { MODKEY|ShiftMask,     XK_j,      movetab,     { .i = -1 } },
--      { MODKEY|ShiftMask,     XK_k,      movetab,     { .i = +1 } },
--      { MODKEY,               XK_Tab,    rotate,      { .i = 0 } },
-+      { MODKEY|ShiftMask,     46,        rotate,      { .i = +1 } },
-+      { MODKEY|ShiftMask,     43,        rotate,      { .i = -1 } },
-+      { MODKEY|ShiftMask,     44,        movetab,     { .i = -1 } },
-+      { MODKEY|ShiftMask,     45,        movetab,     { .i = +1 } },
-+      { MODKEY,               23,        rotate,      { .i = 0 } },
- 
--      { MODKEY,               XK_1,      move,        { .i = 0 } },
--      { MODKEY,               XK_2,      move,        { .i = 1 } },
--      { MODKEY,               XK_3,      move,        { .i = 2 } },
--      { MODKEY,               XK_4,      move,        { .i = 3 } },
--      { MODKEY,               XK_5,      move,        { .i = 4 } },
--      { MODKEY,               XK_6,      move,        { .i = 5 } },
--      { MODKEY,               XK_7,      move,        { .i = 6 } },
--      { MODKEY,               XK_8,      move,        { .i = 7 } },
--      { MODKEY,               XK_9,      move,        { .i = 8 } },
--      { MODKEY,               XK_0,      move,        { .i = 9 } },
- 
--      { MODKEY,               XK_q,      killclient,  { 0 } },
-+      { MODKEY,               10,        move,        { .i = 0 } },
-+      { MODKEY,               11,        move,        { .i = 1 } },
-+      { MODKEY,               12,        move,        { .i = 2 } },
-+      { MODKEY,               13,        move,        { .i = 3 } },
-+      { MODKEY,               14,        move,        { .i = 4 } },
-+      { MODKEY,               15,        move,        { .i = 5 } },
-+      { MODKEY,               16,        move,        { .i = 6 } },
-+      { MODKEY,               17,        move,        { .i = 7 } },
-+      { MODKEY,               18,        move,        { .i = 8 } },
-+      { MODKEY,               19,        move,        { .i = 9 } },
- 
--      { MODKEY,               XK_u,      focusurgent, { 0 } },
--      { MODKEY|ShiftMask,     XK_u,      toggle,      { .v = (void*) 
&urgentswitch } },
-+      { MODKEY,               24,        killclient,  { 0 } },
- 
--      { 0,                    XK_F11,    fullscreen,  { 0 } },
-+      { MODKEY,               30,        focusurgent, { .v = NULL } },
-+      { MODKEY|ShiftMask,     30,        toggle,      { .v = (void*) 
&urgentswitch } },
-+
-+      { 0,                    95,        fullscreen,  { 0 } },
- };
-diff --git a/tabbed.c b/tabbed.c
-index 9a44795..5e2b416 100644
---- a/tabbed.c
-+++ b/tabbed.c
-@@ -58,7 +58,7 @@ typedef union {
- 
- typedef struct {
-       unsigned int mod;
--      KeySym keysym;
-+      KeyCode keycode;
-       void (*func)(const Arg *);
-       const Arg arg;
- } Key;
-@@ -651,11 +651,9 @@ keypress(const XEvent *e)
- {
-       const XKeyEvent *ev = &e->xkey;
-       unsigned int i;
--      KeySym keysym;
- 
--      keysym = XkbKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0, 0);
-       for (i = 0; i < LENGTH(keys); i++) {
--              if (keysym == keys[i].keysym &&
-+              if (ev->keycode == keys[i].keycode &&
-                   CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) &&
-                   keys[i].func)
-                       keys[i].func(&(keys[i].arg));
-@@ -692,7 +690,6 @@ manage(Window w)
-               int i, j, nextpos;
-               unsigned int modifiers[] = { 0, LockMask, numlockmask,
-                                            numlockmask | LockMask };
--              KeyCode code;
-               Client *c;
-               XEvent e;
- 
-@@ -703,12 +700,10 @@ manage(Window w)
-               XSync(dpy, False);
- 
-               for (i = 0; i < LENGTH(keys); i++) {
--                      if ((code = XKeysymToKeycode(dpy, keys[i].keysym))) {
--                              for (j = 0; j < LENGTH(modifiers); j++) {
--                                      XGrabKey(dpy, code, keys[i].mod |
--                                               modifiers[j], w, True,
--                                               GrabModeAsync, GrabModeAsync);
--                              }
-+                      for (j = 0; j < LENGTH(modifiers); ++j) {
-+                              XGrabKey(dpy, keys[i].keycode,
-+                                       keys[i].mod | modifiers[j], w,
-+                                       True, GrabModeAsync, GrabModeAsync);
-                       }
-               }
- 
diff --git 
a/tools.suckless.org/tabbed/patches/tabbed-keycode-20170508-6dc3978.diff 
b/tools.suckless.org/tabbed/patches/tabbed-keycode-20170508-6dc3978.diff
new file mode 100644
index 0000000..13ed92d
--- /dev/null
+++ b/tools.suckless.org/tabbed/patches/tabbed-keycode-20170508-6dc3978.diff
@@ -0,0 +1,109 @@
+diff --git a/config.def.h b/config.def.h
+index 2d23049..b1384e4 100644
+--- a/config.def.h
++++ b/config.def.h
+@@ -36,31 +36,31 @@ static Bool npisrelative  = False;
+ #define MODKEY ControlMask
+ static Key keys[] = {
+       /* modifier             key        function     argument */
+-      { MODKEY|ShiftMask,     XK_Return, focusonce,   { 0 } },
+-      { MODKEY|ShiftMask,     XK_Return, spawn,       { 0 } },
++      { MODKEY|ShiftMask,     36,        focusonce,   { 0 } },
++      { MODKEY|ShiftMask,     36,        spawn,       { 0 } },
+ 
+-      { MODKEY|ShiftMask,     XK_l,      rotate,      { .i = +1 } },
+-      { MODKEY|ShiftMask,     XK_h,      rotate,      { .i = -1 } },
+-      { MODKEY|ShiftMask,     XK_j,      movetab,     { .i = -1 } },
+-      { MODKEY|ShiftMask,     XK_k,      movetab,     { .i = +1 } },
+-      { MODKEY,               XK_Tab,    rotate,      { .i = 0 } },
++      { MODKEY|ShiftMask,     46,        rotate,      { .i = +1 } },
++      { MODKEY|ShiftMask,     43,        rotate,      { .i = -1 } },
++      { MODKEY|ShiftMask,     44,        movetab,     { .i = -1 } },
++      { MODKEY|ShiftMask,     45,        movetab,     { .i = +1 } },
++      { MODKEY,               23,        rotate,      { .i = 0 } },
+ 
+-      { MODKEY,               XK_grave,  spawn,       
SETPROP("_TABBED_SELECT_TAB") },
+-      { MODKEY,               XK_1,      move,        { .i = 0 } },
+-      { MODKEY,               XK_2,      move,        { .i = 1 } },
+-      { MODKEY,               XK_3,      move,        { .i = 2 } },
+-      { MODKEY,               XK_4,      move,        { .i = 3 } },
+-      { MODKEY,               XK_5,      move,        { .i = 4 } },
+-      { MODKEY,               XK_6,      move,        { .i = 5 } },
+-      { MODKEY,               XK_7,      move,        { .i = 6 } },
+-      { MODKEY,               XK_8,      move,        { .i = 7 } },
+-      { MODKEY,               XK_9,      move,        { .i = 8 } },
+-      { MODKEY,               XK_0,      move,        { .i = 9 } },
++      { MODKEY,               49,        spawn,       
SETPROP("_TABBED_SELECT_TAB") },
++      { MODKEY,               10,        move,        { .i = 0 } },
++      { MODKEY,               11,        move,        { .i = 1 } },
++      { MODKEY,               12,        move,        { .i = 2 } },
++      { MODKEY,               13,        move,        { .i = 3 } },
++      { MODKEY,               14,        move,        { .i = 4 } },
++      { MODKEY,               15,        move,        { .i = 5 } },
++      { MODKEY,               16,        move,        { .i = 6 } },
++      { MODKEY,               17,        move,        { .i = 7 } },
++      { MODKEY,               18,        move,        { .i = 8 } },
++      { MODKEY,               19,        move,        { .i = 9 } },
+ 
+-      { MODKEY,               XK_q,      killclient,  { 0 } },
++      { MODKEY,               24,        killclient,  { 0 } },
+ 
+-      { MODKEY,               XK_u,      focusurgent, { 0 } },
+-      { MODKEY|ShiftMask,     XK_u,      toggle,      { .v = (void*) 
&urgentswitch } },
++      { MODKEY,               30,        focusurgent, { .v = NULL } },
++      { MODKEY|ShiftMask,     30,        toggle,      { .v = (void*) 
&urgentswitch } },
+ 
+-      { 0,                    XK_F11,    fullscreen,  { 0 } },
++      { 0,                    95,        fullscreen,  { 0 } },
+ };
+diff --git a/tabbed.c b/tabbed.c
+index ff3ada0..e30b4e2 100644
+--- a/tabbed.c
++++ b/tabbed.c
+@@ -58,7 +58,7 @@ typedef union {
+ 
+ typedef struct {
+       unsigned int mod;
+-      KeySym keysym;
++      KeyCode keycode;
+       void (*func)(const Arg *);
+       const Arg arg;
+ } Key;
+@@ -653,11 +653,9 @@ keypress(const XEvent *e)
+ {
+       const XKeyEvent *ev = &e->xkey;
+       unsigned int i;
+-      KeySym keysym;
+ 
+-      keysym = XkbKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0, 0);
+       for (i = 0; i < LENGTH(keys); i++) {
+-              if (keysym == keys[i].keysym &&
++              if (ev->keycode == keys[i].keycode &&
+                   CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) &&
+                   keys[i].func)
+                       keys[i].func(&(keys[i].arg));
+@@ -694,7 +692,6 @@ manage(Window w)
+               int i, j, nextpos;
+               unsigned int modifiers[] = { 0, LockMask, numlockmask,
+                                            numlockmask | LockMask };
+-              KeyCode code;
+               Client *c;
+               XEvent e;
+ 
+@@ -705,12 +702,10 @@ manage(Window w)
+               XSync(dpy, False);
+ 
+               for (i = 0; i < LENGTH(keys); i++) {
+-                      if ((code = XKeysymToKeycode(dpy, keys[i].keysym))) {
+-                              for (j = 0; j < LENGTH(modifiers); j++) {
+-                                      XGrabKey(dpy, code, keys[i].mod |
+-                                               modifiers[j], w, True,
+-                                               GrabModeAsync, GrabModeAsync);
+-                              }
++                      for (j = 0; j < LENGTH(modifiers); ++j) {
++                              XGrabKey(dpy, keys[i].keycode,
++                                       keys[i].mod | modifiers[j], w,
++                                       True, GrabModeAsync, GrabModeAsync);
+                       }
+               }
+ 


Reply via email to