Add application cursor sequences for Home

From: Roberto E. Vargas Caballero <k0ga_AT_shike2.com>
Date: Fri, 16 Nov 2012 09:11:25 +0100

The commit 'Fixing some key issues with mc' fix the problem where mc didn't
recognize home key because the generated code and the terminfo entry were
different (terminfo khome = \E[1~ but generates \033[H).

Home key in ansi mode should generate the sequence CUP (\033[H) to 0,0 (home
position), but it is also interesting generate a application code which
identifies the key. Real vt520 only generates the ansi sequence CUP, linux
console generates only the application code \033[1~, xterm generates CUP in
ansi mode and \033OH in cursor application mode, rxvt only generates the
application code \033[7~.

This patch sets CUP in ansi mode and \033[1~ in cursor application mode, so
it can be used in both modes and the application mode value is similar to
near values (insert = \033[2~, Prior = \033[5~, Next = \033[6~, End =
\033[4~, Supr = \033[3).
---
 config.def.h |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/config.def.h b/config.def.h
index 3a2e38b..023634e 100644
--- a/config.def.h
+++ b/config.def.h
_AT_@ -98,7 +98,8 @@ static KeySym mappedkeys[] = { -1 };
 static Key key[] = {
 	/* keysym             mask         string         keypad cursor crlf */
 	{ XK_KP_Home,       ShiftMask,      "\033[1;2H",     0,    0,    0},
-	{ XK_KP_Home,       XK_ANY_MOD,     "\033[H",        0,    0,    0},
+	{ XK_KP_Home,       XK_ANY_MOD,     "\033[H",        0,   -1,    0},
+	{ XK_KP_Home,       XK_ANY_MOD,     "\033[1~",       0,   +1,    0},
 	{ XK_KP_Up,         XK_ANY_MOD,     "\033Ox",       +1,    0,    0},
 	{ XK_KP_Up,         XK_ANY_MOD,     "\033[A",        0,   -1,    0},
 	{ XK_KP_Up,         XK_ANY_MOD,     "\033OA",        0,   +1,    0},
_AT_@ -170,9 +171,9 @@ static Key key[] = {
 	{ XK_Insert,        XK_ANY_MOD,     "\033[2~",       0,    0,    0},
 	{ XK_Delete,        ShiftMask,      "\033[3;2~",     0,    0,    0},
 	{ XK_Delete,        XK_ANY_MOD,     "\033[3~",       0,    0,    0},
-	{ XK_Home,          XK_NO_MOD,      "\033[1~",       0,    0,    0},
 	{ XK_Home,          ShiftMask,      "\033[1;2H",     0,    0,    0},
-	{ XK_Home,          XK_ANY_MOD,     "\033[H",        0,    0,    0},
+	{ XK_Home,          XK_ANY_MOD,     "\033[H",        0,   -1,    0},
+	{ XK_Home,          XK_ANY_MOD,     "\033[1~",       0,   +1,    0},
 	{ XK_End,           ShiftMask,      "\033[1;2F",     0,    0,    0},
 	{ XK_End,           XK_ANY_MOD,     "\033[4~",       0,    0,    0},
 	{ XK_Prior,         XK_NO_MOD,      "\033[5~",       0,    0,    0},
-- 
1.7.10.4
--ikeVEW9yuYc//A+q--
Received on Mon Sep 17 2001 - 00:00:00 CEST

This archive was generated by hypermail 2.3.0 : Fri Nov 16 2012 - 11:36:02 CET