[PATCH libinput 1/2] udev: fix ALPS firmware detection

Peter Hutterer peter.hutterer at who-t.net
Tue Feb 9 02:12:21 UTC 2016


The firmware version is in id.version, not id.model which is always
PSMOUSE_ALPS for ALPS devices.

The various fw versions are listed in <kernel>/drivers/input/mouse/alps.h and
are all hex numbers. Version 8 is actually 0x800, change the match
accordingly.

Expected side-effect: earlier versions of ALPS touchpads now lose their
(erroneous) size assignment.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 udev/90-libinput-model-quirks.hwdb | 4 ++--
 udev/libinput-model-quirks.c       | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
index f23a7f9..6225da1 100644
--- a/udev/90-libinput-model-quirks.hwdb
+++ b/udev/90-libinput-model-quirks.hwdb
@@ -22,8 +22,8 @@ libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:dmi:*
 libinput:name:*AlpsPS/2 ALPS GlidePoint:dmi:*
  LIBINPUT_MODEL_ALPS_TOUCHPAD=1
 
-libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:fwversion:8
-libinput:name:*AlpsPS/2 ALPS GlidePoint:fwversion:8
+libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:fwversion:800
+libinput:name:*AlpsPS/2 ALPS GlidePoint:fwversion:800
  LIBINPUT_ATTR_SIZE_HINT=100x55
 
 ##########################################
diff --git a/udev/libinput-model-quirks.c b/udev/libinput-model-quirks.c
index 67115fa..c8baae7 100644
--- a/udev/libinput-model-quirks.c
+++ b/udev/libinput-model-quirks.c
@@ -63,9 +63,9 @@ handle_touchpad_alps(struct udev_device *device)
 	if (sscanf(product, "%x/%x/%x/%x", &bus, &vid, &pid, &version) != 4)
 		return;
 
-	/* ALPS' firmware version is the PID */
+	/* ALPS' firmware version is the version */
 	if (pid)
-		printf("LIBINPUT_MODEL_FIRMWARE_VERSION=%d\n", pid);
+		printf("LIBINPUT_MODEL_FIRMWARE_VERSION=%x\n", version);
 }
 
 static void
-- 
2.5.0



More information about the wayland-devel mailing list