version 1.25, 2009/11/30 16:44:03 |
version 1.26, 2009/12/01 07:59:40 |
|
|
goto handle_key; |
goto handle_key; |
} |
} |
|
|
/* Look for matching key string and return if found. */ |
/* Is this a mouse key press? */ |
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? */ |
|
switch (tty_keys_mouse(buf, len, &size, &mouse)) { |
switch (tty_keys_mouse(buf, len, &size, &mouse)) { |
case 0: /* yes */ |
case 0: /* yes */ |
evbuffer_drain(tty->event->input, size); |
evbuffer_drain(tty->event->input, size); |
|
|
goto partial_key; |
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)) { |
switch (xterm_keys_find(buf, len, &size, &key)) { |
case 0: /* found */ |
case 0: /* found */ |
evbuffer_drain(tty->event->input, size); |
evbuffer_drain(tty->event->input, size); |
|
|
break; |
break; |
case 1: |
case 1: |
goto partial_key; |
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. */ |
/* Skip the escape. */ |