From: Rob Bradford <r...@linux.intel.com> Rather than failing seat setup if we fail to open the input device instead fail the seat setup if we don't have "complete seat" with both keyboard and pointer or a touchscreen.
https://bugs.freedesktop.org/show_bug.cgi?id=64506 --- src/udev-seat.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/udev-seat.c b/src/udev-seat.c index 7e62429..3dd3438 100644 --- a/src/udev-seat.c +++ b/src/udev-seat.c @@ -58,7 +58,7 @@ device_added(struct udev_device *udev_device, struct udev_seat *master) fd = weston_launcher_open(c, devnode, O_RDWR | O_NONBLOCK); if (fd < 0) { weston_log("opening input device '%s' failed.\n", devnode); - return -1; + return 0; } device = evdev_device_create(&master->base, devnode, fd); @@ -69,7 +69,7 @@ device_added(struct udev_device *udev_device, struct udev_seat *master) } else if (device == NULL) { close(fd); weston_log("failed to create input device '%s'.\n", devnode); - return -1; + return 0; } calibration_values = @@ -142,6 +142,12 @@ udev_seat_add_devices(struct udev_seat *seat, struct udev *udev) "udev device property ID_SEAT)\n"); } + if (!(seat->base.touch || (seat->base.keyboard && seat->base.pointer))) { + weston_log ("seat not complete: no touchscreen or " + "no keyboard and pointer found.\n"); + return -1; + } + return 0; } -- 1.8.1.4 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel