Look for mice and xterm keys before standard function keys as they are less

likely to be partial versions.
This commit is contained in:
Nicholas Marriott 2009-12-01 07:59:40 +00:00
parent 29a5931c6a
commit f27fefd7b8

View File

@ -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--;