diff options
author | Manuel Tobias Schiller <mala@hinterbergen.de> | 2016-11-14 18:25:51 +0100 |
---|---|---|
committer | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2016-11-14 19:58:02 +0100 |
commit | 740ada1447a0bf9eb7db327d9433fa0b96e0a4d8 (patch) | |
tree | 3804979609cc8b1673e9f3ee594a76bdc23f38ba /config.def.h | |
parent | 424202798b02554092ba84dd59fb7b79b59b7b75 (diff) | |
download | st-patched-740ada1447a0bf9eb7db327d9433fa0b96e0a4d8.tar.bz2 st-patched-740ada1447a0bf9eb7db327d9433fa0b96e0a4d8.tar.xz st-patched-740ada1447a0bf9eb7db327d9433fa0b96e0a4d8.zip |
make the various combinations of arrow keys and shift/control/meta work
When using st with screen, I've bound next, prev, new screen to
combinations like Ctrl-Alt-Right,Left,Down; xterm and (u)rxvt work fine
when this combination of modifiers is pressed, st does not seem to
transport all of them; a single modifier key is fine (e.g. Ctrl-Up,
Alt-Down etc., but combinations are not). While I'm not terribly
familiar with this, I have tried to hack config.h in a more or less
systematic way to generate the expected sequences.
Diffstat (limited to 'config.def.h')
-rw-r--r-- | config.def.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/config.def.h b/config.def.h index 7f465d1..32d107d 100644 --- a/config.def.h +++ b/config.def.h | |||
@@ -280,23 +280,39 @@ static Key key[] = { | |||
280 | { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0, 0}, | 280 | { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0, 0}, |
281 | { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0, 0}, | 281 | { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0, 0}, |
282 | { XK_Up, ShiftMask, "\033[1;2A", 0, 0, 0}, | 282 | { XK_Up, ShiftMask, "\033[1;2A", 0, 0, 0}, |
283 | { XK_Up, ControlMask, "\033[1;5A", 0, 0, 0}, | ||
284 | { XK_Up, Mod1Mask, "\033[1;3A", 0, 0, 0}, | 283 | { XK_Up, Mod1Mask, "\033[1;3A", 0, 0, 0}, |
284 | { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0, 0}, | ||
285 | { XK_Up, ControlMask, "\033[1;5A", 0, 0, 0}, | ||
286 | { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0, 0}, | ||
287 | { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0, 0}, | ||
288 | { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0, 0}, | ||
285 | { XK_Up, XK_ANY_MOD, "\033[A", 0, -1, 0}, | 289 | { XK_Up, XK_ANY_MOD, "\033[A", 0, -1, 0}, |
286 | { XK_Up, XK_ANY_MOD, "\033OA", 0, +1, 0}, | 290 | { XK_Up, XK_ANY_MOD, "\033OA", 0, +1, 0}, |
287 | { XK_Down, ShiftMask, "\033[1;2B", 0, 0, 0}, | 291 | { XK_Down, ShiftMask, "\033[1;2B", 0, 0, 0}, |
288 | { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0}, | ||
289 | { XK_Down, Mod1Mask, "\033[1;3B", 0, 0, 0}, | 292 | { XK_Down, Mod1Mask, "\033[1;3B", 0, 0, 0}, |
293 | { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0, 0}, | ||
294 | { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0}, | ||
295 | { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0, 0}, | ||
296 | { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0, 0}, | ||
297 | { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0, 0}, | ||
290 | { XK_Down, XK_ANY_MOD, "\033[B", 0, -1, 0}, | 298 | { XK_Down, XK_ANY_MOD, "\033[B", 0, -1, 0}, |
291 | { XK_Down, XK_ANY_MOD, "\033OB", 0, +1, 0}, | 299 | { XK_Down, XK_ANY_MOD, "\033OB", 0, +1, 0}, |
292 | { XK_Left, ShiftMask, "\033[1;2D", 0, 0, 0}, | 300 | { XK_Left, ShiftMask, "\033[1;2D", 0, 0, 0}, |
293 | { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0}, | ||
294 | { XK_Left, Mod1Mask, "\033[1;3D", 0, 0, 0}, | 301 | { XK_Left, Mod1Mask, "\033[1;3D", 0, 0, 0}, |
302 | { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0, 0}, | ||
303 | { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0}, | ||
304 | { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0, 0}, | ||
305 | { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0, 0}, | ||
306 | { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0, 0}, | ||
295 | { XK_Left, XK_ANY_MOD, "\033[D", 0, -1, 0}, | 307 | { XK_Left, XK_ANY_MOD, "\033[D", 0, -1, 0}, |
296 | { XK_Left, XK_ANY_MOD, "\033OD", 0, +1, 0}, | 308 | { XK_Left, XK_ANY_MOD, "\033OD", 0, +1, 0}, |
297 | { XK_Right, ShiftMask, "\033[1;2C", 0, 0, 0}, | 309 | { XK_Right, ShiftMask, "\033[1;2C", 0, 0, 0}, |
298 | { XK_Right, ControlMask, "\033[1;5C", 0, 0, 0}, | ||
299 | { XK_Right, Mod1Mask, "\033[1;3C", 0, 0, 0}, | 310 | { XK_Right, Mod1Mask, "\033[1;3C", 0, 0, 0}, |
311 | { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0, 0}, | ||
312 | { XK_Right, ControlMask, "\033[1;5C", 0, 0, 0}, | ||
313 | { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0, 0}, | ||
314 | { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0, 0}, | ||
315 | { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0, 0}, | ||
300 | { XK_Right, XK_ANY_MOD, "\033[C", 0, -1, 0}, | 316 | { XK_Right, XK_ANY_MOD, "\033[C", 0, -1, 0}, |
301 | { XK_Right, XK_ANY_MOD, "\033OC", 0, +1, 0}, | 317 | { XK_Right, XK_ANY_MOD, "\033OC", 0, +1, 0}, |
302 | { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0, 0}, | 318 | { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0, 0}, |