config: change horizontal scroll keys

We'd like to allow browsing the repository data using keys
only. That's why `left`/`right` was used to change the focused
pane. By this way, users can browse the graph history AND read patches
using its right hand on arrow keys.

Using `left` / `right` is quite intuitive but it breaks a really
useful rule. Horizontal scrolling seems to be used less often.

`<` / `>` are not so bad. Looking at
https://keyshorts.com/blogs/blog/44712961-how-to-identify-laptop-keyboard-localization
almost layouts have close `<` / `>` except `Azeri/Azerbaijani layout` (sorry guys).
2 files changed, 11 insertions(+), 3 deletions(-)

M lairucrem/config.py
M lairucrem/mixin.py
M lairucrem/config.py +9 -1
@@ 346,6 346,8 @@ CMD_NEXT_SELECTABLE = 'next selectable'
 CMD_PREV_SELECTABLE = 'prev selectable'
 CMD_MENU = 'menu'
 CMD_ESCAPE = 'escape'
+CMD_SCROLL_LEFT = 'scroll left'
+CMD_SCROLL_RIGHT = 'scroll right'
 CURSOR_UP_NEXT_PACKED = 'up next packed'
 CURSOR_DOWN_NEXT_PACKED = 'down next packed'
 CURSOR_PAGE_UP_NEXT_PACKED = 'page up next packed'

          
@@ 368,6 370,8 @@ def keybindings_default():
     command_map['down'] = CURSOR_DOWN
     command_map['left'] = CURSOR_LEFT
     command_map['right'] = CURSOR_RIGHT
+    command_map['<'] = CMD_SCROLL_LEFT
+    command_map['>'] = CMD_SCROLL_RIGHT
     command_map['page up'] = CURSOR_PAGE_UP
     command_map['page down'] = CURSOR_PAGE_DOWN
     command_map['home'] = CURSOR_MAX_LEFT

          
@@ 415,6 419,8 @@ def keybindings_vim():
     command_map['k'] = CURSOR_UP
     command_map['j'] = CURSOR_DOWN
     command_map['h'] = CURSOR_LEFT
+    command_map["'"] = CURSOR_RIGHT
+    command_map['g'] = CURSOR_LEFT
     command_map['l'] = CURSOR_RIGHT
     command_map['ctrl b'] = CURSOR_PAGE_UP
     command_map['ctrl f'] = CURSOR_PAGE_DOWN

          
@@ 456,7 462,9 @@ def keybindings_emacs():
     command_map['ctrl n'] = CURSOR_DOWN
     command_map['ctrl b'] = CURSOR_LEFT
     command_map['ctrl f'] = CURSOR_RIGHT
-    command_map['meta v'] = CURSOR_PAGE_UP
+    command_map['ctrl b'] = CURSOR_LEFT
+    command_map['ctrl >'] = CMD_SCROLL_RIGHT
+    command_map['ctrl <'] = CMD_SCROLL_LEFT
     command_map['ctrl v'] = CURSOR_PAGE_DOWN
     command_map['ctrl a'] = CURSOR_MAX_LEFT
     command_map['ctrl e'] = CURSOR_MAX_RIGHT

          
M lairucrem/mixin.py +2 -2
@@ 228,8 228,8 @@ class horizontal_scroll_listbox(modifiab
 
     signals = ['slideleft', 'slideright', 'modified']
     key_to_signal_map = {
-        config.CURSOR_LEFT: 'slideleft',
-        config.CURSOR_RIGHT: 'slideright',
+        config.CMD_SCROLL_LEFT: 'slideleft',
+        config.CMD_SCROLL_RIGHT: 'slideright',
     }
     _horizontal_offset = 0
     _horizontal_end_reached = False