aboutsummaryrefslogtreecommitdiffhomepage
path: root/input.c
diff options
context:
space:
mode:
authorGravatar axel <axel@liljencrantz.se>2005-09-22 20:11:01 +1000
committerGravatar axel <axel@liljencrantz.se>2005-09-22 20:11:01 +1000
commitfcdaed44d73b0f151f53a304501c987b7a649446 (patch)
tree6e6f9a2f6b2f1c37ef952bf6480739477b0aaf2f /input.c
parent8baf2e5cb803c86d426d1805eec5f0e6c2299832 (diff)
keybinding cleanups
darcs-hash:20050922101101-ac50b-58be1ccb8a9a691e69369872e745c4212df27b98.gz
Diffstat (limited to 'input.c')
-rw-r--r--input.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/input.c b/input.c
index 59894ea3..b6dd4842 100644
--- a/input.c
+++ b/input.c
@@ -855,48 +855,51 @@ static void add_common_bindings()
*/
for( i=0; i<3; i++ )
{
+ /*
+ We need alternative keybidnings for arrowkeys, since
+ terminfo sometimes specifies a different sequence than what
+ keypresses actually generate
+ */
add_mapping( name[i], L"\e[A", L"Up", L"history-search-backward" );
add_mapping( name[i], L"\e[B", L"Down", L"history-search-forward" );
+ add_terminfo_mapping( name[i], (key_up), L"Up", L"history-search-backward" );
+ add_terminfo_mapping( name[i], (key_down), L"Down", L"history-search-forward" );
+
add_mapping( name[i], L"\e[C", L"Right", L"forward-char" );
add_mapping( name[i], L"\e[D", L"Left", L"backward-char" );
-
- add_terminfo_mapping( name[i], (key_left), L"Left", L"backward-char" );
-
add_terminfo_mapping( name[i], (key_right), L"Right", L"forward-char" );
+ add_terminfo_mapping( name[i], (key_left), L"Left", L"backward-char" );
- add_terminfo_mapping( name[i], (key_up), L"Up", L"history-search-backward" );
-
- add_terminfo_mapping( name[i], (key_down), L"Down", L"history-search-forward" );
add_terminfo_mapping( name[i], (key_dc), L"Delete", L"delete-char" );
add_terminfo_mapping( name[i], (key_backspace), L"Backspace", L"backward-delete-char" );
-
add_mapping( name[i], L"\x7f", L"Backspace", L"backward-delete-char" );
add_terminfo_mapping( name[i], (key_home), L"Home", L"beginning-of-line" );
add_terminfo_mapping( name[i], (key_end), L"End", L"end-of-line" );
-
+
+ /*
+ We need lots of alternative keybidnings, since terminal
+ emulators can't seem to agree on what sequence to generate,
+ and terminfo doesn't specify what sequence should be
+ generated
+ */
+
add_mapping( name[i], L"\e\eOC", L"Alt-Right", L"nextd-or-forward-word" );
add_mapping( name[i], L"\e\eOD", L"Alt-Left", L"prevd-or-backward-word" );
-
add_mapping( name[i], L"\eO3C", L"Alt-Right", L"nextd-or-forward-word" );
add_mapping( name[i], L"\eO3D", L"Alt-Left", L"prevd-or-backward-word" );
-
add_mapping( name[i], L"\e[3C", L"Alt-Right", L"nextd-or-forward-word" );
add_mapping( name[i], L"\e[3D", L"Alt-Left", L"prevd-or-backward-word" );
-
add_mapping( name[i], L"\e[1;3C", L"Alt-Right", L"nextd-or-forward-word" );
add_mapping( name[i], L"\e[1;3D", L"Alt-Left", L"prevd-or-backward-word" );
add_mapping( name[i], L"\e\eOA", L"Alt-Up", L"history-token-search-backward" );
add_mapping( name[i], L"\e\eOB", L"Alt-Down", L"history-token-search-forward" );
-
add_mapping( name[i], L"\eO3A", L"Alt-Up", L"history-token-search-backward" );
add_mapping( name[i], L"\eO3B", L"Alt-Down", L"history-token-search-forward" );
-
add_mapping( name[i], L"\e[3A", L"Alt-Up", L"history-token-search-backward" );
add_mapping( name[i], L"\e[3B", L"Alt-Down", L"history-token-search-forward" );
-
add_mapping( name[i], L"\e[1;3A", L"Alt-Up", L"history-token-search-backward" );
add_mapping( name[i], L"\e[1;3B", L"Alt-Down", L"history-token-search-forward" );
}