input_id: fix detection of devices with mouse buttons
authorMichal Suchanek <msuchanek@suse.de>
Mon, 12 Jun 2017 12:09:55 +0000 (14:09 +0200)
committerMichal Suchanek <msuchanek@suse.de>
Tue, 27 Jun 2017 11:28:11 +0000 (13:28 +0200)
Assign ID_INPUT_MOUSE property to devices with mouse buttons and no axis.

Libinput tries to use libwacom on devices with tablet-pad capability
which are detected by ID_INPUT_TABLET_PAD=1 property so assign pointer
class by setting ID_INPUT_MOUSE=1 to devices with mouse buttons and let
libwacom override the class for Wacom pads.

src/udev/udev-builtin-input_id.c

index 47f41a6..80c8ba5 100644 (file)
@@ -244,7 +244,9 @@ static bool test_pointers(struct udev_device *dev,
                         is_touchscreen = true;
         }
 
-        if (has_rel_coordinates && has_mouse_button)
+        if (has_mouse_button &&
+            (has_rel_coordinates ||
+            !has_abs_coordinates)) /* mouse buttons and no axis */
                 is_mouse = true;
 
         if (is_pointing_stick)