Replace ABS_MT_SLOT - 1 with the v4.20 ABS_RESERVED define
authorPeter Hutterer <peter.hutterer@who-t.net>
Wed, 16 Jan 2019 03:17:33 +0000 (13:17 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 16 Jan 2019 03:17:33 +0000 (13:17 +1000)
ABS_RESERVED was added to 4.20 for that reason, to keep that event code
reserved so we can't use it for anything else (and thus mess up the fake MT
detection).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
libevdev/libevdev.c
libevdev/libevdev.h

index fab87cf4cbf4bc83b299d101dd5c1b48cbd8b8b4..761ba5ad89dd72439b26425349cf7206c3727c27 100644 (file)
@@ -461,10 +461,10 @@ libevdev_set_fd(struct libevdev* dev, int fd)
 
        dev->fd = fd;
 
-       /* devices with ABS_MT_SLOT - 1 aren't MT devices,
+       /* devices with ABS_RESERVED aren't MT devices,
           see the documentation for multitouch-related
           functions for more details */
-       if (!libevdev_has_event_code(dev, EV_ABS, ABS_MT_SLOT - 1) &&
+       if (!libevdev_has_event_code(dev, EV_ABS, ABS_RESERVED) &&
            libevdev_has_event_code(dev, EV_ABS, ABS_MT_SLOT)) {
                const struct input_absinfo *abs_info;
 
index f0f34bbc3de6ccda5036beb91aa8cb73e66e4844..198b684789b3a045d317f062717bea506791ff13 100644 (file)
@@ -688,7 +688,7 @@ extern "C" {
  * meaning, matching the axis names in linux/input.h. Some devices merely
  * export a number of axes beyond the available axis list. For those
  * devices, the multitouch information is invalid. Specifically, if a device
- * provides the ABS_MT_SLOT axis AND also the (ABS_MT_SLOT - 1) axis, the
+ * provides the ABS_MT_SLOT axis AND also the ABS_RESERVED axis, the
  * device is not treated as multitouch device. No slot information is
  * available and the ABS_MT axis range for these devices is treated as all
  * other EV_ABS axes.