diff options
author | 2020-09-23 14:57:33 +0000 | |
---|---|---|
committer | 2020-09-23 14:57:33 +0000 | |
commit | 30233ff71472d3c22c22649260204778e185c904 (patch) | |
tree | 864f5be9c6041262b744aa88afd8f05adc71f591 /usr.bin/tmux/tty-keys.c | |
parent | Add new 'set cert_partial_chain' config option to allow verification of (diff) | |
download | wireguard-openbsd-30233ff71472d3c22c22649260204778e185c904.tar.xz wireguard-openbsd-30233ff71472d3c22c22649260204778e185c904.zip |
Escape+Up and the other arrow keys should be kept as Escape+Up and not
converted to M-Up. Do not give them the implied meta flag so they don't
match the M-Up entry in the output key tree. Fixes problem with vi
reported by jsing@.
Diffstat (limited to 'usr.bin/tmux/tty-keys.c')
-rw-r--r-- | usr.bin/tmux/tty-keys.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/usr.bin/tmux/tty-keys.c b/usr.bin/tmux/tty-keys.c index 75324f0ac23..bf56cc25e4b 100644 --- a/usr.bin/tmux/tty-keys.c +++ b/usr.bin/tmux/tty-keys.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tty-keys.c,v 1.141 2020/08/24 05:23:30 nicm Exp $ */ +/* $OpenBSD: tty-keys.c,v 1.142 2020/09/23 14:57:33 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -95,20 +95,25 @@ static const struct tty_default_key_raw tty_default_raw_keys[] = { { "\033OC", KEYC_RIGHT|KEYC_CURSOR }, { "\033OD", KEYC_LEFT|KEYC_CURSOR }, - { "\033\033OA", KEYC_UP|KEYC_CURSOR|KEYC_META|KEYC_IMPLIED_META }, - { "\033\033OB", KEYC_DOWN|KEYC_CURSOR|KEYC_META|KEYC_IMPLIED_META }, - { "\033\033OC", KEYC_RIGHT|KEYC_CURSOR|KEYC_META|KEYC_IMPLIED_META }, - { "\033\033OD", KEYC_LEFT|KEYC_CURSOR|KEYC_META|KEYC_IMPLIED_META }, - { "\033[A", KEYC_UP|KEYC_CURSOR }, { "\033[B", KEYC_DOWN|KEYC_CURSOR }, { "\033[C", KEYC_RIGHT|KEYC_CURSOR }, { "\033[D", KEYC_LEFT|KEYC_CURSOR }, - { "\033\033[A", KEYC_UP|KEYC_CURSOR|KEYC_META|KEYC_IMPLIED_META }, - { "\033\033[B", KEYC_DOWN|KEYC_CURSOR|KEYC_META|KEYC_IMPLIED_META }, - { "\033\033[C", KEYC_RIGHT|KEYC_CURSOR|KEYC_META|KEYC_IMPLIED_META }, - { "\033\033[D", KEYC_LEFT|KEYC_CURSOR|KEYC_META|KEYC_IMPLIED_META }, + /* + * Meta arrow keys. These do not get the IMPLIED_META flag so they + * don't match the xterm-style meta keys in the output tree - Escape+Up + * should stay as Escape+Up and not become M-Up. + */ + { "\033\033OA", KEYC_UP|KEYC_CURSOR|KEYC_META }, + { "\033\033OB", KEYC_DOWN|KEYC_CURSOR|KEYC_META }, + { "\033\033OC", KEYC_RIGHT|KEYC_CURSOR|KEYC_META }, + { "\033\033OD", KEYC_LEFT|KEYC_CURSOR|KEYC_META }, + + { "\033\033[A", KEYC_UP|KEYC_CURSOR|KEYC_META }, + { "\033\033[B", KEYC_DOWN|KEYC_CURSOR|KEYC_META }, + { "\033\033[C", KEYC_RIGHT|KEYC_CURSOR|KEYC_META }, + { "\033\033[D", KEYC_LEFT|KEYC_CURSOR|KEYC_META }, /* Other (xterm) "cursor" keys. */ { "\033OH", KEYC_HOME }, |