diff options
| author | Jari Vetoniemi <mailroxas@gmail.com> | 2015-01-18 03:34:18 +0200 | 
|---|---|---|
| committer | Jari Vetoniemi <mailroxas@gmail.com> | 2015-01-18 03:34:18 +0200 | 
| commit | 92152cb5fb417eb81d687423eceda9f1884b1927 (patch) | |
| tree | c73932d2e42b8ac7213547d23ca7ba0fecd1b6e1 /lib | |
| parent | c2eabf2be13de14e0e57ad6374cceb049b8d03da (diff) | |
| download | bemenu-92152cb5fb417eb81d687423eceda9f1884b1927.tar.gz bemenu-92152cb5fb417eb81d687423eceda9f1884b1927.tar.bz2 bemenu-92152cb5fb417eb81d687423eceda9f1884b1927.zip | |
Add alt keybindings from demenu to gui backends
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/renderers/wayland/wayland.c | 10 | ||||
| -rw-r--r-- | lib/renderers/x11/window.c | 1 | ||||
| -rw-r--r-- | lib/renderers/x11/x11.c | 10 | ||||
| -rw-r--r-- | lib/renderers/x11/x11.h | 1 | 
4 files changed, 18 insertions, 4 deletions
| diff --git a/lib/renderers/wayland/wayland.c b/lib/renderers/wayland/wayland.c index 252d86f..e1f317d 100644 --- a/lib/renderers/wayland/wayland.c +++ b/lib/renderers/wayland/wayland.c @@ -128,14 +128,20 @@ poll_key(const struct bm_menu *menu, unsigned int *unicode)              return (mods & MOD_CTRL ? BM_KEY_BACKSPACE : BM_KEY_UNICODE);          case XKB_KEY_u: -            return (mods & MOD_CTRL ? BM_KEY_LINE_DELETE_LEFT : BM_KEY_UNICODE); +            return (mods & MOD_CTRL ? BM_KEY_LINE_DELETE_LEFT : (mods & MOD_ALT ? BM_KEY_PAGE_UP : BM_KEY_UNICODE));          case XKB_KEY_k: -            return (mods & MOD_CTRL ? BM_KEY_LINE_DELETE_RIGHT : BM_KEY_UNICODE); +            return (mods & MOD_CTRL ? BM_KEY_LINE_DELETE_RIGHT : (mods & MOD_ALT ? BM_KEY_DOWN : BM_KEY_UNICODE));          case XKB_KEY_w:              return (mods & MOD_CTRL ? BM_KEY_WORD_DELETE : BM_KEY_UNICODE); +        case XKB_KEY_j: +            return (mods & MOD_ALT ? BM_KEY_UP : BM_KEY_UNICODE); + +        case XKB_KEY_d: +            return (mods & MOD_ALT ? BM_KEY_PAGE_DOWN : BM_KEY_UNICODE); +          default: break;      } diff --git a/lib/renderers/x11/window.c b/lib/renderers/x11/window.c index 0b4c94a..3fb24dc 100644 --- a/lib/renderers/x11/window.c +++ b/lib/renderers/x11/window.c @@ -105,6 +105,7 @@ bm_x11_window_key_press(struct window *window, XKeyEvent *ev)      window->mods = 0;      if (ev->state & ControlMask) window->mods |= MOD_CTRL;      if (ev->state & ShiftMask) window->mods |= MOD_SHIFT; +    if (ev->state & Mod1Mask) window->mods |= MOD_ALT;      window->keysym = keysym;  } diff --git a/lib/renderers/x11/x11.c b/lib/renderers/x11/x11.c index 81ccc5d..cb0ffbb 100644 --- a/lib/renderers/x11/x11.c +++ b/lib/renderers/x11/x11.c @@ -117,14 +117,20 @@ poll_key(const struct bm_menu *menu, unsigned int *unicode)              return (mods & MOD_CTRL ? BM_KEY_BACKSPACE : BM_KEY_UNICODE);          case XK_u: -            return (mods & MOD_CTRL ? BM_KEY_LINE_DELETE_LEFT : BM_KEY_UNICODE); +            return (mods & MOD_CTRL ? BM_KEY_LINE_DELETE_LEFT : (mods & MOD_ALT ? BM_KEY_PAGE_UP : BM_KEY_UNICODE));          case XK_k: -            return (mods & MOD_CTRL ? BM_KEY_LINE_DELETE_RIGHT : BM_KEY_UNICODE); +            return (mods & MOD_CTRL ? BM_KEY_LINE_DELETE_RIGHT : (mods & MOD_ALT ? BM_KEY_DOWN : BM_KEY_UNICODE));          case XK_w:              return (mods & MOD_CTRL ? BM_KEY_WORD_DELETE : BM_KEY_UNICODE); +        case XK_j: +            return (mods & MOD_ALT ? BM_KEY_UP : BM_KEY_UNICODE); + +        case XK_d: +            return (mods & MOD_ALT ? BM_KEY_PAGE_DOWN : BM_KEY_UNICODE); +          default: break;      } diff --git a/lib/renderers/x11/x11.h b/lib/renderers/x11/x11.h index e930cb2..fa6cea6 100644 --- a/lib/renderers/x11/x11.h +++ b/lib/renderers/x11/x11.h @@ -9,6 +9,7 @@  enum mod_bit {      MOD_SHIFT = 1<<0,      MOD_CTRL = 1<<1, +    MOD_ALT = 1<<2,  };  struct buffer { | 
