Add application cursor sequences for Home - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 55087ec2c7e78e4349259c4547aa58fa705fa915
 (DIR) parent 1cbe56026b1003d96d81c17e43ff21d1b0064b21
 (HTM) Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
       Date:   Fri, 16 Nov 2012 11:32:17 +0100
       
       Add application cursor sequences for Home
       
       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(-)
       Diffstat:
         M config.def.h                        |       7 ++++---
       
       1 file changed, 4 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/config.def.h b/config.def.h
       @@ -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},
       @@ -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},