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/seat.h | |
parent | Merge pull request #2119 from martinetd/gcc-strtruncation (diff) | |
download | sway-c78ce0770a8c75d63853c6c85f789b68f56ee3ed.tar.gz sway-c78ce0770a8c75d63853c6c85f789b68f56ee3ed.tar.zst sway-c78ce0770a8c75d63853c6c85f789b68f56ee3ed.zip |
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/seat.h')
-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 @@ | |||
2 | #define _SWAYLOCK_SEAT_H | 2 | #define _SWAYLOCK_SEAT_H |
3 | #include <xkbcommon/xkbcommon.h> | 3 | #include <xkbcommon/xkbcommon.h> |
4 | 4 | ||
5 | enum mod_bit { | ||
6 | MOD_SHIFT = 1<<0, | ||
7 | MOD_CAPS = 1<<1, | ||
8 | MOD_CTRL = 1<<2, | ||
9 | MOD_ALT = 1<<3, | ||
10 | MOD_MOD2 = 1<<4, | ||
11 | MOD_MOD3 = 1<<5, | ||
12 | MOD_LOGO = 1<<6, | ||
13 | MOD_MOD5 = 1<<7, | ||
14 | }; | ||
15 | |||
16 | enum mask { | ||
17 | MASK_SHIFT, | ||
18 | MASK_CAPS, | ||
19 | MASK_CTRL, | ||
20 | MASK_ALT, | ||
21 | MASK_MOD2, | ||
22 | MASK_MOD3, | ||
23 | MASK_LOGO, | ||
24 | MASK_MOD5, | ||
25 | MASK_LAST | ||
26 | }; | ||
27 | |||
28 | struct swaylock_xkb { | 5 | struct swaylock_xkb { |
29 | uint32_t modifiers; | ||
30 | bool caps_lock; | 6 | bool caps_lock; |
7 | bool control; | ||
31 | struct xkb_state *state; | 8 | struct xkb_state *state; |
32 | struct xkb_context *context; | 9 | struct xkb_context *context; |
33 | struct xkb_keymap *keymap; | 10 | struct xkb_keymap *keymap; |
34 | xkb_mod_mask_t masks[MASK_LAST]; | ||
35 | }; | 11 | }; |
36 | 12 | ||
37 | extern const struct wl_seat_listener seat_listener; | 13 | extern const struct wl_seat_listener seat_listener; |