aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input/input-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/input/input-manager.c')
-rw-r--r--sway/input/input-manager.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sway/input/input-manager.c b/sway/input/input-manager.c
index 26eefc8a..39f4b795 100644
--- a/sway/input/input-manager.c
+++ b/sway/input/input-manager.c
@@ -575,6 +575,13 @@ void input_manager_reset_input(struct sway_input_device *input_device) {
575} 575}
576 576
577void input_manager_reset_all_inputs(void) { 577void input_manager_reset_all_inputs(void) {
578 // Set the active keyboard to NULL to avoid spamming configuration updates
579 // for all keyboard devices.
580 struct sway_seat *seat;
581 wl_list_for_each(seat, &server.input->seats, link) {
582 wlr_seat_set_keyboard(seat->wlr_seat, NULL);
583 }
584
578 struct sway_input_device *input_device = NULL; 585 struct sway_input_device *input_device = NULL;
579 wl_list_for_each(input_device, &server.input->devices, link) { 586 wl_list_for_each(input_device, &server.input->devices, link) {
580 input_manager_reset_input(input_device); 587 input_manager_reset_input(input_device);
@@ -583,7 +590,6 @@ void input_manager_reset_all_inputs(void) {
583 // If there is at least one keyboard using the default keymap, repeat delay, 590 // If there is at least one keyboard using the default keymap, repeat delay,
584 // and repeat rate, then it is possible that there is a keyboard group that 591 // and repeat rate, then it is possible that there is a keyboard group that
585 // need their keyboard disarmed. 592 // need their keyboard disarmed.
586 struct sway_seat *seat;
587 wl_list_for_each(seat, &server.input->seats, link) { 593 wl_list_for_each(seat, &server.input->seats, link) {
588 struct sway_keyboard_group *group; 594 struct sway_keyboard_group *group;
589 wl_list_for_each(group, &seat->keyboard_groups, link) { 595 wl_list_for_each(group, &seat->keyboard_groups, link) {