about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPaul Fertser <fercerpav@gmail.com>2022-03-30 21:46:25 +0300
committerPaul Fertser <fercerpav@gmail.com>2022-03-30 21:46:25 +0300
commit4a6f88cc23175c94ffd29a2df1f9aabe8d5dbc47 (patch)
treefbe6d34efaba194a4b6a6dd687a1edc2518d8cdb
parent9a4cfa70efac52f35650b535a7110c0fd1f3bc79 (diff)
downloadprofani-tty-4a6f88cc23175c94ffd29a2df1f9aabe8d5dbc47.tar.gz
Add Alt/Ctrl-arrows combinations for GNU Screen
GNU Screen terminal emulator is modelled after VT100, its key bindings
for "application mode" (which profanity enables on startup) can be
seen with this: info screen "Input Translation".
-rw-r--r--src/ui/inputwin.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ui/inputwin.c b/src/ui/inputwin.c
index ac7cf817..6bd6f613 100644
--- a/src/ui/inputwin.c
+++ b/src/ui/inputwin.c
@@ -483,10 +483,12 @@ _inp_rl_startup_hook(void)
     rl_bind_keyseq("\\e[1;9D", _inp_rl_win_prev_handler);
     rl_bind_keyseq("\\e[1;3D", _inp_rl_win_prev_handler);
     rl_bind_keyseq("\\e\\e[D", _inp_rl_win_prev_handler);
+    rl_bind_keyseq("\\e\\eOD", _inp_rl_win_prev_handler);
 
     rl_bind_keyseq("\\e[1;9C", _inp_rl_win_next_handler);
     rl_bind_keyseq("\\e[1;3C", _inp_rl_win_next_handler);
     rl_bind_keyseq("\\e\\e[C", _inp_rl_win_next_handler);
+    rl_bind_keyseq("\\e\\eOC", _inp_rl_win_next_handler);
 
     rl_bind_keyseq("\\ea", _inp_rl_win_next_unread_handler);
     rl_bind_keyseq("\\ev", _inp_rl_win_attention_handler);
@@ -510,6 +512,7 @@ _inp_rl_startup_hook(void)
     rl_bind_keyseq("\\e[Z", _inp_rl_shift_tab_handler);
 
     rl_bind_keyseq("\\e[1;5B", _inp_rl_down_arrow_handler); // ctrl+arrow down
+    rl_bind_keyseq("\\eOb", _inp_rl_down_arrow_handler);
 
     // unbind unwanted mappings
     rl_bind_keyseq("\\e=", NULL);