diff options
| -rw-r--r-- | st.c | 19 |
1 files changed, 5 insertions, 14 deletions
| @@ -3531,25 +3531,16 @@ kmap(KeySym k, uint state) { | |||
| 3531 | if(!match(kp->mask, state)) | 3531 | if(!match(kp->mask, state)) |
| 3532 | continue; | 3532 | continue; |
| 3533 | 3533 | ||
| 3534 | if(kp->appkey > 0) { | 3534 | if(IS_SET(MODE_APPKEYPAD) ? kp->appkey < 0 : kp->appkey > 0) |
| 3535 | if(!IS_SET(MODE_APPKEYPAD)) | 3535 | continue; |
| 3536 | continue; | 3536 | if(term.numlock && kp->appkey == 2) |
| 3537 | if(term.numlock && kp->appkey == 2) | ||
| 3538 | continue; | ||
| 3539 | } else if(kp->appkey < 0 && IS_SET(MODE_APPKEYPAD)) { | ||
| 3540 | continue; | 3537 | continue; |
| 3541 | } | ||
| 3542 | 3538 | ||
| 3543 | if((kp->appcursor < 0 && IS_SET(MODE_APPCURSOR)) || | 3539 | if(IS_SET(MODE_APPCURSOR) ? kp->appcursor < 0 : kp->appcursor > 0) |
| 3544 | (kp->appcursor > 0 | ||
| 3545 | && !IS_SET(MODE_APPCURSOR))) { | ||
| 3546 | continue; | 3540 | continue; |
| 3547 | } | ||
| 3548 | 3541 | ||
| 3549 | if((kp->crlf < 0 && IS_SET(MODE_CRLF)) || | 3542 | if(IS_SET(MODE_CRLF) ? kp->crlf < 0 : kp->crlf > 0) |
| 3550 | (kp->crlf > 0 && !IS_SET(MODE_CRLF))) { | ||
| 3551 | continue; | 3543 | continue; |
| 3552 | } | ||
| 3553 | 3544 | ||
| 3554 | return kp->s; | 3545 | return kp->s; |
| 3555 | } | 3546 | } |
