imake the various combinations of arrow keys and shift/control/meta work - st - Simple Terminal Err gopher.r-36.net 70 i Err gopher.r-36.net 70 1Log /scm/st//log.gph gopher.r-36.net 70 1Files /scm/st//files.gph gopher.r-36.net 70 1Refs /scm/st//refs.gph gopher.r-36.net 70 1README /scm/st//file/README.gph gopher.r-36.net 70 1LICENSE /scm/st//file/LICENSE.gph gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1commit 740ada1447a0bf9eb7db327d9433fa0b96e0a4d8 /scm/st//commit/740ada1447a0bf9eb7db327d9433fa0b96e0a4d8.gph gopher.r-36.net 70 1parent 424202798b02554092ba84dd59fb7b79b59b7b75 /scm/st//commit/424202798b02554092ba84dd59fb7b79b59b7b75.gph gopher.r-36.net 70 hAuthor: Manuel Tobias Schiller URL:mailto:mala@hinterbergen.de gopher.r-36.net 70 iDate: Mon, 14 Nov 2016 18:25:51 +0100 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 imake the various combinations of arrow keys and shift/control/meta work Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iWhen using st with screen, I've bound next, prev, new screen to Err gopher.r-36.net 70 icombinations like Ctrl-Alt-Right,Left,Down; xterm and (u)rxvt work fine Err gopher.r-36.net 70 iwhen this combination of modifiers is pressed, st does not seem to Err gopher.r-36.net 70 itransport all of them; a single modifier key is fine (e.g. Ctrl-Up, Err gopher.r-36.net 70 iAlt-Down etc., but combinations are not). While I'm not terribly Err gopher.r-36.net 70 ifamiliar with this, I have tried to hack config.h in a more or less Err gopher.r-36.net 70 isystematic way to generate the expected sequences. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iDiffstat: Err gopher.r-36.net 70 i config.def.h | 24 ++++++++++++++++++++---- Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i1 file changed, 20 insertions(+), 4 deletions(-) Err gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1diff --git a/config.def.h b/config.def.h /scm/st//file/config.def.h.gph gopher.r-36.net 70 i@@ -280,23 +280,39 @@ static Key key[] = { Err gopher.r-36.net 70 i { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0, 0}, Err gopher.r-36.net 70 i { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0, 0}, Err gopher.r-36.net 70 i { XK_Up, ShiftMask, "\033[1;2A", 0, 0, 0}, Err gopher.r-36.net 70 i- { XK_Up, ControlMask, "\033[1;5A", 0, 0, 0}, Err gopher.r-36.net 70 i { XK_Up, Mod1Mask, "\033[1;3A", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Up, ControlMask, "\033[1;5A", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0, 0}, Err gopher.r-36.net 70 i { XK_Up, XK_ANY_MOD, "\033[A", 0, -1, 0}, Err gopher.r-36.net 70 i { XK_Up, XK_ANY_MOD, "\033OA", 0, +1, 0}, Err gopher.r-36.net 70 i { XK_Down, ShiftMask, "\033[1;2B", 0, 0, 0}, Err gopher.r-36.net 70 i- { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0}, Err gopher.r-36.net 70 i { XK_Down, Mod1Mask, "\033[1;3B", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0, 0}, Err gopher.r-36.net 70 i { XK_Down, XK_ANY_MOD, "\033[B", 0, -1, 0}, Err gopher.r-36.net 70 i { XK_Down, XK_ANY_MOD, "\033OB", 0, +1, 0}, Err gopher.r-36.net 70 i { XK_Left, ShiftMask, "\033[1;2D", 0, 0, 0}, Err gopher.r-36.net 70 i- { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0}, Err gopher.r-36.net 70 i { XK_Left, Mod1Mask, "\033[1;3D", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0, 0}, Err gopher.r-36.net 70 i { XK_Left, XK_ANY_MOD, "\033[D", 0, -1, 0}, Err gopher.r-36.net 70 i { XK_Left, XK_ANY_MOD, "\033OD", 0, +1, 0}, Err gopher.r-36.net 70 i { XK_Right, ShiftMask, "\033[1;2C", 0, 0, 0}, Err gopher.r-36.net 70 i- { XK_Right, ControlMask, "\033[1;5C", 0, 0, 0}, Err gopher.r-36.net 70 i { XK_Right, Mod1Mask, "\033[1;3C", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Right, ControlMask, "\033[1;5C", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0, 0}, Err gopher.r-36.net 70 i+ { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0, 0}, Err gopher.r-36.net 70 i { XK_Right, XK_ANY_MOD, "\033[C", 0, -1, 0}, Err gopher.r-36.net 70 i { XK_Right, XK_ANY_MOD, "\033OC", 0, +1, 0}, Err gopher.r-36.net 70 i { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0, 0}, Err gopher.r-36.net 70 .