From 71d66e22e5f77e7bf29e8a925ea480cdf84826e0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 22 Jul 2013 15:11:11 -0700 Subject: [PATCH] udev: Use WL_OUTPUT udev attribute for pairing touchscreens to outputs --- src/udev-seat.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/udev-seat.c b/src/udev-seat.c index ec6dc4b..771d9bc 100644 --- a/src/udev-seat.c +++ b/src/udev-seat.c @@ -45,8 +45,9 @@ device_added(struct udev_device *udev_device, struct udev_input *input) { struct weston_compositor *c; struct evdev_device *device; + struct weston_output *output; const char *devnode; - const char *device_seat, *seat_name; + const char *device_seat, *seat_name, *output_name; const char *calibration_values; int fd; struct udev_seat *seat; @@ -120,6 +121,13 @@ device_added(struct udev_device *udev_device, struct udev_input *input) &seat->base.pointer->x, &seat->base.pointer->y); + output_name = udev_device_get_property_value(udev_device, "WL_OUTPUT"); + if (output_name) { + wl_list_for_each(output, &c->output_list, link) + if (strcmp(output->name, output_name) == 0) + device->output = output; + } + return 0; } -- 2.7.4