Blame tmux-fix-f-keys-2056a9ef9e.patch

Sven Lankes 345fdf
From 2056a9ef9e91996c294b5db0a3d01ed415e95e56 Mon Sep 17 00:00:00 2001
Sven Lankes 345fdf
From: nicm <nicm>
Sven Lankes 345fdf
Date: Mon, 21 Jul 2014 10:25:48 +0000
Sven Lankes 345fdf
Subject: [PATCH] Drop explicit support for F13-F20 and change to match the
Sven Lankes 345fdf
 xterm terminfo entry:
Sven Lankes 345fdf
Sven Lankes 345fdf
        F13-F24 are S-F1 to S-F12
Sven Lankes 345fdf
        F25-F36 are C-F1 to C-F12
Sven Lankes 345fdf
        F37-F48 are C-S-F1 to C-S-F12
Sven Lankes 345fdf
        F49-F60 are M-F1 to M-F12
Sven Lankes 345fdf
and     F61-F63 are M-S-F1 to M-S-F3
Sven Lankes 345fdf
Sven Lankes 345fdf
This should be no difference for applications inside tmux, but means
Sven Lankes 345fdf
that any key binding for F13 will need to be replaced by S-F1 and so on.
Sven Lankes 345fdf
---
Sven Lankes 345fdf
 input-keys.c |   16 +++++-----
Sven Lankes 345fdf
 key-string.c |    8 -----
Sven Lankes 345fdf
 tmux.h       |   91 ++++++++++++++++++++++++++++++++++++++++------------------
Sven Lankes 345fdf
 tty-keys.c   |   89 ++++++++++++++++++++++++++++++++++++--------------------
Sven Lankes 345fdf
 tty-term.c   |   43 +++++++++++++++++++++++++++
Sven Lankes 345fdf
 xterm-keys.c |    8 -----
Sven Lankes 345fdf
 6 files changed, 171 insertions(+), 84 deletions(-)
Sven Lankes 345fdf
Sven Lankes 345fdf
diff --git a/input-keys.c b/input-keys.c
Sven Lankes 345fdf
index 24566df..c75e28d 100644
Sven Lankes 345fdf
--- a/input-keys.c
Sven Lankes 345fdf
+++ b/input-keys.c
Sven Lankes 345fdf
@@ -57,14 +57,14 @@ const struct input_key_ent input_keys[] = {
Sven Lankes 345fdf
 	{ KEYC_F10,		"\033[21~",	0 },
Sven Lankes 345fdf
 	{ KEYC_F11,		"\033[23~",	0 },
Sven Lankes 345fdf
 	{ KEYC_F12,		"\033[24~",	0 },
Sven Lankes 345fdf
-	{ KEYC_F13,		"\033[25~",	0 },
Sven Lankes 345fdf
-	{ KEYC_F14,		"\033[26~",	0 },
Sven Lankes 345fdf
-	{ KEYC_F15,		"\033[28~",	0 },
Sven Lankes 345fdf
-	{ KEYC_F16,		"\033[29~",	0 },
Sven Lankes 345fdf
-	{ KEYC_F17,		"\033[31~",	0 },
Sven Lankes 345fdf
-	{ KEYC_F18,		"\033[32~",	0 },
Sven Lankes 345fdf
-	{ KEYC_F19,		"\033[33~",	0 },
Sven Lankes 345fdf
-	{ KEYC_F20,		"\033[34~",	0 },
Sven Lankes 345fdf
+	{ KEYC_F1|KEYC_SHIFT,	"\033[25~",	0 },
Sven Lankes 345fdf
+	{ KEYC_F2|KEYC_SHIFT,	"\033[26~",	0 },
Sven Lankes 345fdf
+	{ KEYC_F3|KEYC_SHIFT,	"\033[28~",	0 },
Sven Lankes 345fdf
+	{ KEYC_F4|KEYC_SHIFT,	"\033[29~",	0 },
Sven Lankes 345fdf
+	{ KEYC_F5|KEYC_SHIFT,	"\033[31~",	0 },
Sven Lankes 345fdf
+	{ KEYC_F6|KEYC_SHIFT,	"\033[32~",	0 },
Sven Lankes 345fdf
+	{ KEYC_F7|KEYC_SHIFT,	"\033[33~",	0 },
Sven Lankes 345fdf
+	{ KEYC_F8|KEYC_SHIFT,	"\033[34~",	0 },
Sven Lankes 345fdf
 	{ KEYC_IC,		"\033[2~",	0 },
Sven Lankes 345fdf
 	{ KEYC_DC,		"\033[3~",	0 },
Sven Lankes 345fdf
 	{ KEYC_HOME,		"\033[1~",	0 },
Sven Lankes 345fdf
diff --git a/key-string.c b/key-string.c
Sven Lankes 345fdf
index 7aba190..db96827 100644
Sven Lankes 345fdf
--- a/key-string.c
Sven Lankes 345fdf
+++ b/key-string.c
Sven Lankes 345fdf
@@ -42,14 +42,6 @@ const struct {
Sven Lankes 345fdf
 	{ "F10",	KEYC_F10 },
Sven Lankes 345fdf
 	{ "F11",	KEYC_F11 },
Sven Lankes 345fdf
 	{ "F12",	KEYC_F12 },
Sven Lankes 345fdf
-	{ "F13",	KEYC_F13 },
Sven Lankes 345fdf
-	{ "F14",	KEYC_F14 },
Sven Lankes 345fdf
-	{ "F15",	KEYC_F15 },
Sven Lankes 345fdf
-	{ "F16",	KEYC_F16 },
Sven Lankes 345fdf
-	{ "F17",	KEYC_F17 },
Sven Lankes 345fdf
-	{ "F18",	KEYC_F18 },
Sven Lankes 345fdf
-	{ "F19",	KEYC_F19 },
Sven Lankes 345fdf
-	{ "F20",	KEYC_F20 },
Sven Lankes 345fdf
 	{ "IC",		KEYC_IC },
Sven Lankes 345fdf
 	{ "DC",		KEYC_DC },
Sven Lankes 345fdf
 	{ "Home",	KEYC_HOME },
Sven Lankes 345fdf
diff --git a/tmux.h b/tmux.h
Sven Lankes 345fdf
index 4f937f3..bbf4e9d 100644
Sven Lankes 345fdf
--- a/tmux.h
Sven Lankes 345fdf
+++ b/tmux.h
Sven Lankes 345fdf
@@ -195,14 +195,6 @@ enum key_code {
Sven Lankes 345fdf
 	KEYC_F10,
Sven Lankes 345fdf
 	KEYC_F11,
Sven Lankes 345fdf
 	KEYC_F12,
Sven Lankes 345fdf
-	KEYC_F13,
Sven Lankes 345fdf
-	KEYC_F14,
Sven Lankes 345fdf
-	KEYC_F15,
Sven Lankes 345fdf
-	KEYC_F16,
Sven Lankes 345fdf
-	KEYC_F17,
Sven Lankes 345fdf
-	KEYC_F18,
Sven Lankes 345fdf
-	KEYC_F19,
Sven Lankes 345fdf
-	KEYC_F20,
Sven Lankes 345fdf
 	KEYC_IC,
Sven Lankes 345fdf
 	KEYC_DC,
Sven Lankes 345fdf
 	KEYC_HOME,
Sven Lankes 345fdf
@@ -308,26 +300,69 @@ enum tty_code_code {
Sven Lankes 345fdf
 	TTYC_KEND5,
Sven Lankes 345fdf
 	TTYC_KEND6,
Sven Lankes 345fdf
 	TTYC_KEND7,
Sven Lankes 345fdf
-	TTYC_KF1,	/* key_f1, k1 */
Sven Lankes 345fdf
-	TTYC_KF10,	/* key_f10, k; */
Sven Lankes 345fdf
-	TTYC_KF11,	/* key_f11, F1 */
Sven Lankes 345fdf
-	TTYC_KF12,	/* key_f12, F2 */
Sven Lankes 345fdf
-	TTYC_KF13,	/* key_f13, F3 */
Sven Lankes 345fdf
-	TTYC_KF14,	/* key_f14, F4 */
Sven Lankes 345fdf
-	TTYC_KF15,	/* key_f15, F5 */
Sven Lankes 345fdf
-	TTYC_KF16,	/* key_f16, F6 */
Sven Lankes 345fdf
-	TTYC_KF17,	/* key_f17, F7 */
Sven Lankes 345fdf
-	TTYC_KF18,	/* key_f18, F8 */
Sven Lankes 345fdf
-	TTYC_KF19,	/* key_f19, F9 */
Sven Lankes 345fdf
-	TTYC_KF2,	/* key_f2, k2 */
Sven Lankes 345fdf
-	TTYC_KF20,	/* key_f20, F10 */
Sven Lankes 345fdf
-	TTYC_KF3,	/* key_f3, k3 */
Sven Lankes 345fdf
-	TTYC_KF4,	/* key_f4, k4 */
Sven Lankes 345fdf
-	TTYC_KF5,	/* key_f5, k5 */
Sven Lankes 345fdf
-	TTYC_KF6,	/* key_f6, k6 */
Sven Lankes 345fdf
-	TTYC_KF7,	/* key_f7, k7 */
Sven Lankes 345fdf
-	TTYC_KF8,	/* key_f8, k8 */
Sven Lankes 345fdf
-	TTYC_KF9,	/* key_f9, k9 */
Sven Lankes 345fdf
+	TTYC_KF1,
Sven Lankes 345fdf
+	TTYC_KF10,
Sven Lankes 345fdf
+	TTYC_KF11,
Sven Lankes 345fdf
+	TTYC_KF12,
Sven Lankes 345fdf
+	TTYC_KF13,
Sven Lankes 345fdf
+	TTYC_KF14,
Sven Lankes 345fdf
+	TTYC_KF15,
Sven Lankes 345fdf
+	TTYC_KF16,
Sven Lankes 345fdf
+	TTYC_KF17,
Sven Lankes 345fdf
+	TTYC_KF18,
Sven Lankes 345fdf
+	TTYC_KF19,
Sven Lankes 345fdf
+	TTYC_KF2,
Sven Lankes 345fdf
+	TTYC_KF20,
Sven Lankes 345fdf
+	TTYC_KF21,
Sven Lankes 345fdf
+	TTYC_KF22,
Sven Lankes 345fdf
+	TTYC_KF23,
Sven Lankes 345fdf
+	TTYC_KF24,
Sven Lankes 345fdf
+	TTYC_KF25,
Sven Lankes 345fdf
+	TTYC_KF26,
Sven Lankes 345fdf
+	TTYC_KF27,
Sven Lankes 345fdf
+	TTYC_KF28,
Sven Lankes 345fdf
+	TTYC_KF29,
Sven Lankes 345fdf
+	TTYC_KF3,
Sven Lankes 345fdf
+	TTYC_KF30,
Sven Lankes 345fdf
+	TTYC_KF31,
Sven Lankes 345fdf
+	TTYC_KF32,
Sven Lankes 345fdf
+	TTYC_KF33,
Sven Lankes 345fdf
+	TTYC_KF34,
Sven Lankes 345fdf
+	TTYC_KF35,
Sven Lankes 345fdf
+	TTYC_KF36,
Sven Lankes 345fdf
+	TTYC_KF37,
Sven Lankes 345fdf
+	TTYC_KF38,
Sven Lankes 345fdf
+	TTYC_KF39,
Sven Lankes 345fdf
+	TTYC_KF4,
Sven Lankes 345fdf
+	TTYC_KF40,
Sven Lankes 345fdf
+	TTYC_KF41,
Sven Lankes 345fdf
+	TTYC_KF42,
Sven Lankes 345fdf
+	TTYC_KF43,
Sven Lankes 345fdf
+	TTYC_KF44,
Sven Lankes 345fdf
+	TTYC_KF45,
Sven Lankes 345fdf
+	TTYC_KF46,
Sven Lankes 345fdf
+	TTYC_KF47,
Sven Lankes 345fdf
+	TTYC_KF48,
Sven Lankes 345fdf
+	TTYC_KF49,
Sven Lankes 345fdf
+	TTYC_KF5,
Sven Lankes 345fdf
+	TTYC_KF50,
Sven Lankes 345fdf
+	TTYC_KF51,
Sven Lankes 345fdf
+	TTYC_KF52,
Sven Lankes 345fdf
+	TTYC_KF53,
Sven Lankes 345fdf
+	TTYC_KF54,
Sven Lankes 345fdf
+	TTYC_KF55,
Sven Lankes 345fdf
+	TTYC_KF56,
Sven Lankes 345fdf
+	TTYC_KF57,
Sven Lankes 345fdf
+	TTYC_KF58,
Sven Lankes 345fdf
+	TTYC_KF59,
Sven Lankes 345fdf
+	TTYC_KF6,
Sven Lankes 345fdf
+	TTYC_KF60,
Sven Lankes 345fdf
+	TTYC_KF61,
Sven Lankes 345fdf
+	TTYC_KF62,
Sven Lankes 345fdf
+	TTYC_KF63,
Sven Lankes 345fdf
+	TTYC_KF7,
Sven Lankes 345fdf
+	TTYC_KF8,
Sven Lankes 345fdf
+	TTYC_KF9,
Sven Lankes 345fdf
 	TTYC_KHOM2,
Sven Lankes 345fdf
 	TTYC_KHOM3,
Sven Lankes 345fdf
 	TTYC_KHOM4,
Sven Lankes 345fdf
diff --git a/tty-keys.c b/tty-keys.c
Sven Lankes 345fdf
index 932367e..967deca 100644
Sven Lankes 345fdf
--- a/tty-keys.c
Sven Lankes 345fdf
+++ b/tty-keys.c
Sven Lankes 345fdf
@@ -113,14 +113,6 @@ const struct tty_default_key_raw tty_default_raw_keys[] = {
Sven Lankes 345fdf
 	{ "\033[21^", KEYC_F10|KEYC_CTRL },
Sven Lankes 345fdf
 	{ "\033[23^", KEYC_F11|KEYC_CTRL },
Sven Lankes 345fdf
 	{ "\033[24^", KEYC_F12|KEYC_CTRL },
Sven Lankes 345fdf
-	{ "\033[25^", KEYC_F13|KEYC_CTRL },
Sven Lankes 345fdf
-	{ "\033[26^", KEYC_F14|KEYC_CTRL },
Sven Lankes 345fdf
-	{ "\033[28^", KEYC_F15|KEYC_CTRL },
Sven Lankes 345fdf
-	{ "\033[29^", KEYC_F16|KEYC_CTRL },
Sven Lankes 345fdf
-	{ "\033[31^", KEYC_F17|KEYC_CTRL },
Sven Lankes 345fdf
-	{ "\033[32^", KEYC_F18|KEYC_CTRL },
Sven Lankes 345fdf
-	{ "\033[33^", KEYC_F19|KEYC_CTRL },
Sven Lankes 345fdf
-	{ "\033[34^", KEYC_F20|KEYC_CTRL },
Sven Lankes 345fdf
 	{ "\033[2^", KEYC_IC|KEYC_CTRL },
Sven Lankes 345fdf
 	{ "\033[3^", KEYC_DC|KEYC_CTRL },
Sven Lankes 345fdf
 	{ "\033[7^", KEYC_HOME|KEYC_CTRL },
Sven Lankes 345fdf
@@ -140,14 +132,6 @@ const struct tty_default_key_raw tty_default_raw_keys[] = {
Sven Lankes 345fdf
 	{ "\033[21$", KEYC_F10|KEYC_SHIFT },
Sven Lankes 345fdf
 	{ "\033[23$", KEYC_F11|KEYC_SHIFT },
Sven Lankes 345fdf
 	{ "\033[24$", KEYC_F12|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[25$", KEYC_F13|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[26$", KEYC_F14|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[28$", KEYC_F15|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[29$", KEYC_F16|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[31$", KEYC_F17|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[32$", KEYC_F18|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[33$", KEYC_F19|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[34$", KEYC_F20|KEYC_SHIFT },
Sven Lankes 345fdf
 	{ "\033[2$", KEYC_IC|KEYC_SHIFT },
Sven Lankes 345fdf
 	{ "\033[3$", KEYC_DC|KEYC_SHIFT },
Sven Lankes 345fdf
 	{ "\033[7$", KEYC_HOME|KEYC_SHIFT },
Sven Lankes 345fdf
@@ -167,14 +151,6 @@ const struct tty_default_key_raw tty_default_raw_keys[] = {
Sven Lankes 345fdf
 	{ "\033[21@", KEYC_F10|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
 	{ "\033[23@", KEYC_F11|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
 	{ "\033[24@", KEYC_F12|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[25@", KEYC_F13|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[26@", KEYC_F14|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[28@", KEYC_F15|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[29@", KEYC_F16|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[31@", KEYC_F17|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[32@", KEYC_F18|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[33@", KEYC_F19|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
-	{ "\033[34@", KEYC_F20|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
 	{ "\033[2@", KEYC_IC|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
 	{ "\033[3@", KEYC_DC|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
 	{ "\033[7@", KEYC_HOME|KEYC_CTRL|KEYC_SHIFT },
Sven Lankes 345fdf
@@ -206,14 +182,63 @@ const struct tty_default_key_code tty_default_code_keys[] = {
Sven Lankes 345fdf
 	{ TTYC_KF10, KEYC_F10 },
Sven Lankes 345fdf
 	{ TTYC_KF11, KEYC_F11 },
Sven Lankes 345fdf
 	{ TTYC_KF12, KEYC_F12 },
Sven Lankes 345fdf
-	{ TTYC_KF13, KEYC_F13 },
Sven Lankes 345fdf
-	{ TTYC_KF14, KEYC_F14 },
Sven Lankes 345fdf
-	{ TTYC_KF15, KEYC_F15 },
Sven Lankes 345fdf
-	{ TTYC_KF16, KEYC_F16 },
Sven Lankes 345fdf
-	{ TTYC_KF17, KEYC_F17 },
Sven Lankes 345fdf
-	{ TTYC_KF18, KEYC_F18 },
Sven Lankes 345fdf
-	{ TTYC_KF19, KEYC_F19 },
Sven Lankes 345fdf
-	{ TTYC_KF20, KEYC_F20 },
Sven Lankes 345fdf
+
Sven Lankes 345fdf
+	{ TTYC_KF13, KEYC_F1|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF14, KEYC_F2|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF15, KEYC_F3|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF16, KEYC_F4|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF17, KEYC_F5|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF18, KEYC_F6|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF19, KEYC_F7|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF20, KEYC_F8|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF21, KEYC_F9|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF22, KEYC_F10|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF23, KEYC_F11|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF24, KEYC_F12|KEYC_SHIFT },
Sven Lankes 345fdf
+
Sven Lankes 345fdf
+	{ TTYC_KF25, KEYC_F1|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF26, KEYC_F2|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF27, KEYC_F3|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF28, KEYC_F4|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF29, KEYC_F5|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF30, KEYC_F6|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF31, KEYC_F7|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF32, KEYC_F8|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF33, KEYC_F9|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF34, KEYC_F10|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF35, KEYC_F11|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF36, KEYC_F12|KEYC_CTRL },
Sven Lankes 345fdf
+
Sven Lankes 345fdf
+	{ TTYC_KF37, KEYC_F1|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF38, KEYC_F2|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF39, KEYC_F3|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF40, KEYC_F4|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF41, KEYC_F5|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF42, KEYC_F6|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF43, KEYC_F7|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF44, KEYC_F8|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF45, KEYC_F9|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF46, KEYC_F10|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF47, KEYC_F11|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+	{ TTYC_KF48, KEYC_F12|KEYC_SHIFT|KEYC_CTRL },
Sven Lankes 345fdf
+
Sven Lankes 345fdf
+	{ TTYC_KF49, KEYC_F1|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF50, KEYC_F2|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF51, KEYC_F3|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF52, KEYC_F4|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF53, KEYC_F5|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF54, KEYC_F6|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF55, KEYC_F7|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF56, KEYC_F8|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF57, KEYC_F9|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF58, KEYC_F10|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF59, KEYC_F11|KEYC_ESCAPE },
Sven Lankes 345fdf
+	{ TTYC_KF60, KEYC_F12|KEYC_ESCAPE },
Sven Lankes 345fdf
+
Sven Lankes 345fdf
+	{ TTYC_KF61, KEYC_F1|KEYC_ESCAPE|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF62, KEYC_F2|KEYC_ESCAPE|KEYC_SHIFT },
Sven Lankes 345fdf
+	{ TTYC_KF63, KEYC_F3|KEYC_ESCAPE|KEYC_SHIFT },
Sven Lankes 345fdf
+
Sven Lankes 345fdf
 	{ TTYC_KICH1, KEYC_IC },
Sven Lankes 345fdf
 	{ TTYC_KDCH1, KEYC_DC },
Sven Lankes 345fdf
 	{ TTYC_KHOME, KEYC_HOME },
Sven Lankes 345fdf
diff --git a/tty-term.c b/tty-term.c
Sven Lankes 345fdf
index bedf0cf..f866a2d 100644
Sven Lankes 345fdf
--- a/tty-term.c
Sven Lankes 345fdf
+++ b/tty-term.c
Sven Lankes 345fdf
@@ -113,10 +113,53 @@ const struct tty_term_code_entry tty_term_codes[NTTYCODE] = {
Sven Lankes 345fdf
 	{ TTYC_KF19, TTYCODE_STRING, "kf19" },
Sven Lankes 345fdf
 	{ TTYC_KF2, TTYCODE_STRING, "kf2" },
Sven Lankes 345fdf
 	{ TTYC_KF20, TTYCODE_STRING, "kf20" },
Sven Lankes 345fdf
+	{ TTYC_KF21, TTYCODE_STRING, "kf21" },
Sven Lankes 345fdf
+	{ TTYC_KF22, TTYCODE_STRING, "kf22" },
Sven Lankes 345fdf
+	{ TTYC_KF23, TTYCODE_STRING, "kf23" },
Sven Lankes 345fdf
+	{ TTYC_KF24, TTYCODE_STRING, "kf24" },
Sven Lankes 345fdf
+	{ TTYC_KF25, TTYCODE_STRING, "kf25" },
Sven Lankes 345fdf
+	{ TTYC_KF26, TTYCODE_STRING, "kf26" },
Sven Lankes 345fdf
+	{ TTYC_KF27, TTYCODE_STRING, "kf27" },
Sven Lankes 345fdf
+	{ TTYC_KF28, TTYCODE_STRING, "kf28" },
Sven Lankes 345fdf
+	{ TTYC_KF29, TTYCODE_STRING, "kf29" },
Sven Lankes 345fdf
 	{ TTYC_KF3, TTYCODE_STRING, "kf3" },
Sven Lankes 345fdf
+	{ TTYC_KF30, TTYCODE_STRING, "kf30" },
Sven Lankes 345fdf
+	{ TTYC_KF31, TTYCODE_STRING, "kf31" },
Sven Lankes 345fdf
+	{ TTYC_KF32, TTYCODE_STRING, "kf32" },
Sven Lankes 345fdf
+	{ TTYC_KF33, TTYCODE_STRING, "kf33" },
Sven Lankes 345fdf
+	{ TTYC_KF34, TTYCODE_STRING, "kf34" },
Sven Lankes 345fdf
+	{ TTYC_KF35, TTYCODE_STRING, "kf35" },
Sven Lankes 345fdf
+	{ TTYC_KF36, TTYCODE_STRING, "kf36" },
Sven Lankes 345fdf
+	{ TTYC_KF37, TTYCODE_STRING, "kf37" },
Sven Lankes 345fdf
+	{ TTYC_KF38, TTYCODE_STRING, "kf38" },
Sven Lankes 345fdf
+	{ TTYC_KF39, TTYCODE_STRING, "kf39" },
Sven Lankes 345fdf
 	{ TTYC_KF4, TTYCODE_STRING, "kf4" },
Sven Lankes 345fdf
+	{ TTYC_KF40, TTYCODE_STRING, "kf40" },
Sven Lankes 345fdf
+	{ TTYC_KF41, TTYCODE_STRING, "kf41" },
Sven Lankes 345fdf
+	{ TTYC_KF42, TTYCODE_STRING, "kf42" },
Sven Lankes 345fdf
+	{ TTYC_KF43, TTYCODE_STRING, "kf43" },
Sven Lankes 345fdf
+	{ TTYC_KF44, TTYCODE_STRING, "kf44" },
Sven Lankes 345fdf
+	{ TTYC_KF45, TTYCODE_STRING, "kf45" },
Sven Lankes 345fdf
+	{ TTYC_KF46, TTYCODE_STRING, "kf46" },
Sven Lankes 345fdf
+	{ TTYC_KF47, TTYCODE_STRING, "kf47" },
Sven Lankes 345fdf
+	{ TTYC_KF48, TTYCODE_STRING, "kf48" },
Sven Lankes 345fdf
+	{ TTYC_KF49, TTYCODE_STRING, "kf49" },
Sven Lankes 345fdf
 	{ TTYC_KF5, TTYCODE_STRING, "kf5" },
Sven Lankes 345fdf
+	{ TTYC_KF50, TTYCODE_STRING, "kf50" },
Sven Lankes 345fdf
+	{ TTYC_KF51, TTYCODE_STRING, "kf51" },
Sven Lankes 345fdf
+	{ TTYC_KF52, TTYCODE_STRING, "kf52" },
Sven Lankes 345fdf
+	{ TTYC_KF53, TTYCODE_STRING, "kf53" },
Sven Lankes 345fdf
+	{ TTYC_KF54, TTYCODE_STRING, "kf54" },
Sven Lankes 345fdf
+	{ TTYC_KF55, TTYCODE_STRING, "kf55" },
Sven Lankes 345fdf
+	{ TTYC_KF56, TTYCODE_STRING, "kf56" },
Sven Lankes 345fdf
+	{ TTYC_KF57, TTYCODE_STRING, "kf57" },
Sven Lankes 345fdf
+	{ TTYC_KF58, TTYCODE_STRING, "kf58" },
Sven Lankes 345fdf
+	{ TTYC_KF59, TTYCODE_STRING, "kf59" },
Sven Lankes 345fdf
 	{ TTYC_KF6, TTYCODE_STRING, "kf6" },
Sven Lankes 345fdf
+	{ TTYC_KF60, TTYCODE_STRING, "kf60" },
Sven Lankes 345fdf
+	{ TTYC_KF61, TTYCODE_STRING, "kf61" },
Sven Lankes 345fdf
+	{ TTYC_KF62, TTYCODE_STRING, "kf62" },
Sven Lankes 345fdf
+	{ TTYC_KF63, TTYCODE_STRING, "kf63" },
Sven Lankes 345fdf
 	{ TTYC_KF7, TTYCODE_STRING, "kf7" },
Sven Lankes 345fdf
 	{ TTYC_KF8, TTYCODE_STRING, "kf8" },
Sven Lankes 345fdf
 	{ TTYC_KF9, TTYCODE_STRING, "kf9" },
Sven Lankes 345fdf
diff --git a/xterm-keys.c b/xterm-keys.c
Sven Lankes 345fdf
index a013cbd..5ca75d8 100644
Sven Lankes 345fdf
--- a/xterm-keys.c
Sven Lankes 345fdf
+++ b/xterm-keys.c
Sven Lankes 345fdf
@@ -69,14 +69,6 @@ const struct xterm_keys_entry xterm_keys_table[] = {
Sven Lankes 345fdf
 	{ KEYC_F10,	"\033[21;_~" },
Sven Lankes 345fdf
 	{ KEYC_F11,	"\033[23;_~" },
Sven Lankes 345fdf
 	{ KEYC_F12,	"\033[24;_~" },
Sven Lankes 345fdf
-	{ KEYC_F13,	"\033[25;_~" },
Sven Lankes 345fdf
-	{ KEYC_F14,	"\033[26;_~" },
Sven Lankes 345fdf
-	{ KEYC_F15,	"\033[28;_~" },
Sven Lankes 345fdf
-	{ KEYC_F16,	"\033[29;_~" },
Sven Lankes 345fdf
-	{ KEYC_F17,	"\033[31;_~" },
Sven Lankes 345fdf
-	{ KEYC_F18,	"\033[32;_~" },
Sven Lankes 345fdf
-	{ KEYC_F19,	"\033[33;_~" },
Sven Lankes 345fdf
-	{ KEYC_F20,	"\033[34;_~" },
Sven Lankes 345fdf
 	{ KEYC_UP,	"\033[1;_A" },
Sven Lankes 345fdf
 	{ KEYC_DOWN,	"\033[1;_B" },
Sven Lankes 345fdf
 	{ KEYC_RIGHT,	"\033[1;_C" },
Sven Lankes 345fdf
-- 
Sven Lankes 345fdf
1.7.6.6.GIT
Sven Lankes 345fdf