summaryrefslogtreecommitdiffstats
path: root/tty-keys.c
diff options
context:
space:
mode:
authornicm <nicm>2021-06-10 07:21:09 +0000
committernicm <nicm>2021-06-10 07:21:09 +0000
commite5106bfb9660d5c9470acf9defa1084c61a070d4 (patch)
treedba88c7dde7c1e4a065df2312d049f46de128187 /tty-keys.c
parent33f9b08bbb043e1fdf5638a6ae517ab7f5e4547a (diff)
Add another couple of keys needed for extended keys, GitHub issue 2658.
Handle modifier 9 as Meta, GitHub issue 2647.
Diffstat (limited to 'tty-keys.c')
-rw-r--r--tty-keys.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/tty-keys.c b/tty-keys.c
index 040e7005..3012be3d 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -252,7 +252,8 @@ static const key_code tty_default_xterm_modifiers[] = {
KEYC_CTRL,
KEYC_SHIFT|KEYC_CTRL,
KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL,
- KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL
+ KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL,
+ KEYC_META|KEYC_IMPLIED_META
};
/*
@@ -944,6 +945,9 @@ tty_keys_extended_key(struct tty *tty, const char *buf, size_t len,
case 8:
nkey |= (KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL);
break;
+ case 9:
+ nkey |= (KEYC_META|KEYC_IMPLIED_META);
+ break;
default:
*key = KEYC_NONE;
break;
@@ -955,7 +959,10 @@ tty_keys_extended_key(struct tty *tty, const char *buf, size_t len,
*/
if (nkey & KEYC_CTRL) {
onlykey = (nkey & KEYC_MASK_KEY);
- if (onlykey < 32 && onlykey != 9)
+ if (onlykey < 32 &&
+ onlykey != 9 &&
+ onlykey != 13 &&
+ onlykey != 27)
/* nothing */;
else if (onlykey >= 97 && onlykey <= 122)
onlykey -= 96;