Fixing the tab key, when no mask is wanted.
authorChristoph Lohmann <20h@r-36.net>
Wed, 14 Nov 2012 05:37:24 +0000 (06:37 +0100)
committerChristoph Lohmann <20h@r-36.net>
Wed, 14 Nov 2012 05:37:24 +0000 (06:37 +0100)
st.c

diff --git a/st.c b/st.c
index dbbc1f6..ca4248a 100644 (file)
--- a/st.c
+++ b/st.c
@@ -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;
 }