~petersanchez/st

16ccf344deccbae53865b6efbe9dc23ebdceccb7 — Roberto E. Vargas Caballero 11 years ago 461aac1
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(-)
2 files changed, 2 insertions(+), 2 deletions(-)

M config.def.h
M st.c
M config.def.h => config.def.h +1 -1
@@ 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},

M st.c => st.c +1 -1
@@ 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;
		}