From 0874fc5d4963cb7b75ece01e429f8e2aac9eefb3 Mon Sep 17 00:00:00 2001 From: Mark Oteiza Date: Mon, 6 Apr 2015 16:19:54 -0400 Subject: Add some Emacs keybindings * C-v to curses backend * C-v, M-v, M-<, M-> to x11 and wayland backends Signed-off-by: Jari Vetoniemi --- lib/renderers/curses/curses.c | 1 + lib/renderers/wayland/wayland.c | 9 +++++++++ lib/renderers/x11/x11.c | 9 +++++++++ 3 files changed, 19 insertions(+) diff --git a/lib/renderers/curses/curses.c b/lib/renderers/curses/curses.c index 756091b..f0f654a 100644 --- a/lib/renderers/curses/curses.c +++ b/lib/renderers/curses/curses.c @@ -277,6 +277,7 @@ poll_key(const struct bm_menu *menu, uint32_t *unicode) case KEY_PPAGE: /* Page up */ return BM_KEY_PAGE_UP; + case 22: /* C-v */ case KEY_NPAGE: /* Page down */ return BM_KEY_PAGE_DOWN; diff --git a/lib/renderers/wayland/wayland.c b/lib/renderers/wayland/wayland.c index 12fd257..3efda7f 100644 --- a/lib/renderers/wayland/wayland.c +++ b/lib/renderers/wayland/wayland.c @@ -85,9 +85,18 @@ poll_key(const struct bm_menu *menu, unsigned int *unicode) case XKB_KEY_SunPageUp: return (mods & MOD_SHIFT ? BM_KEY_SHIFT_PAGE_UP : BM_KEY_PAGE_UP); + case XKB_KEY_less: + return (mods & MOD_ALT ? BM_KEY_SHIFT_PAGE_UP : BM_KEY_UNICODE); + case XKB_KEY_SunPageDown: return (mods & MOD_SHIFT ? BM_KEY_SHIFT_PAGE_DOWN : BM_KEY_PAGE_DOWN); + case XKB_KEY_greater: + return (mods & MOD_ALT ? BM_KEY_SHIFT_PAGE_DOWN : BM_KEY_UNICODE); + + case XKB_KEY_v: + return (mods & MOD_CTRL ? BM_KEY_PAGE_DOWN : (mods & MOD_ALT ? BM_KEY_PAGE_UP : BM_KEY_UNICODE)); + case XKB_KEY_BackSpace: return BM_KEY_BACKSPACE; diff --git a/lib/renderers/x11/x11.c b/lib/renderers/x11/x11.c index 79adad8..ce1dbc1 100644 --- a/lib/renderers/x11/x11.c +++ b/lib/renderers/x11/x11.c @@ -71,9 +71,18 @@ poll_key(const struct bm_menu *menu, unsigned int *unicode) case XK_Page_Up: return (mods & MOD_SHIFT ? BM_KEY_SHIFT_PAGE_UP : BM_KEY_PAGE_UP); + case XK_less: + return (mods & MOD_ALT ? BM_KEY_SHIFT_PAGE_UP : BM_KEY_UNICODE); + case XK_Page_Down: return (mods & MOD_SHIFT ? BM_KEY_SHIFT_PAGE_DOWN : BM_KEY_PAGE_DOWN); + case XK_greater: + return (mods & MOD_ALT ? BM_KEY_SHIFT_PAGE_DOWN : BM_KEY_UNICODE); + + case XK_v: + return (mods & MOD_CTRL ? BM_KEY_PAGE_DOWN : (mods & MOD_ALT ? BM_KEY_PAGE_UP : BM_KEY_UNICODE)); + case XK_BackSpace: return BM_KEY_BACKSPACE; -- cgit v1.2.3-70-g09d2