diff options
author | Christoph Lohmann <20h@r-36.net> | 2012-11-14 06:37:24 +0100 |
---|---|---|
committer | Christoph Lohmann <20h@r-36.net> | 2012-11-14 06:37:24 +0100 |
commit | 461aac159cf3dbb8514e645df6387e03e7c26084 (patch) | |
tree | 29c87a558f3fd2e3789f0e01aa9c984e11c7fb08 | |
parent | 7474a2fc3785eb1aad00f8cf2b50711bbe1fff0b (diff) |
Fixing the tab key, when no mask is wanted.
-rw-r--r-- | st.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -2699,18 +2699,22 @@ kmap(KeySym k, uint state) { if(kp->k != k) continue; - if((state & mask) != mask && + + if((state & mask) != mask || (mask == XK_NO_MOD && state)) { continue; } + if((kp->appkey < 0 && IS_SET(MODE_APPKEYPAD)) || (kp->appkey > 0 && !IS_SET(MODE_APPKEYPAD))) { continue; } + if((kp->appcursor < 0 && IS_SET(MODE_APPCURSOR)) || (kp->appcursor > 0 && !IS_SET(MODE_APPCURSOR))) { continue; } + if((kp->crlf < 0 && IS_SET(MODE_CRLF)) || (kp->crlf > 0 && !IS_SET(MODE_CRLF))) { continue; @@ -2718,6 +2722,7 @@ kmap(KeySym k, uint state) { return kp->s; } + return NULL; } |