Commit 16ccf34

Roberto E. Vargas Caballero <k0ga@shike2.com>
2012-11-14 05:14:29
Fix tab key
When Shift + Tab is pressed X server send the event XK_ISO_Left_Tab with ShiftMask, so this is the entry we need in config.def.h This patch also revert the previous patch for this issue because it breaks the keyboard. --- config.def.h | 2 +- st.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
1 parent 461aac1
Changed files (2)
config.def.h
@@ -141,7 +141,7 @@ static Key key[] = {
 	{ XK_Right,         ShiftMask,      "\033[1;2C",     0,    0,    0},
 	{ XK_Right,         ControlMask,    "\033[1;5C",     0,    0,    0},
 	{ XK_Right,         Mod1Mask,       "\033[1;3C",     0,    0,    0},
-	{ XK_Tab,           ShiftMask,      "\033[Z",        0,    0,    0},
+	{ XK_ISO_Left_Tab,  ShiftMask,      "\033[Z",        0,    0,    0},
 	{ XK_Return,        XK_NO_MOD,      "\n",            0,    0,   -1},
 	{ XK_Return,        XK_NO_MOD,      "\r\n",          0,    0,   +1},
 	{ XK_Return,        Mod1Mask,       "\033\n",        0,    0,   -1},
st.c
@@ -2700,7 +2700,7 @@ kmap(KeySym k, uint state) {
 		if(kp->k != k)
 			continue;
 
-		if((state & mask) != mask ||
+		if((state & mask) != mask &&
 				(mask == XK_NO_MOD && state)) {
 			continue;
 		}