udev now labels touchpads as "internal" or "external" for us, use that value where available and only fall back onto our own labelling if it's missing or unknown.
systemd commit: https://github.com/systemd/systemd/pull/3638 https://bugs.freedesktop.org/show_bug.cgi?id=96735 Signed-off-by: Peter Hutterer <[email protected]> --- I'll hold this commit back until we have a systemd release with the tag in it. src/evdev-mt-touchpad.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 4dd6b64..4ea602b 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -1589,6 +1589,24 @@ evdev_tag_touchpad(struct evdev_device *device, struct udev_device *udev_device) { int bustype, vendor; + const char *prop; + + prop = udev_device_get_property_value(udev_device, + "ID_INPUT_TOUCHPAD_INTEGRATION"); + if (prop) { + if (streq(prop, "internal")) { + evdev_tag_touchpad_internal(device); + return; + } else if (streq(prop, "external")) { + evdev_tag_touchpad_external(device); + return; + } else { + log_info(evdev_libinput_context(device), + "%s: tagged as unknown value %s\n", + device->devname, + prop); + } + } /* simple approach: touchpads on USB or Bluetooth are considered * external, anything else is internal. Exception is Apple - -- 2.7.4 _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
