aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sway/commands.h1
-rw-r--r--include/sway/config.h7
-rw-r--r--include/sway/input/keyboard.h8
-rw-r--r--include/sway/input/seat.h1
4 files changed, 17 insertions, 0 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h
index 45b5b0f4..67665d87 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -284,6 +284,7 @@ sway_cmd seat_cmd_attach;
284sway_cmd seat_cmd_cursor; 284sway_cmd seat_cmd_cursor;
285sway_cmd seat_cmd_fallback; 285sway_cmd seat_cmd_fallback;
286sway_cmd seat_cmd_hide_cursor; 286sway_cmd seat_cmd_hide_cursor;
287sway_cmd seat_cmd_keyboard_grouping;
287sway_cmd seat_cmd_pointer_constraint; 288sway_cmd seat_cmd_pointer_constraint;
288sway_cmd seat_cmd_xcursor_theme; 289sway_cmd seat_cmd_xcursor_theme;
289 290
diff --git a/include/sway/config.h b/include/sway/config.h
index 457e0a98..ed542790 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -176,6 +176,12 @@ enum seat_config_allow_constrain {
176 CONSTRAIN_DISABLE 176 CONSTRAIN_DISABLE
177}; 177};
178 178
179enum seat_keyboard_grouping {
180 KEYBOARD_GROUP_DEFAULT, // the default is currently keymap
181 KEYBOARD_GROUP_NONE,
182 KEYBOARD_GROUP_KEYMAP
183};
184
179/** 185/**
180 * Options for multiseat and other misc device configurations 186 * Options for multiseat and other misc device configurations
181 */ 187 */
@@ -185,6 +191,7 @@ struct seat_config {
185 list_t *attachments; // list of seat_attachment configs 191 list_t *attachments; // list of seat_attachment configs
186 int hide_cursor_timeout; 192 int hide_cursor_timeout;
187 enum seat_config_allow_constrain allow_constrain; 193 enum seat_config_allow_constrain allow_constrain;
194 enum seat_keyboard_grouping keyboard_grouping;
188 struct { 195 struct {
189 char *name; 196 char *name;
190 int size; 197 int size;
diff --git a/include/sway/input/keyboard.h b/include/sway/input/keyboard.h
index 4aa0d8f4..72a29ba6 100644
--- a/include/sway/input/keyboard.h
+++ b/include/sway/input/keyboard.h
@@ -67,6 +67,14 @@ struct sway_keyboard {
67 struct sway_binding *repeat_binding; 67 struct sway_binding *repeat_binding;
68}; 68};
69 69
70struct sway_keyboard_group {
71 struct wlr_keyboard_group *wlr_group;
72 struct sway_seat_device *seat_device;
73 struct wl_listener keyboard_key;
74 struct wl_listener keyboard_modifiers;
75 struct wl_list link; // sway_seat::keyboard_groups
76};
77
70struct xkb_keymap *sway_keyboard_compile_keymap(struct input_config *ic, 78struct xkb_keymap *sway_keyboard_compile_keymap(struct input_config *ic,
71 char **error); 79 char **error);
72 80
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h
index 24a6fed4..32795b03 100644
--- a/include/sway/input/seat.h
+++ b/include/sway/input/seat.h
@@ -90,6 +90,7 @@ struct sway_seat {
90 struct wl_listener request_set_primary_selection; 90 struct wl_listener request_set_primary_selection;
91 91
92 struct wl_list devices; // sway_seat_device::link 92 struct wl_list devices; // sway_seat_device::link
93 struct wl_list keyboard_groups; // sway_keyboard_group::link
93 94
94 struct wl_list link; // input_manager::seats 95 struct wl_list link; // input_manager::seats
95}; 96};