diff options
author | emersion <contact@emersion.fr> | 2018-04-30 10:55:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-30 10:55:25 +0100 |
commit | 509d38425c33524c77bfb4aa89676d57c21fcd11 (patch) | |
tree | 7ee2138da910973fa5a7d8722ec400679d5d5bb2 /rootston | |
parent | a0f490306395ac3705c00ecc85b4a0bba721886e (diff) | |
parent | 178ac8bffee3c76de39e6c0bf37838b58cb7280f (diff) |
Merge pull request #930 from emersion/input-device-output-name
Add wlr_input_device.output_name
Diffstat (limited to 'rootston')
-rw-r--r-- | rootston/seat.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/rootston/seat.c b/rootston/seat.c index 44673c75..cbc7c961 100644 --- a/rootston/seat.c +++ b/rootston/seat.c @@ -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_cursor *cursor = seat->cursor->cursor; struct roots_config *config = seat->input->config; - struct roots_device_config *dconfig; - dconfig = roots_config_get_device(config, device); - if (dconfig && dconfig->mapped_output && - strcmp(dconfig->mapped_output, output->name) == 0) { + struct roots_device_config *dconfig = + roots_config_get_device(config, device); + + 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); } } |