mirror of https://github.com/tmux/tmux.git
Look for mice and xterm keys before standard function keys as they are less
likely to be partial versions.pull/1/head
parent
29a5931c6a
commit
f27fefd7b8
18
tty-keys.c
18
tty-keys.c
|
@ -453,14 +453,7 @@ tty_keys_next(struct tty *tty)
|
|||
goto handle_key;
|
||||
}
|
||||
|
||||
/* Look for matching key string and return if found. */
|
||||
tk = tty_keys_find(tty, buf + 1, len - 1, &size);
|
||||
if (tk != NULL) {
|
||||
key = tk->key;
|
||||
goto found_key;
|
||||
}
|
||||
|
||||
/* Not found. Is this a mouse key press? */
|
||||
/* Is this a mouse key press? */
|
||||
switch (tty_keys_mouse(buf, len, &size, &mouse)) {
|
||||
case 0: /* yes */
|
||||
evbuffer_drain(tty->event->input, size);
|
||||
|
@ -472,7 +465,7 @@ tty_keys_next(struct tty *tty)
|
|||
goto partial_key;
|
||||
}
|
||||
|
||||
/* Not found. Try to parse a key with an xterm-style modifier. */
|
||||
/* Try to parse a key with an xterm-style modifier. */
|
||||
switch (xterm_keys_find(buf, len, &size, &key)) {
|
||||
case 0: /* found */
|
||||
evbuffer_drain(tty->event->input, size);
|
||||
|
@ -483,6 +476,13 @@ tty_keys_next(struct tty *tty)
|
|||
goto partial_key;
|
||||
}
|
||||
|
||||
/* Look for matching key string and return if found. */
|
||||
tk = tty_keys_find(tty, buf + 1, len - 1, &size);
|
||||
if (tk != NULL) {
|
||||
key = tk->key;
|
||||
goto found_key;
|
||||
}
|
||||
|
||||
/* Skip the escape. */
|
||||
buf++;
|
||||
len--;
|
||||
|
|
Loading…
Reference in New Issue