summaryrefslogtreecommitdiffstats
path: root/input-keys.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2020-05-16 07:39:22 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2020-05-16 07:39:22 +0100
commit53c84fd4aa87b4ff80e79ef79155f13c69f1aebc (patch)
tree1431403e54633df8257a83289bd067e6c27a8fd3 /input-keys.c
parent740f047a850cb189d67dc17938e86fcd2bdfb1c6 (diff)
If the application has not requested extended keys, then C-1 sends 1 not
nothing.
Diffstat (limited to 'input-keys.c')
-rw-r--r--input-keys.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/input-keys.c b/input-keys.c
index a6bd6eca..59b3495e 100644
--- a/input-keys.c
+++ b/input-keys.c
@@ -496,8 +496,12 @@ input_key(struct screen *s, struct bufferevent *bev, key_code key)
}
/* No builtin key sequence; construct an extended key sequence. */
- if (~s->mode & MODE_KEXTENDED)
+ if (~s->mode & MODE_KEXTENDED) {
+ if ((key & KEYC_MASK_MODIFIERS) == KEYC_CTRL &&
+ (key & KEYC_MASK_KEY) < KEYC_BASE)
+ return (input_key(s, bev, key & ~KEYC_CTRL));
goto missing;
+ }
outkey = (key & KEYC_MASK_KEY);
switch (key & KEYC_MASK_MODIFIERS) {
case KEYC_SHIFT: