summaryrefslogtreecommitdiffstats
path: root/tty-keys.c
diff options
context:
space:
mode:
authornicm <nicm>2020-07-06 07:27:39 +0000
committernicm <nicm>2020-07-06 07:27:39 +0000
commit2bf612a8066ab75725eeb09adf1ebc0f4fe851ab (patch)
tree8b9d3578dbff972938231c91051694133e1b0957 /tty-keys.c
parent1e426896611f81dd6306263cb337e7ea7d80238e (diff)
Always send xterm-style keys for M-Left and M-Right. GitHub issue 2296.
Diffstat (limited to 'tty-keys.c')
-rw-r--r--tty-keys.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/tty-keys.c b/tty-keys.c
index 4904ba35..19ad4f5b 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -95,18 +95,34 @@ 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 },
+
/* Other (xterm) "cursor" keys. */
{ "\033OH", KEYC_HOME },
{ "\033OF", KEYC_END },
+ { "\033\033OH", KEYC_HOME|KEYC_META|KEYC_IMPLIED_META },
+ { "\033\033OF", KEYC_END|KEYC_META|KEYC_IMPLIED_META },
+
{ "\033[H", KEYC_HOME },
{ "\033[F", KEYC_END },
+ { "\033\033[H", KEYC_HOME|KEYC_META|KEYC_IMPLIED_META },
+ { "\033\033[F", KEYC_END|KEYC_META|KEYC_IMPLIED_META },
+
/* rxvt-style arrow + modifier keys. */
{ "\033Oa", KEYC_UP|KEYC_CTRL },
{ "\033Ob", KEYC_DOWN|KEYC_CTRL },