diff options
Diffstat (limited to 'src/keys.c')
| -rw-r--r-- | src/keys.c | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -12,9 +12,37 @@ #include "mem.h" #include "wm.h" +bool keymap = false; + void handling_keys(int ch, fm_info *i) { + /* Control(C) or Alt(M) */ + if (ch < 32) { + log_write(LOG_INFO, "ch = %d", ch); + switch (ch) { + case 14: /* C-n, scroll down in Emacs*/ + fm_entries_scroll(i, 1); + break; + case 16: /* C-p scroll up in Emacs */ + fm_entries_scroll(i, -1); + break; + /* Page down */ + case 4: /* C-d, for Vi users' habit */ + case 22: /* C-v, for Emacs users' habit*/ + fm_entries_scroll(i, i->windows[PANE_LEFT]->height / 2); + break; + /* Page up */ + case 21: /* C-u */ + case 27: /* M-v */ + fm_entries_scroll(i, + -(i->windows[PANE_LEFT]->height / 2)); + break; + } + + return; + } + switch (ch) { #ifdef KEY_RESIZE case KEY_RESIZE: |
