diff options
Diffstat (limited to 'include/sway/input/keyboard.h')
-rw-r--r-- | include/sway/input/keyboard.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/include/sway/input/keyboard.h b/include/sway/input/keyboard.h index 8ec3eb35..c9a8d514 100644 --- a/include/sway/input/keyboard.h +++ b/include/sway/input/keyboard.h | |||
@@ -3,7 +3,13 @@ | |||
3 | 3 | ||
4 | #include "sway/input/seat.h" | 4 | #include "sway/input/seat.h" |
5 | 5 | ||
6 | #define SWAY_KEYBOARD_PRESSED_KEYSYMS_CAP 32 | 6 | #define SWAY_KEYBOARD_PRESSED_KEYS_CAP 32 |
7 | |||
8 | struct sway_shortcut_state { | ||
9 | uint32_t pressed_keys[SWAY_KEYBOARD_PRESSED_KEYS_CAP]; | ||
10 | uint32_t pressed_keycodes[SWAY_KEYBOARD_PRESSED_KEYS_CAP]; | ||
11 | int last_key_index; | ||
12 | }; | ||
7 | 13 | ||
8 | struct sway_keyboard { | 14 | struct sway_keyboard { |
9 | struct sway_seat_device *seat_device; | 15 | struct sway_seat_device *seat_device; |
@@ -13,11 +19,11 @@ struct sway_keyboard { | |||
13 | struct wl_listener keyboard_key; | 19 | struct wl_listener keyboard_key; |
14 | struct wl_listener keyboard_modifiers; | 20 | struct wl_listener keyboard_modifiers; |
15 | 21 | ||
16 | xkb_keysym_t pressed_keysyms_translated[SWAY_KEYBOARD_PRESSED_KEYSYMS_CAP]; | 22 | struct sway_shortcut_state state_keysyms_translated; |
17 | uint32_t modifiers_translated; | 23 | struct sway_shortcut_state state_keysyms_raw; |
18 | 24 | struct sway_shortcut_state state_keycodes; | |
19 | xkb_keysym_t pressed_keysyms_raw[SWAY_KEYBOARD_PRESSED_KEYSYMS_CAP]; | 25 | struct sway_binding *held_binding; |
20 | uint32_t modifiers_raw; | 26 | uint32_t last_modifiers; |
21 | }; | 27 | }; |
22 | 28 | ||
23 | struct sway_keyboard *sway_keyboard_create(struct sway_seat *seat, | 29 | struct sway_keyboard *sway_keyboard_create(struct sway_seat *seat, |