diff options
Diffstat (limited to 'st.c')
-rw-r--r-- | st.c | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -2700,17 +2700,21 @@ kmap(KeySym k, uint state) { | |||
2700 | if(kp->k != k) | 2700 | if(kp->k != k) |
2701 | continue; | 2701 | continue; |
2702 | if((state & mask) != mask && | 2702 | if((state & mask) != mask && |
2703 | (mask == XK_NO_MOD && state)) | 2703 | (mask == XK_NO_MOD && state)) { |
2704 | continue; | 2704 | continue; |
2705 | } | ||
2705 | if((kp->appkey < 0 && IS_SET(MODE_APPKEYPAD)) || | 2706 | if((kp->appkey < 0 && IS_SET(MODE_APPKEYPAD)) || |
2706 | (kp->appkey > 0 && !IS_SET(MODE_APPKEYPAD))) | 2707 | (kp->appkey > 0 && !IS_SET(MODE_APPKEYPAD))) { |
2707 | continue; | 2708 | continue; |
2709 | } | ||
2708 | if((kp->appcursor < 0 && IS_SET(MODE_APPCURSOR)) || | 2710 | if((kp->appcursor < 0 && IS_SET(MODE_APPCURSOR)) || |
2709 | (kp->appcursor > 0 && !IS_SET(MODE_APPCURSOR))) | 2711 | (kp->appcursor > 0 && !IS_SET(MODE_APPCURSOR))) { |
2710 | continue; | 2712 | continue; |
2713 | } | ||
2711 | if((kp->crlf < 0 && IS_SET(MODE_CRLF)) || | 2714 | if((kp->crlf < 0 && IS_SET(MODE_CRLF)) || |
2712 | (kp->crlf > 0 && !IS_SET(MODE_CRLF))) | 2715 | (kp->crlf > 0 && !IS_SET(MODE_CRLF))) { |
2713 | continue; | 2716 | continue; |
2717 | } | ||
2714 | 2718 | ||
2715 | return kp->s; | 2719 | return kp->s; |
2716 | } | 2720 | } |
@@ -2755,6 +2759,7 @@ kpress(XEvent *ev) { | |||
2755 | memcpy(cp, xstr, len); | 2759 | memcpy(cp, xstr, len); |
2756 | len = cp - buf + len; | 2760 | len = cp - buf + len; |
2757 | } | 2761 | } |
2762 | |||
2758 | ttywrite(buf, len); | 2763 | ttywrite(buf, len); |
2759 | if(IS_SET(MODE_ECHO)) | 2764 | if(IS_SET(MODE_ECHO)) |
2760 | techo(buf, len); | 2765 | techo(buf, len); |
@@ -2869,7 +2874,7 @@ main(int argc, char *argv[]) { | |||
2869 | opt_class = argv[i]; | 2874 | opt_class = argv[i]; |
2870 | break; | 2875 | break; |
2871 | case 'e': | 2876 | case 'e': |
2872 | /* eat every remaining arguments */ | 2877 | /* eat all remaining arguments */ |
2873 | if(++i < argc) | 2878 | if(++i < argc) |
2874 | opt_cmd = &argv[i]; | 2879 | opt_cmd = &argv[i]; |
2875 | goto run; | 2880 | goto run; |
@@ -2924,6 +2929,7 @@ run: | |||
2924 | ttynew(); | 2929 | ttynew(); |
2925 | selinit(); | 2930 | selinit(); |
2926 | run(); | 2931 | run(); |
2932 | |||
2927 | return 0; | 2933 | return 0; |
2928 | } | 2934 | } |
2929 | 2935 | ||