| tAdd application cursor sequences for Home - st - [fork] customized build of st… | |
| git clone git://src.adamsgaard.dk/st | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 55087ec2c7e78e4349259c4547aa58fa705fa915 | |
| parent 1cbe56026b1003d96d81c17e43ff21d1b0064b21 | |
| Author: Roberto E. Vargas Caballero <[email protected]> | |
| 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(-) | |
| --- | |
| diff --git a/config.def.h b/config.def.h | |
| t@@ -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}, | |
| t@@ -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}, |