From 07420eec05408e164de2db623bbbf778daad5616 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 9 Feb 2016 10:43:45 +1000 Subject: [PATCH] touchpad: init a default hysteresis for ALPS rushmore touchpads https://bugs.freedesktop.org/show_bug.cgi?id=90590 Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede --- src/evdev-mt-touchpad.c | 3 ++- src/evdev.c | 1 + src/evdev.h | 1 + udev/90-libinput-model-quirks.hwdb | 4 ++++ udev/libinput-model-quirks.c | 2 +- 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 1f654e4..d8b2334 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -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 { diff --git a/src/evdev.c b/src/evdev.c index 473ff63..51768fe 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -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; diff --git a/src/evdev.h b/src/evdev.h index b164af8..482712b 100644 --- a/src/evdev.h +++ b/src/evdev.h @@ -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 { diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb index 6225da1..eb2859e 100644 --- a/udev/90-libinput-model-quirks.hwdb +++ b/udev/90-libinput-model-quirks.hwdb @@ -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 ########################################## diff --git a/udev/libinput-model-quirks.c b/udev/libinput-model-quirks.c index c8baae7..2dc917d 100644 --- a/udev/libinput-model-quirks.c +++ b/udev/libinput-model-quirks.c @@ -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); } -- 2.7.4