On Thu, Aug 08, 2013 at 12:03:08PM +1000, Peter Hutterer wrote: > mtdev as currently used in weston is a noop. mtdev's purpose is to convert > Protocol A devices (without ABS_MT_SLOT) to Protocol B devices (slots). > For Protocol B devices mtdev merely routes the events, so checking for > slots and then using mtdev based on that adds no functionality. > > Check for ABS_MT_POSITION_X/Y instead and use that to categorise a device > as MT device. mtdev will provide us with a slotted protocol for all devices.
Ah, ok, makes sense. This should also fix https://bugs.freedesktop.org/show_bug.cgi?id=54428 Committed, thanks. Kristian > --- > Changes to v1: > - comment added > > src/evdev.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/evdev.c b/src/evdev.c > index b1a4b8c..c05bb78 100644 > --- a/src/evdev.c > +++ b/src/evdev.c > @@ -455,7 +455,11 @@ evdev_handle_device(struct evdev_device *device) > device->abs.max_y = absinfo.maximum; > device->caps |= EVDEV_MOTION_ABS; > } > - if (TEST_BIT(abs_bits, ABS_MT_SLOT)) { > + /* We only handle the slotted Protocol B in weston. > + Devices with ABS_MT_POSITION_* but not ABS_MT_SLOT > + require mtdev for conversion. */ > + if (TEST_BIT(abs_bits, ABS_MT_POSITION_X) && > + TEST_BIT(abs_bits, ABS_MT_POSITION_Y)) { > ioctl(device->fd, EVIOCGABS(ABS_MT_POSITION_X), > &absinfo); > device->abs.min_x = absinfo.minimum; > -- > 1.8.2.1 > > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel