aboutsummaryrefslogtreecommitdiff
path: root/tty-keys.c
diff options
context:
space:
mode:
Diffstat (limited to 'tty-keys.c')
-rw-r--r--tty-keys.c264
1 files changed, 132 insertions, 132 deletions
diff --git a/tty-keys.c b/tty-keys.c
index 1c424c5d..99200689 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -225,13 +225,13 @@ static const struct tty_default_key_xterm tty_default_xterm_keys[] = {
static const key_code tty_default_xterm_modifiers[] = {
0,
0,
- KEYC_SHIFT|KEYC_XTERM,
- KEYC_META|KEYC_XTERM,
- KEYC_SHIFT|KEYC_META|KEYC_XTERM,
- KEYC_CTRL|KEYC_XTERM,
- KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM,
- KEYC_META|KEYC_CTRL|KEYC_XTERM,
- KEYC_SHIFT|KEYC_META|KEYC_CTRL|KEYC_XTERM
+ KEYC_SHIFT,
+ KEYC_META|KEYC_IMPLIED_META,
+ KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META,
+ KEYC_CTRL,
+ KEYC_SHIFT|KEYC_CTRL,
+ KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL,
+ KEYC_SHIFT|KEYC_META|KEYC_CTRL
};
/*
@@ -258,61 +258,61 @@ static const struct tty_default_key_code tty_default_code_keys[] = {
{ TTYC_KF11, KEYC_F11 },
{ TTYC_KF12, KEYC_F12 },
- { TTYC_KF13, KEYC_F1|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF14, KEYC_F2|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF15, KEYC_F3|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF16, KEYC_F4|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF17, KEYC_F5|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF18, KEYC_F6|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF19, KEYC_F7|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF20, KEYC_F8|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF21, KEYC_F9|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF22, KEYC_F10|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF23, KEYC_F11|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF24, KEYC_F12|KEYC_SHIFT|KEYC_XTERM },
-
- { TTYC_KF25, KEYC_F1|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF26, KEYC_F2|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF27, KEYC_F3|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF28, KEYC_F4|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF29, KEYC_F5|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF30, KEYC_F6|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF31, KEYC_F7|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF32, KEYC_F8|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF33, KEYC_F9|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF34, KEYC_F10|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF35, KEYC_F11|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF36, KEYC_F12|KEYC_CTRL|KEYC_XTERM },
-
- { TTYC_KF37, KEYC_F1|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF38, KEYC_F2|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF39, KEYC_F3|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF40, KEYC_F4|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF41, KEYC_F5|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF42, KEYC_F6|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF43, KEYC_F7|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF44, KEYC_F8|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF45, KEYC_F9|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF46, KEYC_F10|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF47, KEYC_F11|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KF48, KEYC_F12|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
-
- { TTYC_KF49, KEYC_F1|KEYC_META|KEYC_XTERM },
- { TTYC_KF50, KEYC_F2|KEYC_META|KEYC_XTERM },
- { TTYC_KF51, KEYC_F3|KEYC_META|KEYC_XTERM },
- { TTYC_KF52, KEYC_F4|KEYC_META|KEYC_XTERM },
- { TTYC_KF53, KEYC_F5|KEYC_META|KEYC_XTERM },
- { TTYC_KF54, KEYC_F6|KEYC_META|KEYC_XTERM },
- { TTYC_KF55, KEYC_F7|KEYC_META|KEYC_XTERM },
- { TTYC_KF56, KEYC_F8|KEYC_META|KEYC_XTERM },
- { TTYC_KF57, KEYC_F9|KEYC_META|KEYC_XTERM },
- { TTYC_KF58, KEYC_F10|KEYC_META|KEYC_XTERM },
- { TTYC_KF59, KEYC_F11|KEYC_META|KEYC_XTERM },
- { TTYC_KF60, KEYC_F12|KEYC_META|KEYC_XTERM },
-
- { TTYC_KF61, KEYC_F1|KEYC_META|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF62, KEYC_F2|KEYC_META|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KF63, KEYC_F3|KEYC_META|KEYC_SHIFT|KEYC_XTERM },
+ { TTYC_KF13, KEYC_F1|KEYC_SHIFT },
+ { TTYC_KF14, KEYC_F2|KEYC_SHIFT },
+ { TTYC_KF15, KEYC_F3|KEYC_SHIFT },
+ { TTYC_KF16, KEYC_F4|KEYC_SHIFT },
+ { TTYC_KF17, KEYC_F5|KEYC_SHIFT },
+ { TTYC_KF18, KEYC_F6|KEYC_SHIFT },
+ { TTYC_KF19, KEYC_F7|KEYC_SHIFT },
+ { TTYC_KF20, KEYC_F8|KEYC_SHIFT },
+ { TTYC_KF21, KEYC_F9|KEYC_SHIFT },
+ { TTYC_KF22, KEYC_F10|KEYC_SHIFT },
+ { TTYC_KF23, KEYC_F11|KEYC_SHIFT },
+ { TTYC_KF24, KEYC_F12|KEYC_SHIFT },
+
+ { TTYC_KF25, KEYC_F1|KEYC_CTRL },
+ { TTYC_KF26, KEYC_F2|KEYC_CTRL },
+ { TTYC_KF27, KEYC_F3|KEYC_CTRL },
+ { TTYC_KF28, KEYC_F4|KEYC_CTRL },
+ { TTYC_KF29, KEYC_F5|KEYC_CTRL },
+ { TTYC_KF30, KEYC_F6|KEYC_CTRL },
+ { TTYC_KF31, KEYC_F7|KEYC_CTRL },
+ { TTYC_KF32, KEYC_F8|KEYC_CTRL },
+ { TTYC_KF33, KEYC_F9|KEYC_CTRL },
+ { TTYC_KF34, KEYC_F10|KEYC_CTRL },
+ { TTYC_KF35, KEYC_F11|KEYC_CTRL },
+ { TTYC_KF36, KEYC_F12|KEYC_CTRL },
+
+ { TTYC_KF37, KEYC_F1|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF38, KEYC_F2|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF39, KEYC_F3|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF40, KEYC_F4|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF41, KEYC_F5|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF42, KEYC_F6|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF43, KEYC_F7|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF44, KEYC_F8|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF45, KEYC_F9|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF46, KEYC_F10|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF47, KEYC_F11|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KF48, KEYC_F12|KEYC_SHIFT|KEYC_CTRL },
+
+ { TTYC_KF49, KEYC_F1|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF50, KEYC_F2|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF51, KEYC_F3|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF52, KEYC_F4|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF53, KEYC_F5|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF54, KEYC_F6|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF55, KEYC_F7|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF56, KEYC_F8|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF57, KEYC_F9|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF58, KEYC_F10|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF59, KEYC_F11|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KF60, KEYC_F12|KEYC_META|KEYC_IMPLIED_META },
+
+ { TTYC_KF61, KEYC_F1|KEYC_META|KEYC_IMPLIED_META|KEYC_SHIFT },
+ { TTYC_KF62, KEYC_F2|KEYC_META|KEYC_IMPLIED_META|KEYC_SHIFT },
+ { TTYC_KF63, KEYC_F3|KEYC_META|KEYC_IMPLIED_META|KEYC_SHIFT },
{ TTYC_KICH1, KEYC_IC },
{ TTYC_KDCH1, KEYC_DC },
@@ -329,68 +329,68 @@ static const struct tty_default_key_code tty_default_code_keys[] = {
{ TTYC_KCUF1, KEYC_RIGHT|KEYC_CURSOR },
/* Key and modifier capabilities. */
- { TTYC_KDC2, KEYC_DC|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KDC3, KEYC_DC|KEYC_META|KEYC_XTERM },
- { TTYC_KDC4, KEYC_DC|KEYC_SHIFT|KEYC_META|KEYC_XTERM },
- { TTYC_KDC5, KEYC_DC|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KDC6, KEYC_DC|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KDC7, KEYC_DC|KEYC_META|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KIND, KEYC_DOWN|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KDN2, KEYC_DOWN|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KDN3, KEYC_DOWN|KEYC_META|KEYC_XTERM },
- { TTYC_KDN4, KEYC_DOWN|KEYC_SHIFT|KEYC_META|KEYC_XTERM },
- { TTYC_KDN5, KEYC_DOWN|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KDN6, KEYC_DOWN|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KDN7, KEYC_DOWN|KEYC_META|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KEND2, KEYC_END|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KEND3, KEYC_END|KEYC_META|KEYC_XTERM },
- { TTYC_KEND4, KEYC_END|KEYC_SHIFT|KEYC_META|KEYC_XTERM },
- { TTYC_KEND5, KEYC_END|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KEND6, KEYC_END|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KEND7, KEYC_END|KEYC_META|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KHOM2, KEYC_HOME|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KHOM3, KEYC_HOME|KEYC_META|KEYC_XTERM },
- { TTYC_KHOM4, KEYC_HOME|KEYC_SHIFT|KEYC_META|KEYC_XTERM },
- { TTYC_KHOM5, KEYC_HOME|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KHOM6, KEYC_HOME|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KHOM7, KEYC_HOME|KEYC_META|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KIC2, KEYC_IC|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KIC3, KEYC_IC|KEYC_META|KEYC_XTERM },
- { TTYC_KIC4, KEYC_IC|KEYC_SHIFT|KEYC_META|KEYC_XTERM },
- { TTYC_KIC5, KEYC_IC|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KIC6, KEYC_IC|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KIC7, KEYC_IC|KEYC_META|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KLFT2, KEYC_LEFT|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KLFT3, KEYC_LEFT|KEYC_META|KEYC_XTERM },
- { TTYC_KLFT4, KEYC_LEFT|KEYC_SHIFT|KEYC_META|KEYC_XTERM },
- { TTYC_KLFT5, KEYC_LEFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KLFT6, KEYC_LEFT|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KLFT7, KEYC_LEFT|KEYC_META|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KNXT2, KEYC_NPAGE|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KNXT3, KEYC_NPAGE|KEYC_META|KEYC_XTERM },
- { TTYC_KNXT4, KEYC_NPAGE|KEYC_SHIFT|KEYC_META|KEYC_XTERM },
- { TTYC_KNXT5, KEYC_NPAGE|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KNXT6, KEYC_NPAGE|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KNXT7, KEYC_NPAGE|KEYC_META|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KPRV2, KEYC_PPAGE|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KPRV3, KEYC_PPAGE|KEYC_META|KEYC_XTERM },
- { TTYC_KPRV4, KEYC_PPAGE|KEYC_SHIFT|KEYC_META|KEYC_XTERM },
- { TTYC_KPRV5, KEYC_PPAGE|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KPRV6, KEYC_PPAGE|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KPRV7, KEYC_PPAGE|KEYC_META|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KRIT2, KEYC_RIGHT|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KRIT3, KEYC_RIGHT|KEYC_META|KEYC_XTERM },
- { TTYC_KRIT4, KEYC_RIGHT|KEYC_SHIFT|KEYC_META|KEYC_XTERM },
- { TTYC_KRIT5, KEYC_RIGHT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KRIT6, KEYC_RIGHT|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KRIT7, KEYC_RIGHT|KEYC_META|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KRI, KEYC_UP|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KUP2, KEYC_UP|KEYC_SHIFT|KEYC_XTERM },
- { TTYC_KUP3, KEYC_UP|KEYC_META|KEYC_XTERM },
- { TTYC_KUP4, KEYC_UP|KEYC_SHIFT|KEYC_META|KEYC_XTERM },
- { TTYC_KUP5, KEYC_UP|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KUP6, KEYC_UP|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM },
- { TTYC_KUP7, KEYC_UP|KEYC_META|KEYC_CTRL|KEYC_XTERM },
+ { TTYC_KDC2, KEYC_DC|KEYC_SHIFT },
+ { TTYC_KDC3, KEYC_DC|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KDC4, KEYC_DC|KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KDC5, KEYC_DC|KEYC_CTRL },
+ { TTYC_KDC6, KEYC_DC|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KDC7, KEYC_DC|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
+ { TTYC_KIND, KEYC_DOWN|KEYC_SHIFT },
+ { TTYC_KDN2, KEYC_DOWN|KEYC_SHIFT },
+ { TTYC_KDN3, KEYC_DOWN|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KDN4, KEYC_DOWN|KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KDN5, KEYC_DOWN|KEYC_CTRL },
+ { TTYC_KDN6, KEYC_DOWN|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KDN7, KEYC_DOWN|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
+ { TTYC_KEND2, KEYC_END|KEYC_SHIFT },
+ { TTYC_KEND3, KEYC_END|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KEND4, KEYC_END|KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KEND5, KEYC_END|KEYC_CTRL },
+ { TTYC_KEND6, KEYC_END|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KEND7, KEYC_END|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
+ { TTYC_KHOM2, KEYC_HOME|KEYC_SHIFT },
+ { TTYC_KHOM3, KEYC_HOME|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KHOM4, KEYC_HOME|KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KHOM5, KEYC_HOME|KEYC_CTRL },
+ { TTYC_KHOM6, KEYC_HOME|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KHOM7, KEYC_HOME|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
+ { TTYC_KIC2, KEYC_IC|KEYC_SHIFT },
+ { TTYC_KIC3, KEYC_IC|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KIC4, KEYC_IC|KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KIC5, KEYC_IC|KEYC_CTRL },
+ { TTYC_KIC6, KEYC_IC|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KIC7, KEYC_IC|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
+ { TTYC_KLFT2, KEYC_LEFT|KEYC_SHIFT },
+ { TTYC_KLFT3, KEYC_LEFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KLFT4, KEYC_LEFT|KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KLFT5, KEYC_LEFT|KEYC_CTRL },
+ { TTYC_KLFT6, KEYC_LEFT|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KLFT7, KEYC_LEFT|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
+ { TTYC_KNXT2, KEYC_NPAGE|KEYC_SHIFT },
+ { TTYC_KNXT3, KEYC_NPAGE|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KNXT4, KEYC_NPAGE|KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KNXT5, KEYC_NPAGE|KEYC_CTRL },
+ { TTYC_KNXT6, KEYC_NPAGE|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KNXT7, KEYC_NPAGE|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
+ { TTYC_KPRV2, KEYC_PPAGE|KEYC_SHIFT },
+ { TTYC_KPRV3, KEYC_PPAGE|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KPRV4, KEYC_PPAGE|KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KPRV5, KEYC_PPAGE|KEYC_CTRL },
+ { TTYC_KPRV6, KEYC_PPAGE|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KPRV7, KEYC_PPAGE|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
+ { TTYC_KRIT2, KEYC_RIGHT|KEYC_SHIFT },
+ { TTYC_KRIT3, KEYC_RIGHT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KRIT4, KEYC_RIGHT|KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KRIT5, KEYC_RIGHT|KEYC_CTRL },
+ { TTYC_KRIT6, KEYC_RIGHT|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KRIT7, KEYC_RIGHT|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
+ { TTYC_KRI, KEYC_UP|KEYC_SHIFT },
+ { TTYC_KUP2, KEYC_UP|KEYC_SHIFT },
+ { TTYC_KUP3, KEYC_UP|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KUP4, KEYC_UP|KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META },
+ { TTYC_KUP5, KEYC_UP|KEYC_CTRL },
+ { TTYC_KUP6, KEYC_UP|KEYC_SHIFT|KEYC_CTRL },
+ { TTYC_KUP7, KEYC_UP|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL },
};
/* Add key to tree. */
@@ -401,7 +401,7 @@ tty_keys_add(struct tty *tty, const char *s, key_code key)
size_t size;
const char *keystr;
- keystr = key_string_lookup_key(key);
+ keystr = key_string_lookup_key(key, 1);
if ((tk = tty_keys_find(tty, s, strlen(s), &size)) == NULL) {
log_debug("new key %s: 0x%llx (%s)", s, key, keystr);
tty_keys_add1(&tty->key_tree, s, key);
@@ -719,7 +719,7 @@ first_key:
/* Look for a key without the escape. */
n = tty_keys_next1(tty, buf + 1, len - 1, &key, &size, expired);
if (n == 0) { /* found */
- if (key & KEYC_XTERM) {
+ if (key & KEYC_IMPLIED_META) {
/*
* We want the escape key as well as the xterm
* key, because the xterm sequence implicitly
@@ -789,7 +789,7 @@ complete_key:
*/
bspace = tty->tio.c_cc[VERASE];
if (bspace != _POSIX_VDISABLE && (key & KEYC_MASK_KEY) == bspace)
- key = (key & KEYC_MASK_MOD) | KEYC_BSPACE;
+ key = (key & KEYC_MASK_MODIFIERS)|KEYC_BSPACE;
/* Remove data from buffer. */
evbuffer_drain(tty->in, size);
@@ -896,16 +896,16 @@ tty_keys_extended_key(struct tty *tty, const char *buf, size_t len,
*size = end + 1;
/* Store the key and modifiers. */
- *key = number|KEYC_XTERM;
+ *key = number;
switch (modifiers) {
case 2:
(*key) |= KEYC_SHIFT;
break;
case 3:
- (*key) |= KEYC_META;
+ (*key) |= (KEYC_META|KEYC_IMPLIED_META);
break;
case 4:
- (*key) |= (KEYC_SHIFT|KEYC_META);
+ (*key) |= (KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META);
break;
case 5:
(*key) |= KEYC_CTRL;
@@ -917,7 +917,7 @@ tty_keys_extended_key(struct tty *tty, const char *buf, size_t len,
(*key) |= (KEYC_META|KEYC_CTRL);
break;
case 8:
- (*key) |= (KEYC_SHIFT|KEYC_META|KEYC_CTRL);
+ (*key) |= (KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL);
break;
default:
*key = KEYC_NONE;
@@ -925,7 +925,7 @@ tty_keys_extended_key(struct tty *tty, const char *buf, size_t len,
}
if (log_get_level() != 0) {
log_debug("%s: extended key %.*s is %llx (%s)", c->name,
- (int)*size, buf, *key, key_string_lookup_key(*key));
+ (int)*size, buf, *key, key_string_lookup_key(*key, 1));
}
return (0);
}