mirror of
https://github.com/swaywm/sway.git
synced 2024-12-30 17:06:40 +01:00
config/output: reconfigure input devices after full output init
Previously in 3de1a39
, it "worked by accident" in my testing since the
display being used in `map_to_output` was initialized first (the map
would not be applied because the display hadn't actually come online
yet), and was followed by a second display (at which point the map would
get applied for the first display).
Refs #5231
This commit is contained in:
parent
d77247117c
commit
c3c9737e8b
1 changed files with 11 additions and 11 deletions
|
@ -388,17 +388,6 @@ static void queue_output_config(struct output_config *oc,
|
||||||
oc->adaptive_sync);
|
oc->adaptive_sync);
|
||||||
wlr_output_enable_adaptive_sync(wlr_output, oc->adaptive_sync == 1);
|
wlr_output_enable_adaptive_sync(wlr_output, oc->adaptive_sync == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reconfigure all devices, since input config may have been applied before
|
|
||||||
// this output came online, and some config items (like map_to_output) are
|
|
||||||
// dependent on an output being present.
|
|
||||||
struct sway_input_device *input_device = NULL;
|
|
||||||
wl_list_for_each(input_device, &server.input->devices, link) {
|
|
||||||
struct sway_seat *seat = NULL;
|
|
||||||
wl_list_for_each(seat, &server.input->seats, link) {
|
|
||||||
seat_configure_device(seat, input_device);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool apply_output_config(struct output_config *oc, struct sway_output *output) {
|
bool apply_output_config(struct output_config *oc, struct sway_output *output) {
|
||||||
|
@ -489,6 +478,17 @@ bool apply_output_config(struct output_config *oc, struct sway_output *output) {
|
||||||
output->max_render_time = oc->max_render_time;
|
output->max_render_time = oc->max_render_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Reconfigure all devices, since input config may have been applied before
|
||||||
|
// this output came online, and some config items (like map_to_output) are
|
||||||
|
// dependent on an output being present.
|
||||||
|
struct sway_input_device *input_device = NULL;
|
||||||
|
wl_list_for_each(input_device, &server.input->devices, link) {
|
||||||
|
struct sway_seat *seat = NULL;
|
||||||
|
wl_list_for_each(seat, &server.input->seats, link) {
|
||||||
|
seat_configure_device(seat, input_device);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue