touchpad: init a default hysteresis for ALPS rushmore touchpads
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 9 Feb 2016 00:43:45 +0000 (10:43 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 9 Feb 2016 22:08:31 +0000 (08:08 +1000)
https://bugs.freedesktop.org/show_bug.cgi?id=90590

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
src/evdev-mt-touchpad.c
src/evdev.c
src/evdev.h
udev/90-libinput-model-quirks.hwdb
udev/libinput-model-quirks.c

index 1f654e4..d8b2334 100644 (file)
@@ -1994,7 +1994,8 @@ tp_init_hysteresis(struct tp_dispatch *tp)
        res_x = tp->device->abs.absinfo_x->resolution;
        res_y = tp->device->abs.absinfo_y->resolution;
 
-       if (tp->device->model_flags & EVDEV_MODEL_CYAPA) {
+       if (tp->device->model_flags &
+           (EVDEV_MODEL_CYAPA|EVDEV_MODEL_ALPS_RUSHMORE)) {
                tp->hysteresis_margin.x = res_x/2;
                tp->hysteresis_margin.y = res_y/2;
        } else {
index 473ff63..51768fe 100644 (file)
@@ -1679,6 +1679,7 @@ evdev_read_model_flags(struct evdev_device *device)
                { "LIBINPUT_MODEL_APPLE_INTERNAL_KEYBOARD", EVDEV_MODEL_APPLE_INTERNAL_KEYBOARD },
                { "LIBINPUT_MODEL_CYBORG_RAT", EVDEV_MODEL_CYBORG_RAT },
                { "LIBINPUT_MODEL_CYAPA", EVDEV_MODEL_CYAPA },
+               { "LIBINPUT_MODEL_ALPS_RUSHMORE", EVDEV_MODEL_ALPS_RUSHMORE },
                { NULL, EVDEV_MODEL_DEFAULT },
        };
        const struct model_map *m = model_map;
index b164af8..482712b 100644 (file)
@@ -112,6 +112,7 @@ enum evdev_device_model {
        EVDEV_MODEL_APPLE_INTERNAL_KEYBOARD = (1 << 13),
        EVDEV_MODEL_CYBORG_RAT = (1 << 14),
        EVDEV_MODEL_CYAPA = (1 << 15),
+       EVDEV_MODEL_ALPS_RUSHMORE = (1 << 16),
 };
 
 struct mt_slot {
index 6225da1..eb2859e 100644 (file)
@@ -26,6 +26,10 @@ libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:fwversion:800
 libinput:name:*AlpsPS/2 ALPS GlidePoint:fwversion:800
  LIBINPUT_ATTR_SIZE_HINT=100x55
 
+libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:fwversion:310
+libinput:name:*AlpsPS/2 ALPS GlidePoint:fwversion:310
+ LIBINPUT_MODEL_ALPS_RUSHMORE=1
+
 ##########################################
 # Apple
 ##########################################
index c8baae7..2dc917d 100644 (file)
@@ -64,7 +64,7 @@ handle_touchpad_alps(struct udev_device *device)
                return;
 
        /* ALPS' firmware version is the version */
-       if (pid)
+       if (version)
                printf("LIBINPUT_MODEL_FIRMWARE_VERSION=%x\n", version);
 }