Fix pointer jitter on the Dell E5420 (#1336084)

This commit is contained in:
Peter Hutterer 2016-05-19 14:44:10 +10:00
commit c4869e79dd
3 changed files with 120 additions and 1 deletions

View file

@ -0,0 +1,81 @@
From 71841c822cb3cc7069f6a1a834b005fdf0403c69 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue, 12 Apr 2016 11:07:02 +1000
Subject: [PATCH libinput] 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>
(cherry picked from commit afdcaf50157c0a76389740885bed3719b758dc37)
---
src/evdev-mt-touchpad.c | 3 +++
src/evdev.c | 1 +
src/evdev.h | 1 +
udev/90-libinput-model-quirks.hwdb | 8 ++++++++
4 files changed, 13 insertions(+)
diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
index c50f52d..a92e60b 100644
--- a/src/evdev-mt-touchpad.c
+++ b/src/evdev-mt-touchpad.c
@@ -2046,6 +2046,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 6bb8986..f0311c6 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1681,6 +1681,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 4a5d807..3a7693e 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 242c444..91ac243 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
##########################################
--
2.7.4

View file

@ -0,0 +1,31 @@
From 133b96101acebf2a86c4aad59ed9f3f926936091 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu, 19 May 2016 14:40:33 +1000
Subject: [PATCH libinput] udev: add the Dell Lattitude E5420 to the wobbly
touchpads
https://bugzilla.redhat.com/show_bug.cgi?id=1336084
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit bd988633c788c9cce7bf537585ef221d31d7bcfb)
---
udev/90-libinput-model-quirks.hwdb | 3 +++
1 file changed, 3 insertions(+)
diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
index 91ac243..7dc4084 100644
--- a/udev/90-libinput-model-quirks.hwdb
+++ b/udev/90-libinput-model-quirks.hwdb
@@ -30,6 +30,9 @@ libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:fwversion:310
libinput:name:*AlpsPS/2 ALPS GlidePoint:fwversion:310
LIBINPUT_MODEL_ALPS_RUSHMORE=1
+libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnDellInc.:pnLatitudeE5420*
+ LIBINPUT_MODEL_WOBBLY_TOUCHPAD=1
+
##########################################
# Apple
##########################################
--
2.7.4

View file

@ -5,7 +5,7 @@
Name: libinput
Version: 1.2.4
Release: 2%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
Release: 3%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
Summary: Input device library
License: MIT
@ -23,6 +23,10 @@ Patch01: 0001-touchpad-serial-synaptics-need-to-fake-new-touches-o.patch
Patch02: 0001-Make-a-link-to-the-html-docs-available-as-a-define.patch
Patch03: 0001-touchpad-detect-and-warn-about-kernel-tracking-point.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1336084
Patch04: 0001-touchpad-add-LIBINPUT_MODEL_WOBBLY_TOUCHPAD-for-the-.patch
Patch05: 0001-udev-add-the-Dell-Lattitude-E5420-to-the-wobbly-touc.patch
BuildRequires: git
BuildRequires: autoconf automake libtool pkgconfig
BuildRequires: libevdev-devel
@ -99,6 +103,9 @@ find $RPM_BUILD_ROOT -name '*.la' -delete
%changelog
* Fri May 20 2016 Peter Hutterer <peter.hutterer@redhat.com> 1.2.4-3
- Fix pointer jitter on the Dell E5420 (#1336084)
* Thu May 12 2016 Peter Hutterer <peter.hutterer@redhat.com> 1.2.4-2
- discard large cursor jumps (#1335307)