diff options
Diffstat (limited to 'include/sway/input/seat.h')
-rw-r--r-- | include/sway/input/seat.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h new file mode 100644 index 00000000..d703f94c --- /dev/null +++ b/include/sway/input/seat.h | |||
@@ -0,0 +1,47 @@ | |||
1 | #ifndef _SWAY_INPUT_SEAT_H | ||
2 | #define _SWAY_INPUT_SEAT_H | ||
3 | |||
4 | #include <wlr/types/wlr_seat.h> | ||
5 | #include "sway/input/input-manager.h" | ||
6 | |||
7 | struct sway_seat_device { | ||
8 | struct sway_seat *sway_seat; | ||
9 | struct sway_input_device *input_device; | ||
10 | struct sway_keyboard *keyboard; | ||
11 | struct seat_attachment_config *attachment_config; | ||
12 | struct wl_list link; // sway_seat::devices | ||
13 | }; | ||
14 | |||
15 | struct sway_seat { | ||
16 | struct wlr_seat *wlr_seat; | ||
17 | struct seat_config *config; | ||
18 | struct sway_cursor *cursor; | ||
19 | struct sway_input_manager *input; | ||
20 | swayc_t *focus; | ||
21 | |||
22 | struct wl_listener focus_destroy; | ||
23 | |||
24 | struct wl_list devices; // sway_seat_device::link | ||
25 | |||
26 | struct wl_list link; // input_manager::seats | ||
27 | }; | ||
28 | |||
29 | struct sway_seat *sway_seat_create(struct sway_input_manager *input, | ||
30 | const char *seat_name); | ||
31 | |||
32 | void sway_seat_add_device(struct sway_seat *seat, | ||
33 | struct sway_input_device *device); | ||
34 | |||
35 | void sway_seat_configure_device(struct sway_seat *seat, | ||
36 | struct sway_input_device *device); | ||
37 | |||
38 | void sway_seat_remove_device(struct sway_seat *seat, | ||
39 | struct sway_input_device *device); | ||
40 | |||
41 | void sway_seat_configure_xcursor(struct sway_seat *seat); | ||
42 | |||
43 | void sway_seat_set_focus(struct sway_seat *seat, swayc_t *container); | ||
44 | |||
45 | void sway_seat_set_config(struct sway_seat *seat, struct seat_config *seat_config); | ||
46 | |||
47 | #endif | ||