aboutsummaryrefslogtreecommitdiff
path: root/sway/input/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/input/keyboard.c')
-rw-r--r--sway/input/keyboard.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c
index 96d5b72d..3f4a7289 100644
--- a/sway/input/keyboard.c
+++ b/sway/input/keyboard.c
@@ -1070,6 +1070,13 @@ void sway_keyboard_configure(struct sway_keyboard *keyboard) {
}
}
+ // If the seat has no active keyboard, set this one
+ struct wlr_seat *seat = keyboard->seat_device->sway_seat->wlr_seat;
+ struct wlr_keyboard *current_keyboard = seat->keyboard_state.keyboard;
+ if (current_keyboard == NULL) {
+ wlr_seat_set_keyboard(seat, keyboard->wlr);
+ }
+
wl_list_remove(&keyboard->keyboard_key.link);
wl_signal_add(&keyboard->wlr->events.key, &keyboard->keyboard_key);
keyboard->keyboard_key.notify = handle_keyboard_key;