|
|
@ -141,10 +141,18 @@ static void seat_set_device_output_mappings(struct roots_seat *seat,
|
|
|
|
struct wlr_input_device *device, struct wlr_output *output) {
|
|
|
|
struct wlr_input_device *device, struct wlr_output *output) {
|
|
|
|
struct wlr_cursor *cursor = seat->cursor->cursor;
|
|
|
|
struct wlr_cursor *cursor = seat->cursor->cursor;
|
|
|
|
struct roots_config *config = seat->input->config;
|
|
|
|
struct roots_config *config = seat->input->config;
|
|
|
|
struct roots_device_config *dconfig;
|
|
|
|
struct roots_device_config *dconfig =
|
|
|
|
dconfig = roots_config_get_device(config, device);
|
|
|
|
roots_config_get_device(config, device);
|
|
|
|
if (dconfig && dconfig->mapped_output &&
|
|
|
|
|
|
|
|
strcmp(dconfig->mapped_output, output->name) == 0) {
|
|
|
|
const char *mapped_output = NULL;
|
|
|
|
|
|
|
|
if (dconfig != NULL) {
|
|
|
|
|
|
|
|
mapped_output = dconfig->mapped_output;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (mapped_output == NULL) {
|
|
|
|
|
|
|
|
mapped_output = device->output_name;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (mapped_output && strcmp(mapped_output, output->name) == 0) {
|
|
|
|
wlr_cursor_map_input_to_output(cursor, device, output);
|
|
|
|
wlr_cursor_map_input_to_output(cursor, device, output);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|