summaryrefslogtreecommitdiffstats
path: root/include/sway/input
diff options
context:
space:
mode:
authorLibravatar Tony Crisci <tony@dubstepdish.com>2018-04-02 16:09:27 -0400
committerLibravatar Tony Crisci <tony@dubstepdish.com>2018-04-02 16:09:27 -0400
commitd434da563239c43c5fe417ce83b23b417f2ab635 (patch)
treee154daaf43c42d11c5afb8b7739ae6b52dd01215 /include/sway/input
parentfix workspace splits (diff)
parentMerge pull request #1699 from acrisci/seat-fixes (diff)
downloadsway-d434da563239c43c5fe417ce83b23b417f2ab635.tar.gz
sway-d434da563239c43c5fe417ce83b23b417f2ab635.tar.zst
sway-d434da563239c43c5fe417ce83b23b417f2ab635.zip
Merge branch 'wlroots' into split-containers
Diffstat (limited to 'include/sway/input')
-rw-r--r--include/sway/input/input-manager.h23
-rw-r--r--include/sway/input/seat.h28
2 files changed, 27 insertions, 24 deletions
diff --git a/include/sway/input/input-manager.h b/include/sway/input/input-manager.h
index c6c73dba..8e39a4a7 100644
--- a/include/sway/input/input-manager.h
+++ b/include/sway/input/input-manager.h
@@ -14,7 +14,6 @@ extern struct sway_input_manager *input_manager;
14struct sway_input_device { 14struct sway_input_device {
15 char *identifier; 15 char *identifier;
16 struct wlr_input_device *wlr_device; 16 struct wlr_input_device *wlr_device;
17 struct input_config *config;
18 struct wl_list link; 17 struct wl_list link;
19 struct wl_listener device_destroy; 18 struct wl_listener device_destroy;
20}; 19};
@@ -27,30 +26,34 @@ struct sway_input_manager {
27 struct wl_listener new_input; 26 struct wl_listener new_input;
28}; 27};
29 28
30struct sway_input_manager *sway_input_manager_create( 29struct sway_input_manager *input_manager_create(struct sway_server *server);
31 struct sway_server *server);
32 30
33bool sway_input_manager_has_focus(struct sway_input_manager *input, 31bool input_manager_has_focus(struct sway_input_manager *input,
34 struct sway_container *container); 32 struct sway_container *container);
35 33
36void sway_input_manager_set_focus(struct sway_input_manager *input, 34void input_manager_set_focus(struct sway_input_manager *input,
37 struct sway_container *container); 35 struct sway_container *container);
38 36
39void sway_input_manager_configure_xcursor(struct sway_input_manager *input); 37void input_manager_configure_xcursor(struct sway_input_manager *input);
40 38
41void sway_input_manager_apply_input_config(struct sway_input_manager *input, 39void input_manager_apply_input_config(struct sway_input_manager *input,
42 struct input_config *input_config); 40 struct input_config *input_config);
43 41
44void sway_input_manager_apply_seat_config(struct sway_input_manager *input, 42void input_manager_apply_seat_config(struct sway_input_manager *input,
45 struct seat_config *seat_config); 43 struct seat_config *seat_config);
46 44
47struct sway_seat *sway_input_manager_get_default_seat( 45struct sway_seat *input_manager_get_default_seat(
48 struct sway_input_manager *input); 46 struct sway_input_manager *input);
49 47
50struct sway_seat *input_manager_get_seat(struct sway_input_manager *input, 48struct sway_seat *input_manager_get_seat(struct sway_input_manager *input,
51 const char *seat_name); 49 const char *seat_name);
52 50
53/** Gets the last seat the user interacted with */ 51/**
52 * Gets the last seat the user interacted with
53 */
54struct sway_seat *input_manager_current_seat(struct sway_input_manager *input); 54struct sway_seat *input_manager_current_seat(struct sway_input_manager *input);
55 55
56struct input_config *input_device_get_config(struct sway_input_device *device);
57
58
56#endif 59#endif
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h
index 38795e14..c780a52b 100644
--- a/include/sway/input/seat.h
+++ b/include/sway/input/seat.h
@@ -8,7 +8,6 @@ struct sway_seat_device {
8 struct sway_seat *sway_seat; 8 struct sway_seat *sway_seat;
9 struct sway_input_device *input_device; 9 struct sway_input_device *input_device;
10 struct sway_keyboard *keyboard; 10 struct sway_keyboard *keyboard;
11 struct seat_attachment_config *attachment_config;
12 struct wl_list link; // sway_seat::devices 11 struct wl_list link; // sway_seat::devices
13}; 12};
14 13
@@ -23,7 +22,6 @@ struct sway_seat_container {
23 22
24struct sway_seat { 23struct sway_seat {
25 struct wlr_seat *wlr_seat; 24 struct wlr_seat *wlr_seat;
26 struct seat_config *config;
27 struct sway_cursor *cursor; 25 struct sway_cursor *cursor;
28 struct sway_input_manager *input; 26 struct sway_input_manager *input;
29 27
@@ -38,28 +36,28 @@ struct sway_seat {
38 struct wl_list link; // input_manager::seats 36 struct wl_list link; // input_manager::seats
39}; 37};
40 38
41struct sway_seat *sway_seat_create(struct sway_input_manager *input, 39struct sway_seat *seat_create(struct sway_input_manager *input,
42 const char *seat_name); 40 const char *seat_name);
43 41
44void sway_seat_destroy(struct sway_seat *seat); 42void seat_destroy(struct sway_seat *seat);
45 43
46void sway_seat_add_device(struct sway_seat *seat, 44void seat_add_device(struct sway_seat *seat,
47 struct sway_input_device *device); 45 struct sway_input_device *device);
48 46
49void sway_seat_configure_device(struct sway_seat *seat, 47void seat_configure_device(struct sway_seat *seat,
50 struct sway_input_device *device); 48 struct sway_input_device *device);
51 49
52void sway_seat_remove_device(struct sway_seat *seat, 50void seat_remove_device(struct sway_seat *seat,
53 struct sway_input_device *device); 51 struct sway_input_device *device);
54 52
55void sway_seat_configure_xcursor(struct sway_seat *seat); 53void seat_configure_xcursor(struct sway_seat *seat);
56 54
57void sway_seat_set_focus(struct sway_seat *seat, struct sway_container *container); 55void seat_set_focus(struct sway_seat *seat, struct sway_container *container);
58 56
59void sway_seat_set_focus_warp(struct sway_seat *seat, 57void seat_set_focus_warp(struct sway_seat *seat,
60 struct sway_container *container, bool warp); 58 struct sway_container *container, bool warp);
61 59
62struct sway_container *sway_seat_get_focus(struct sway_seat *seat); 60struct sway_container *seat_get_focus(struct sway_seat *seat);
63 61
64/** 62/**
65 * Return the last container to be focused for the seat (or the most recently 63 * Return the last container to be focused for the seat (or the most recently
@@ -70,12 +68,14 @@ struct sway_container *sway_seat_get_focus(struct sway_seat *seat);
70 * is destroyed, or focus moves to a container with children and we need to 68 * is destroyed, or focus moves to a container with children and we need to
71 * descend into the next leaf in focus order. 69 * descend into the next leaf in focus order.
72 */ 70 */
73struct sway_container *sway_seat_get_focus_inactive(struct sway_seat *seat, 71struct sway_container *seat_get_focus_inactive(struct sway_seat *seat,
74 struct sway_container *container); 72 struct sway_container *container);
75 73
76struct sway_container *sway_seat_get_focus_by_type(struct sway_seat *seat, 74struct sway_container *seat_get_focus_by_type(struct sway_seat *seat,
77 struct sway_container *container, enum sway_container_type type); 75 struct sway_container *container, enum sway_container_type type);
78 76
79void sway_seat_set_config(struct sway_seat *seat, struct seat_config *seat_config); 77void seat_apply_config(struct sway_seat *seat, struct seat_config *seat_config);
78
79struct seat_config *seat_get_config(struct sway_seat *seat);
80 80
81#endif 81#endif