diff options
author | Simon Ser <contact@emersion.fr> | 2023-11-16 14:56:46 +0100 |
---|---|---|
committer | Kenny Levinsen <kl@kl.wtf> | 2023-11-16 16:29:07 +0100 |
commit | 7036769bea886ab1f9d627785f14cea9e25b16f7 (patch) | |
tree | 73df7ae212c8f2587abd9860bcb54be3c831a6fb /sway/input/input-manager.c | |
parent | input/seat: rename seat_apply_input_config (diff) | |
download | sway-7036769bea886ab1f9d627785f14cea9e25b16f7.tar.gz sway-7036769bea886ab1f9d627785f14cea9e25b16f7.tar.zst sway-7036769bea886ab1f9d627785f14cea9e25b16f7.zip |
Only reconfigure input mappings on output change
Fully reconfiguring all input devices on output change takes a
loooong time. Let's just reconfigure what we need: only mappings
depend on outputs.
Diffstat (limited to 'sway/input/input-manager.c')
-rw-r--r-- | sway/input/input-manager.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sway/input/input-manager.c b/sway/input/input-manager.c index db82bb4c..5300919a 100644 --- a/sway/input/input-manager.c +++ b/sway/input/input-manager.c | |||
@@ -571,6 +571,16 @@ void input_manager_configure_all_inputs(void) { | |||
571 | } | 571 | } |
572 | } | 572 | } |
573 | 573 | ||
574 | void input_manager_configure_all_input_mappings(void) { | ||
575 | struct sway_input_device *input_device; | ||
576 | wl_list_for_each(input_device, &server.input->devices, link) { | ||
577 | struct sway_seat *seat; | ||
578 | wl_list_for_each(seat, &server.input->seats, link) { | ||
579 | seat_configure_device_mapping(seat, input_device); | ||
580 | } | ||
581 | } | ||
582 | } | ||
583 | |||
574 | void input_manager_apply_input_config(struct input_config *input_config) { | 584 | void input_manager_apply_input_config(struct input_config *input_config) { |
575 | struct sway_input_device *input_device = NULL; | 585 | struct sway_input_device *input_device = NULL; |
576 | bool wildcard = strcmp(input_config->identifier, "*") == 0; | 586 | bool wildcard = strcmp(input_config->identifier, "*") == 0; |