Hi,

On 29-01-15 05:55, Peter Hutterer wrote:

Lenovo is back with a new generation hardware, the trackpoint's physical
buttons are back, and our headache is back too. Lenovo decided to wire the
buttons to the touchpad so they show up as BTN_0, 1, 2. Which means we have
to re-route them through the trackpoint device, much like we already do for
the T440 generation software buttons.

So we have one more special case for this hardware and need to treat it
separately. Turned out to be relatively easy, but we need udev to tag the
device for us - BTN_0 etc. are overloaded on other touchpads for scroll
buttons [1] so we can't just apply this on the general case.

I'm not entirely happy with these bits:


@@ -1107,6 +1107,12 @@ tp_tag_device(struct evdev_device *device,
        if (udev_device_get_property_value(udev_device,
                                           "TOUCHPAD_HAS_TRACKPOINT_BUTTONS"))
                device->tags |= EVDEV_TAG_TOUCHPAD_TRACKPOINT;
+
+       /* Magic version tag: used by the litest device. Should never be set
+        * in real life but allows us to test for these features without
+        * requiring custom udev rules during make check */
+       if (libevdev_get_id_version(device->evdev) == 0xfffa)
+               device->tags |= EVDEV_TAG_TOUCHPAD_TRACKPOINT;
 }

 static struct evdev_dispatch_interface tp_interface = {


@@ -65,6 +65,7 @@ static struct input_id input_id = {
        .bustype = 0x11,
        .vendor = 0x2,
        .product = 0x7,
+       .version = 0xfffa, /* Magic value, used to detect this test device */
 };

 static int events[] = {


But I cannot think of a better solution either... So lets go with this for
now. We may need to rethink this when we get more udev properties which we
also want to use in the test-suite.

The entire series is:

Reviewed-by: Hans de Goede <hdego...@redhat.com>

Regards,

Hans
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to