I forgot the patch, sorry.

On Wed, Nov 14, 2012 at 11:08:27AM +0100, Roberto E. Vargas Caballero wrote:
> Hello,
>
>       After last patch serie tab key was not working correctly and this
> patch fix the problem. I also want to comment this line in kmap:
>
>       state &= ~Mod2Mask
>
> I don't know why this line is writing there, but it removes any combination
> using Super key. I think it is necessary remove this line.
>
> Best regards,
>From d87011d514e2e20a962d482bb432825bc713087b Mon Sep 17 00:00:00 2001
From: "Roberto E. Vargas Caballero" <k...@shike2.com>
Date: Wed, 14 Nov 2012 11:00:08 +0100
Subject: 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(-)

diff --git a/config.def.h b/config.def.h
index 7a785a3..68261a5 100644
--- a/config.def.h
+++ b/config.def.h
@@ -145,7 +145,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},
diff --git a/st.c b/st.c
index ca4248a..932253c 100644
--- a/st.c
+++ b/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;
 		}
-- 
1.7.10.4

Reply via email to