aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Edgar <medgar123@gmail.com>2013-09-22 00:07:49 +0200
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2013-10-20 09:53:34 +0200
commit297c886b72f4e9093973aaa14b66d392f6196634 (patch)
treec5a84250c4ccd726c8453018cd98624513dc5128
parent0f6942cdf6f8220f1ecd06e4b398e95c43833d44 (diff)
downloadst-297c886b72f4e9093973aaa14b66d392f6196634.tar.gz
st-297c886b72f4e9093973aaa14b66d392f6196634.tar.bz2
Ignore numlock (Mod2Mask) for button events too.
Conflicts: config.def.h st.c
-rw-r--r--config.def.h6
-rw-r--r--st.c1
2 files changed, 3 insertions, 4 deletions
diff --git a/config.def.h b/config.def.h
index def6c9e..2a7e098 100644
--- a/config.def.h
+++ b/config.def.h
@@ -146,10 +146,10 @@ static Shortcut shortcuts[] = {
static KeySym mappedkeys[] = { -1 };
/*
- * Which bits of the state should be ignored. By default the state bit for the
- * keyboard layout (XK_SWITCH_MOD) is ignored.
+ * State bits to ignore when matching key or button events. By default,
+ * numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored.
*/
-uint ignoremod = XK_SWITCH_MOD;
+static uint ignoremod = Mod2Mask|XK_SWITCH_MOD;
/* key, mask, output, keypad, cursor, crlf */
static Key key[] = {
diff --git a/st.c b/st.c
index 50b58a7..12e1e1f 100644
--- a/st.c
+++ b/st.c
@@ -3579,7 +3579,6 @@ kpress(XEvent *ev) {
return;
len = XmbLookupString(xw.xic, e, buf, sizeof buf, &ksym, &status);
- e->state &= ~Mod2Mask;
/* 1. shortcuts */
for(bp = shortcuts; bp < shortcuts + LEN(shortcuts); bp++) {
if(ksym == bp->keysym && match(bp->mod, e->state)) {