diff options
-rw-r--r-- | input-keys.c | 6 |
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: |