From 69ee3ba3a771ca60bc8738174c79fc851818a36b Mon Sep 17 00:00:00 2001 From: "Roberto E. Vargas Caballero" Date: Tue, 13 Nov 2012 20:04:34 +0100 Subject: 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(-) --- st.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'st.c') diff --git a/st.c b/st.c index 8bf9337..683a0e9 100644 --- a/st.c +++ b/st.c @@ -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 { @@ -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; -- cgit v1.2.3