summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2016-04-12 11:07:02 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2016-04-15 10:46:54 +1000
commitafdcaf50157c0a76389740885bed3719b758dc37 (patch)
tree96c8e9e6861cdfd305183004b967f9439aba7864
parentf00b5d609c783a1ac90a46e026838f37a15d5e3e (diff)
touchpad: add LIBINPUT_MODEL_WOBBLY_TOUCHPAD for the HP 14-ac157tu
If some elantech touchpads require a hysteresis, let's use some more generic tag for those touchpads that require correct handling of pointer wobbles. https://bugs.freedesktop.org/show_bug.cgi?id=94897 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
-rw-r--r--src/evdev-mt-touchpad.c3
-rw-r--r--src/evdev.c1
-rw-r--r--src/evdev.h1
-rw-r--r--udev/90-libinput-model-quirks.hwdb8
4 files changed, 13 insertions, 0 deletions
diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
index 6c8ab370..cf5fffeb 100644
--- a/src/evdev-mt-touchpad.c
+++ b/src/evdev-mt-touchpad.c
@@ -2023,6 +2023,9 @@ tp_init_hysteresis(struct tp_dispatch *tp)
(tp->device->model_flags & EVDEV_MODEL_SYNAPTICS_SERIAL_TOUCHPAD))
goto want_hysteresis;
+ if (tp->device->model_flags & EVDEV_MODEL_WOBBLY_TOUCHPAD)
+ goto want_hysteresis;
+
tp->hysteresis_margin.x = 0;
tp->hysteresis_margin.y = 0;
diff --git a/src/evdev.c b/src/evdev.c
index 861a2987..e44dfd18 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1698,6 +1698,7 @@ evdev_read_model_flags(struct evdev_device *device)
{ "LIBINPUT_MODEL_CYAPA", EVDEV_MODEL_CYAPA },
{ "LIBINPUT_MODEL_ALPS_RUSHMORE", EVDEV_MODEL_ALPS_RUSHMORE },
{ "LIBINPUT_MODEL_LENOVO_T450_TOUCHPAD", EVDEV_MODEL_LENOVO_T450_TOUCHPAD },
+ { "LIBINPUT_MODEL_WOBBLY_TOUCHPAD", EVDEV_MODEL_WOBBLY_TOUCHPAD },
{ NULL, EVDEV_MODEL_DEFAULT },
};
const struct model_map *m = model_map;
diff --git a/src/evdev.h b/src/evdev.h
index 76eeb8c2..0e08f6d1 100644
--- a/src/evdev.h
+++ b/src/evdev.h
@@ -114,6 +114,7 @@ enum evdev_device_model {
EVDEV_MODEL_CYAPA = (1 << 15),
EVDEV_MODEL_ALPS_RUSHMORE = (1 << 16),
EVDEV_MODEL_LENOVO_T450_TOUCHPAD= (1 << 17),
+ EVDEV_MODEL_WOBBLY_TOUCHPAD = (1 << 18),
};
struct mt_slot {
diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
index 242c444a..91ac2431 100644
--- a/udev/90-libinput-model-quirks.hwdb
+++ b/udev/90-libinput-model-quirks.hwdb
@@ -81,6 +81,14 @@ libinput:name:Cypress APA Trackpad ?cyapa?:dmi:*
LIBINPUT_MODEL_CYAPA=1
##########################################
+# HP
+##########################################
+
+# HP 14-ac157tu
+libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*svnHP*pvrCNB1:*
+ LIBINPUT_MODEL_WOBBLY_TOUCHPAD=1
+
+##########################################
# LENOVO
##########################################