summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2016-01-13 14:20:33 -0200
committerHisham Muhammad <hisham@gobolinux.org>2016-01-13 14:20:33 -0200
commit9c39422c716581a9cbdcd15eb9ad616c6bf6e746 (patch)
tree62e757908e319ab910e74d6dffdf363cea0b6bde
parent466d4da0c6e7255a38b8de3c3b9dc0373805cc41 (diff)
parent99b947058ff8455f57c49382f8d1b7353458e08b (diff)
Merge pull request #346 from mklein-de/vikeys
vi keys: translate ALT-h/j/k/l to arrow keys
-rw-r--r--ScreenManager.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/ScreenManager.c b/ScreenManager.c
index df7431fd..1a9d9f03 100644
--- a/ScreenManager.c
+++ b/ScreenManager.c
@@ -244,6 +244,29 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
redraw = false;
continue;
}
+ else if (ch == 27) {
+ int ch2 = getch();
+ if (ch2 != ERR) {
+ switch(ch2)
+ {
+ case 'h':
+ ch = KEY_LEFT;
+ break;
+ case 'j':
+ ch = KEY_DOWN;
+ break;
+ case 'k':
+ ch = KEY_UP;
+ break;
+ case 'l':
+ ch = KEY_RIGHT;
+ break;
+ default:
+ ungetch(ch2);
+ break;
+ }
+ }
+ }
redraw = true;
if (Panel_eventHandlerFn(panelFocus)) {
result = Panel_eventHandler(panelFocus, ch);

© 2014-2024 Faster IT GmbH | imprint | privacy policy