diff options
author | Dominique Martinet <asmadeus@codewreck.org> | 2018-06-08 21:58:01 +0900 |
---|---|---|
committer | Dominique Martinet <asmadeus@codewreck.org> | 2018-06-08 22:42:15 +0900 |
commit | c78ce0770a8c75d63853c6c85f789b68f56ee3ed (patch) | |
tree | 578c0249b9ecf8eb8579b828862db3107d1a22bd /include/swaylock | |
parent | acf71fe8053efadbfb81d2ea010ac6facf41cd81 (diff) |
swaylock: implement ^U to clear buffer
The whole state->xcb.modifiers thing didn't work at all (always 0)
The xkb doc says "[xkb_state_serialize_mods] should not be used in
regular clients; please use the xkb_state_mod_*_is_active API instead"
so here it is
Diffstat (limited to 'include/swaylock')
-rw-r--r-- | include/swaylock/seat.h | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/include/swaylock/seat.h b/include/swaylock/seat.h index 180ea7a0..4bcf40c0 100644 --- a/include/swaylock/seat.h +++ b/include/swaylock/seat.h @@ -2,36 +2,12 @@ #define _SWAYLOCK_SEAT_H #include <xkbcommon/xkbcommon.h> -enum mod_bit { - MOD_SHIFT = 1<<0, - MOD_CAPS = 1<<1, - MOD_CTRL = 1<<2, - MOD_ALT = 1<<3, - MOD_MOD2 = 1<<4, - MOD_MOD3 = 1<<5, - MOD_LOGO = 1<<6, - MOD_MOD5 = 1<<7, -}; - -enum mask { - MASK_SHIFT, - MASK_CAPS, - MASK_CTRL, - MASK_ALT, - MASK_MOD2, - MASK_MOD3, - MASK_LOGO, - MASK_MOD5, - MASK_LAST -}; - struct swaylock_xkb { - uint32_t modifiers; bool caps_lock; + bool control; struct xkb_state *state; struct xkb_context *context; struct xkb_keymap *keymap; - xkb_mod_mask_t masks[MASK_LAST]; }; extern const struct wl_seat_listener seat_listener; |