diff options
| -rw-r--r-- | config.def.h | 2 | ||||
| -rw-r--r-- | config.mk | 1 | ||||
| -rw-r--r-- | st.c | 16 |
3 files changed, 13 insertions, 6 deletions
diff --git a/config.def.h b/config.def.h index d6103b5..5d887fc 100644 --- a/config.def.h +++ b/config.def.h | |||
| @@ -131,7 +131,7 @@ static Key key[] = { | |||
| 131 | { XK_Down, ShiftMask, "\033[1;2B", 0, 0, 0}, | 131 | { XK_Down, ShiftMask, "\033[1;2B", 0, 0, 0}, |
| 132 | { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0}, | 132 | { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0}, |
| 133 | { XK_Down, Mod1Mask, "\033[1;3B", 0, 0, 0}, | 133 | { XK_Down, Mod1Mask, "\033[1;3B", 0, 0, 0}, |
| 134 | { XK_Left, XK_NO_MOD, "\033[D", 0, -1, 0}, | 134 | { XK_Left, XK_NO_MOD, "\033[D", 0, -1, 0}, |
| 135 | { XK_Left, XK_NO_MOD, "\033OD", 0, +1, 0}, | 135 | { XK_Left, XK_NO_MOD, "\033OD", 0, +1, 0}, |
| 136 | { XK_Left, ShiftMask, "\033[1;2D", 0, 0, 0}, | 136 | { XK_Left, ShiftMask, "\033[1;2D", 0, 0, 0}, |
| 137 | { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0}, | 137 | { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0}, |
| @@ -21,3 +21,4 @@ LDFLAGS += -g ${LIBS} | |||
| 21 | 21 | ||
| 22 | # compiler and linker | 22 | # compiler and linker |
| 23 | CC ?= cc | 23 | CC ?= cc |
| 24 | |||
| @@ -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 | ||
