diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2016-04-12 11:07:02 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2016-04-15 10:46:54 +1000 |
commit | afdcaf50157c0a76389740885bed3719b758dc37 (patch) | |
tree | 96c8e9e6861cdfd305183004b967f9439aba7864 | |
parent | f00b5d609c783a1ac90a46e026838f37a15d5e3e (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.c | 3 | ||||
-rw-r--r-- | src/evdev.c | 1 | ||||
-rw-r--r-- | src/evdev.h | 1 | ||||
-rw-r--r-- | udev/90-libinput-model-quirks.hwdb | 8 |
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 ########################################## |