mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 05:21:10 +00:00
Ignore internal function keys if they have not got an entry in the key
table.
This commit is contained in:
12
input-keys.c
12
input-keys.c
@ -499,9 +499,8 @@ input_key_vt10x(struct bufferevent *bev, key_code key)
|
||||
return (0);
|
||||
}
|
||||
|
||||
onlykey = key & KEYC_MASK_KEY;
|
||||
|
||||
/* Prevent TAB and RET from being swallowed by C0 remapping logic. */
|
||||
onlykey = key & KEYC_MASK_KEY;
|
||||
if (onlykey == '\r' || onlykey == '\t')
|
||||
key &= ~KEYC_CTRL;
|
||||
|
||||
@ -594,7 +593,7 @@ input_key(struct screen *s, struct bufferevent *bev, key_code key)
|
||||
|
||||
/* Is this backtab? */
|
||||
if ((key & KEYC_MASK_KEY) == KEYC_BTAB) {
|
||||
if (s->mode & EXTENDED_KEY_MODES) {
|
||||
if ((s->mode & EXTENDED_KEY_MODES) != 0) {
|
||||
/* When in xterm extended mode, remap into S-Tab. */
|
||||
key = '\011' | (key & ~KEYC_MASK_KEY) | KEYC_SHIFT;
|
||||
} else {
|
||||
@ -651,6 +650,13 @@ input_key(struct screen *s, struct bufferevent *bev, key_code key)
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* Ignore internal function key codes. */
|
||||
if ((key >= KEYC_BASE && key < KEYC_BASE_END) ||
|
||||
(key >= KEYC_USER && key < KEYC_USER_END)) {
|
||||
log_debug("%s: ignoring key 0x%llx", __func__, key);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
* No builtin key sequence; construct an extended key sequence
|
||||
* depending on the client mode.
|
||||
|
Reference in New Issue
Block a user