diff options
author | nicm <nicm> | 2021-04-13 05:23:34 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2021-04-13 08:37:57 +0100 |
commit | f29d3c7f74c10666c9970382ea735e11e12186c5 (patch) | |
tree | d96448364cbbdd300d1a810a70d37b7a5c4a496f | |
parent | 30cf20d6153924d031fefde1e4ca7cfe31b32d88 (diff) | |
download | rtmux-f29d3c7f74c10666c9970382ea735e11e12186c5.tar.gz rtmux-f29d3c7f74c10666c9970382ea735e11e12186c5.tar.bz2 rtmux-f29d3c7f74c10666c9970382ea735e11e12186c5.zip |
Handle C-Tab correctly with extended keys, GitHub issue 2642.
-rw-r--r-- | tty-keys.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -953,11 +953,14 @@ tty_keys_extended_key(struct tty *tty, const char *buf, size_t len, * Don't allow both KEYC_CTRL and as an implied modifier. Also convert * C-X into C-x and so on. */ - if (nkey & KEYC_CTRL){ + if (nkey & KEYC_CTRL) { onlykey = (nkey & KEYC_MASK_KEY); - if (onlykey < 32) - onlykey = (nkey & ~KEYC_CTRL); - else { + if (onlykey < 32) { + if (onlykey != 9) + onlykey = (nkey & ~KEYC_CTRL); + else + onlykey = (9|KEYC_CTRL); + } else { if (onlykey >= 97 && onlykey <= 122) onlykey -= 96; else if (onlykey >= 64 && onlykey <= 95) |