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 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
595void input_manager_reset_all_inputs(void) { 595void 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) {