diff options
Diffstat (limited to 'sway/input/input-manager.c')
-rw-r--r-- | sway/input/input-manager.c | 8 |
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 | ||
577 | void input_manager_reset_all_inputs(void) { | 577 | void 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) { |