Fixing the tab key, when no mask is wanted.

This commit is contained in:
Christoph Lohmann 2012-11-14 06:37:24 +01:00
parent 7474a2fc37
commit 461aac159c
1 changed files with 6 additions and 1 deletions

7
st.c
View File

@ -2699,18 +2699,22 @@ kmap(KeySym k, uint state) {
if(kp->k != k) if(kp->k != k)
continue; continue;
if((state & mask) != mask &&
if((state & mask) != mask ||
(mask == XK_NO_MOD && state)) { (mask == XK_NO_MOD && state)) {
continue; continue;
} }
if((kp->appkey < 0 && IS_SET(MODE_APPKEYPAD)) || if((kp->appkey < 0 && IS_SET(MODE_APPKEYPAD)) ||
(kp->appkey > 0 && !IS_SET(MODE_APPKEYPAD))) { (kp->appkey > 0 && !IS_SET(MODE_APPKEYPAD))) {
continue; continue;
} }
if((kp->appcursor < 0 && IS_SET(MODE_APPCURSOR)) || if((kp->appcursor < 0 && IS_SET(MODE_APPCURSOR)) ||
(kp->appcursor > 0 && !IS_SET(MODE_APPCURSOR))) { (kp->appcursor > 0 && !IS_SET(MODE_APPCURSOR))) {
continue; continue;
} }
if((kp->crlf < 0 && IS_SET(MODE_CRLF)) || if((kp->crlf < 0 && IS_SET(MODE_CRLF)) ||
(kp->crlf > 0 && !IS_SET(MODE_CRLF))) { (kp->crlf > 0 && !IS_SET(MODE_CRLF))) {
continue; continue;
@ -2718,6 +2722,7 @@ kmap(KeySym k, uint state) {
return kp->s; return kp->s;
} }
return NULL; return NULL;
} }