summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2015-08-19 17:06:48 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-08-24 23:46:56 +0100
commita6a0251f07262a732c790ec2857a1bad40f8617f (patch)
treed4e3912c3ecabd94d96fa9118da2d3af866c895c
parente4cb847b3263a82efdee47ae474172f0844c7152 (diff)
downloadpoky-a6a0251f07262a732c790ec2857a1bad40f8617f.tar.gz
libinput: Upgrade 0.18.0 -> 0.21.0
Include a workaround patch suggested by upstream when using kernel 4.1.x. (From OE-Core rev: 28f261cd7da53124a5aeb71e1f473cd473a33489) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch72
-rw-r--r--meta/recipes-graphics/wayland/libinput_0.21.0.bb (renamed from meta/recipes-graphics/wayland/libinput_0.18.0.bb)5
2 files changed, 75 insertions, 2 deletions
diff --git a/meta/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch b/meta/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch
new file mode 100644
index 0000000000..97c63bd377
--- /dev/null
+++ b/meta/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch
@@ -0,0 +1,72 @@
1This is a workaround upstream suggests for use with kernel 4.1.
2
3Upstream-Status: Inappropriate [temporary work-around]
4Signed-Off-By: Jussi Kukkonen <jussi.kukkonen@intel.com>
5
6
7
8From: Peter Hutterer <peter.hutterer@who-t.net>
9Date: Mon Aug 3 18:23:12 PDT 2015
10Subject: [PATCH v3 libinput] touchpad: serial synaptics need to fake new touches on TRIPLETAP
11
12On the 4.1 kernels synaptics pretends to have 3 slots (the serial fw only does
132). This was added to avoid cursor jumps but has since been reverted for 4.2
14(kernel commit dbf3c37086, 4.1.3 is still buggy). In some cases a TRIPLETAP
15may be triggered without slot 2 ever activating.
16
17While there are still those kernels out there, work around this bug by opening
18a new touch point where none exists if the fake finger count exceeds the slot
19count.
20
21Reported-by: Jan Alexander Steffens <jan.steffens at gmail.com>
22Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
23Tested-by: Jan Alexander Steffens <jan.steffens at gmail.com>
24Reviewed-by: Hans de Goede <hdegoede at redhat.com>
25---
26Changes to v2:
27- split out the handling instead of having a tmp state variable, see Hans'
28 comments from v2
29
30Mainly sending this to the list again so I have a link to point people to.
31If you're on 4.1.x add this patch to your distribution package.
32
33 src/evdev-mt-touchpad.c | 22 ++++++++++++++++------
34 1 file changed, 16 insertions(+), 6 deletions(-)
35
36diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
37index a683d9a..5ef03d5 100644
38--- a/src/evdev-mt-touchpad.c
39+++ b/src/evdev-mt-touchpad.c
40@@ -369,13 +369,23 @@ tp_restore_synaptics_touches(struct tp_dispatch *tp,
41 for (i = 0; i < tp->num_slots; i++) {
42 struct tp_touch *t = tp_get_touch(tp, i);
43
44- if (t->state != TOUCH_END)
45+ switch(t->state) {
46+ case TOUCH_HOVERING:
47+ case TOUCH_BEGIN:
48+ case TOUCH_UPDATE:
49 continue;
50-
51- /* new touch, move it through begin to update immediately */
52- tp_new_touch(tp, t, time);
53- tp_begin_touch(tp, t, time);
54- t->state = TOUCH_UPDATE;
55+ case TOUCH_NONE:
56+ /* new touch, move it through to begin immediately */
57+ tp_new_touch(tp, t, time);
58+ tp_begin_touch(tp, t, time);
59+ break;
60+ case TOUCH_END:
61+ /* touch just ended ,we need need to restore it to update */
62+ tp_new_touch(tp, t, time);
63+ tp_begin_touch(tp, t, time);
64+ t->state = TOUCH_UPDATE;
65+ break;
66+ }
67 }
68 }
69
70--
712.4.3
72
diff --git a/meta/recipes-graphics/wayland/libinput_0.18.0.bb b/meta/recipes-graphics/wayland/libinput_0.21.0.bb
index 8e8e6a7c41..d51fb372d7 100644
--- a/meta/recipes-graphics/wayland/libinput_0.18.0.bb
+++ b/meta/recipes-graphics/wayland/libinput_0.21.0.bb
@@ -9,9 +9,10 @@ DEPENDS = "libevdev udev mtdev"
9 9
10SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ 10SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
11 file://libinput-configure.ac-add-arg-with-libunwind.patch \ 11 file://libinput-configure.ac-add-arg-with-libunwind.patch \
12 file://touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch \
12" 13"
13SRC_URI[md5sum] = "0ddbb0d53d58dec0a86de6791560011a" 14SRC_URI[md5sum] = "f91d8f4ced986f1ae16d52ea02bc7837"
14SRC_URI[sha256sum] = "64a70f96bab17a22eaf2fd7af17cf83def3388374096c7623be9448f62808cda" 15SRC_URI[sha256sum] = "7cce7a9e510dfe5c4a19ad00e9350808d4f59f8611fd2b5e87213c507283f550"
15 16
16inherit autotools pkgconfig 17inherit autotools pkgconfig
17 18