diff options
| author | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2012-11-13 20:04:34 +0100 |
|---|---|---|
| committer | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2012-11-13 20:04:34 +0100 |
| commit | 69ee3ba3a771ca60bc8738174c79fc851818a36b (patch) | |
| tree | 7e2626d8012466682209f58798fc982f3c466092 /st.c | |
| parent | Add SRM sequence (diff) | |
| download | st-69ee3ba3a771ca60bc8738174c79fc851818a36b.tar.gz st-69ee3ba3a771ca60bc8738174c79fc851818a36b.zip | |
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(-)
Diffstat (limited to '')
| -rw-r--r-- | st.c | 5 |
1 files changed, 3 insertions, 2 deletions
| @@ -121,7 +121,8 @@ enum term_mode { | |||
| 121 | MODE_REVERSE = 128, | 121 | MODE_REVERSE = 128, |
| 122 | MODE_KBDLOCK = 256, | 122 | MODE_KBDLOCK = 256, |
| 123 | MODE_HIDE = 512, | 123 | MODE_HIDE = 512, |
| 124 | MODE_ECHO = 1024 | 124 | MODE_ECHO = 1024, |
| 125 | MODE_APPCURSOR = 2048 | ||
| 125 | }; | 126 | }; |
| 126 | 127 | ||
| 127 | enum escape_state { | 128 | enum escape_state { |
| @@ -1471,7 +1472,7 @@ tsetmode(bool priv, bool set, int *args, int narg) { | |||
| 1471 | switch(*args) { | 1472 | switch(*args) { |
| 1472 | break; | 1473 | break; |
| 1473 | case 1: /* DECCKM -- Cursor key */ | 1474 | case 1: /* DECCKM -- Cursor key */ |
| 1474 | MODBIT(term.mode, set, MODE_APPKEYPAD); | 1475 | MODBIT(term.mode, set, MODE_APPCURSOR); |
| 1475 | break; | 1476 | break; |
| 1476 | case 5: /* DECSCNM -- Reverse video */ | 1477 | case 5: /* DECSCNM -- Reverse video */ |
| 1477 | mode = term.mode; | 1478 | mode = term.mode; |
