aboutsummaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway')
-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;
sway_cmd seat_cmd_cursor;
sway_cmd seat_cmd_fallback;
sway_cmd seat_cmd_hide_cursor;
+sway_cmd seat_cmd_keyboard_grouping;
sway_cmd seat_cmd_pointer_constraint;
sway_cmd seat_cmd_xcursor_theme;
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 {
CONSTRAIN_DISABLE
};
+enum seat_keyboard_grouping {
+ KEYBOARD_GROUP_DEFAULT, // the default is currently keymap
+ KEYBOARD_GROUP_NONE,
+ KEYBOARD_GROUP_KEYMAP
+};
+
/**
* Options for multiseat and other misc device configurations
*/
@@ -185,6 +191,7 @@ struct seat_config {
list_t *attachments; // list of seat_attachment configs
int hide_cursor_timeout;
enum seat_config_allow_constrain allow_constrain;
+ enum seat_keyboard_grouping keyboard_grouping;
struct {
char *name;
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 {
struct sway_binding *repeat_binding;
};
+struct sway_keyboard_group {
+ struct wlr_keyboard_group *wlr_group;
+ struct sway_seat_device *seat_device;
+ struct wl_listener keyboard_key;
+ struct wl_listener keyboard_modifiers;
+ struct wl_list link; // sway_seat::keyboard_groups
+};
+
struct xkb_keymap *sway_keyboard_compile_keymap(struct input_config *ic,
char **error);
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 {
struct wl_listener request_set_primary_selection;
struct wl_list devices; // sway_seat_device::link
+ struct wl_list keyboard_groups; // sway_keyboard_group::link
struct wl_list link; // input_manager::seats
};