diff options
Diffstat (limited to 'include/sway/input/seat.h')
-rw-r--r-- | include/sway/input/seat.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index 9c3028c5..49b9d09b 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _SWAY_INPUT_SEAT_H | 1 | #ifndef _SWAY_INPUT_SEAT_H |
2 | #define _SWAY_INPUT_SEAT_H | 2 | #define _SWAY_INPUT_SEAT_H |
3 | 3 | ||
4 | #include <wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h> | ||
4 | #include <wlr/types/wlr_layer_shell_v1.h> | 5 | #include <wlr/types/wlr_layer_shell_v1.h> |
5 | #include <wlr/types/wlr_seat.h> | 6 | #include <wlr/types/wlr_seat.h> |
6 | #include <wlr/util/edges.h> | 7 | #include <wlr/util/edges.h> |
@@ -94,6 +95,8 @@ struct sway_seat { | |||
94 | 95 | ||
95 | struct wl_list devices; // sway_seat_device::link | 96 | struct wl_list devices; // sway_seat_device::link |
96 | struct wl_list keyboard_groups; // sway_keyboard_group::link | 97 | struct wl_list keyboard_groups; // sway_keyboard_group::link |
98 | struct wl_list keyboard_shortcuts_inhibitors; | ||
99 | // sway_keyboard_shortcuts_inhibitor::link | ||
97 | 100 | ||
98 | struct wl_list link; // input_manager::seats | 101 | struct wl_list link; // input_manager::seats |
99 | }; | 102 | }; |
@@ -104,6 +107,14 @@ struct sway_pointer_constraint { | |||
104 | struct wl_listener destroy; | 107 | struct wl_listener destroy; |
105 | }; | 108 | }; |
106 | 109 | ||
110 | struct sway_keyboard_shortcuts_inhibitor { | ||
111 | struct wlr_keyboard_shortcuts_inhibitor_v1 *inhibitor; | ||
112 | |||
113 | struct wl_listener destroy; | ||
114 | |||
115 | struct wl_list link; // sway_seat::keyboard_shortcuts_inhibitors | ||
116 | }; | ||
117 | |||
107 | struct sway_seat *seat_create(const char *seat_name); | 118 | struct sway_seat *seat_create(const char *seat_name); |
108 | 119 | ||
109 | void seat_destroy(struct sway_seat *seat); | 120 | void seat_destroy(struct sway_seat *seat); |
@@ -269,4 +280,11 @@ void seatop_render(struct sway_seat *seat, struct sway_output *output, | |||
269 | 280 | ||
270 | bool seatop_allows_set_cursor(struct sway_seat *seat); | 281 | bool seatop_allows_set_cursor(struct sway_seat *seat); |
271 | 282 | ||
283 | /** | ||
284 | * Returns the keyboard shortcuts inhibitor that applies to the currently | ||
285 | * focused surface of a seat or NULL if none exists. | ||
286 | */ | ||
287 | struct sway_keyboard_shortcuts_inhibitor * | ||
288 | keyboard_shortcuts_inhibitor_get_for_focused_surface(const struct sway_seat *seat); | ||
289 | |||
272 | #endif | 290 | #endif |