Signed-off-by: Peter Hutterer <[email protected]>
---
 udev/90-libinput-model-quirks.hwdb |  4 ++++
 udev/libinput-model-quirks.c       | 20 ++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/udev/90-libinput-model-quirks.hwdb 
b/udev/90-libinput-model-quirks.hwdb
index 3bfffbb..69e28ae 100644
--- a/udev/90-libinput-model-quirks.hwdb
+++ b/udev/90-libinput-model-quirks.hwdb
@@ -22,6 +22,10 @@ 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_ATTR_SIZE_HINT=100x55
+
 ##########################################
 # Apple
 ##########################################
diff --git a/udev/libinput-model-quirks.c b/udev/libinput-model-quirks.c
index 87c19d4..6140371 100644
--- a/udev/libinput-model-quirks.c
+++ b/udev/libinput-model-quirks.c
@@ -99,6 +99,24 @@ out:
 }
 
 static void
+handle_touchpad_alps(struct udev_device *device)
+{
+       const char *product;
+       int bus, vid, pid, version;
+
+       product = prop_value(device, "PRODUCT");
+       if (!product)
+               return;
+
+       if (sscanf(product, "%x/%x/%x/%x", &bus, &vid, &pid, &version) != 4)
+               return;
+
+       /* ALPS' firmware version is the PID */
+       if (pid)
+               printf("LIBINPUT_MODEL_FIRMWARE_VERSION=%d\n", pid);
+}
+
+static void
 handle_touchpad(struct udev_device *device)
 {
        const char *name = NULL;
@@ -109,6 +127,8 @@ handle_touchpad(struct udev_device *device)
 
        if (strstr(name, "ETPS/2 Elantech Touchpad") != NULL)
                handle_touchpad_elantech(device);
+       else if (strstr(name, "AlpsPS/2 ALPS") != NULL)
+               handle_touchpad_alps(device);
 }
 
 int main(int argc, char **argv)
-- 
2.4.3

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to