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 this was incorrect. --- st.c | 5 +++-- st.info | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
M
st.c
→
st.c
@@ -121,7 +121,8 @@ MODE_MOUSE = 32|64,
MODE_REVERSE = 128, MODE_KBDLOCK = 256, MODE_HIDE = 512, - MODE_ECHO = 1024 + MODE_ECHO = 1024, + MODE_APPCURSOR = 2048 }; enum escape_state {@@ -1471,7 +1472,7 @@ if(priv) {
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;
M
st.info
→
st.info
@@ -89,7 +89,7 @@ ri=\EM,
ritm=\E[23m, rmacs=\E(B, rmcup=\E[?1049l, -# rmkx=\E>, + rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[m, rs1=\Ec,@@ -104,7 +104,7 @@ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
sitm=\E[3m, smacs=\E(0, smcup=\E[?1049h, -# smkx=\E=, + smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g,