aboutsummaryrefslogtreecommitdiff
path: root/tty-keys.c
diff options
context:
space:
mode:
Diffstat (limited to 'tty-keys.c')
-rw-r--r--tty-keys.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/tty-keys.c b/tty-keys.c
index 26bb2861..d977708d 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -341,6 +341,13 @@ tty_keys_next(struct tty *tty, int *key, struct mouse_event *mouse)
goto found;
}
+ /* Not found. Try to parse a key with an xterm-style modifier. */
+ *key = xterm_keys_find(buf, len, &size);
+ if (*key != KEYC_NONE) {
+ buffer_remove(tty->in, size);
+ goto found;
+ }
+
/* Escape but no key string. If the timer isn't started, start it. */
if (!(tty->flags & TTY_ESCAPE)) {
tv.tv_sec = 0;