tFix keypad mode and cursor mode - st - [fork] customized build of st, the simp… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 69ee3ba3a771ca60bc8738174c79fc851818a36b | |
parent 73177ba366e5363b8a6695882b52617a8909a925 | |
Author: Roberto E. Vargas Caballero <[email protected]> | |
Date: Tue, 13 Nov 2012 20:04:34 +0100 | |
Fix keypad mode and cursor mode | |
Keypad mode is used for detecting when keys in the auxiliary keypad are | |
pressed, while cursor mode is used for detecting when a cursor is pressed, | |
but they are different modes. | |
St was mixing both modes and DECPAM and DECPNM modified the cursor mode, and | |
tthis was incorrect. | |
--- | |
st.c | 5 +++-- | |
st.info | 4 ++-- | |
2 files changed, 5 insertions(+), 4 deletions(-) | |
Diffstat: | |
M st.c | 5 +++-- | |
M st.info | 4 ++-- | |
2 files changed, 5 insertions(+), 4 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -121,7 +121,8 @@ enum term_mode { | |
MODE_REVERSE = 128, | |
MODE_KBDLOCK = 256, | |
MODE_HIDE = 512, | |
- MODE_ECHO = 1024 | |
+ MODE_ECHO = 1024, | |
+ MODE_APPCURSOR = 2048 | |
}; | |
enum escape_state { | |
t@@ -1471,7 +1472,7 @@ tsetmode(bool priv, bool set, int *args, int narg) { | |
switch(*args) { | |
break; | |
case 1: /* DECCKM -- Cursor key */ | |
- MODBIT(term.mode, set, MODE_APPKEYPAD); | |
+ MODBIT(term.mode, set, MODE_APPCURSOR); | |
break; | |
case 5: /* DECSCNM -- Reverse video */ | |
mode = term.mode; | |
diff --git a/st.info b/st.info | |
t@@ -89,7 +89,7 @@ st| simpleterm, | |
ritm=\E[23m, | |
rmacs=\E(B, | |
rmcup=\E[?1049l, | |
-# rmkx=\E>, | |
+ rmkx=\E[?1l\E>, | |
rmso=\E[23m, | |
rmul=\E[m, | |
rs1=\Ec, | |
t@@ -104,7 +104,7 @@ st| simpleterm, | |
sitm=\E[3m, | |
smacs=\E(0, | |
smcup=\E[?1049h, | |
-# smkx=\E=, | |
+ smkx=\E[?1h\E=, | |
smso=\E[3m, | |
smul=\E[4m, | |
tbc=\E[3g, |