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 634d8981..ea2cc038 100644 --- a/sway/input/input-manager.c +++ b/sway/input/input-manager.c | |||
@@ -593,6 +593,13 @@ void input_manager_reset_input(struct sway_input_device *input_device) { | |||
593 | } | 593 | } |
594 | 594 | ||
595 | void input_manager_reset_all_inputs(void) { | 595 | void input_manager_reset_all_inputs(void) { |
596 | // Set the active keyboard to NULL to avoid spamming configuration updates | ||
597 | // for all keyboard devices. | ||
598 | struct sway_seat *seat; | ||
599 | wl_list_for_each(seat, &server.input->seats, link) { | ||
600 | wlr_seat_set_keyboard(seat->wlr_seat, NULL); | ||
601 | } | ||
602 | |||
596 | struct sway_input_device *input_device = NULL; | 603 | struct sway_input_device *input_device = NULL; |
597 | wl_list_for_each(input_device, &server.input->devices, link) { | 604 | wl_list_for_each(input_device, &server.input->devices, link) { |
598 | input_manager_reset_input(input_device); | 605 | input_manager_reset_input(input_device); |
@@ -601,7 +608,6 @@ void input_manager_reset_all_inputs(void) { | |||
601 | // If there is at least one keyboard using the default keymap, repeat delay, | 608 | // If there is at least one keyboard using the default keymap, repeat delay, |
602 | // and repeat rate, then it is possible that there is a keyboard group that | 609 | // and repeat rate, then it is possible that there is a keyboard group that |
603 | // need their keyboard disarmed. | 610 | // need their keyboard disarmed. |
604 | struct sway_seat *seat; | ||
605 | wl_list_for_each(seat, &server.input->seats, link) { | 611 | wl_list_for_each(seat, &server.input->seats, link) { |
606 | struct sway_keyboard_group *group; | 612 | struct sway_keyboard_group *group; |
607 | wl_list_for_each(group, &seat->keyboard_groups, link) { | 613 | wl_list_for_each(group, &seat->keyboard_groups, link) { |