Date: Thursday, August 13, 2015 @ 09:15:37 Author: heftig Revision: 243390
Drop patch needed for kernel <4.1.5 Modified: libinput/trunk/PKGBUILD Deleted: libinput/trunk/synaptics.patch -----------------+ PKGBUILD | 12 ++------ synaptics.patch | 76 ------------------------------------------------------ 2 files changed, 3 insertions(+), 85 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-08-13 07:15:31 UTC (rev 243389) +++ PKGBUILD 2015-08-13 07:15:37 UTC (rev 243390) @@ -4,7 +4,7 @@ pkgname=libinput pkgver=0.21.0 -pkgrel=1 +pkgrel=2 pkgdesc="library that handles input devices for display servers and other applications that need to directly deal with input devices." arch=(i686 x86_64) url="http://www.freedesktop.org/wiki/Software/libinput/" @@ -12,19 +12,13 @@ depends=('mtdev' 'systemd' 'libevdev') install=libinput.install options=('!libtool') -source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} - synaptics.patch) +source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) sha256sums=('7cce7a9e510dfe5c4a19ad00e9350808d4f59f8611fd2b5e87213c507283f550' - 'SKIP' - '9e49f17ff34f48c1119fb75f1adf9dae440efe5cb72c0057d201b70a4573842d') + 'SKIP') validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <off...@who-t.net> prepare() { cd $pkgname-$pkgver - - # Work around a synaptics bug that only affects Linux 4.1 - # Patch added as recommended by upstream - patch -Np1 -i ../synaptics.patch } build() { Deleted: synaptics.patch =================================================================== --- synaptics.patch 2015-08-13 07:15:31 UTC (rev 243389) +++ synaptics.patch 2015-08-13 07:15:37 UTC (rev 243390) @@ -1,76 +0,0 @@ -Date: Tue, 4 Aug 2015 11:23:12 +1000 -From: Peter Hutterer <peter.hutte...@who-t.net> -To: wayland-de...@lists.freedesktop.org -Cc: Hans de Goede <hdego...@redhat.com>, - Jan Alexander Steffens <jan.steff...@gmail.com> -Subject: [PATCH v3 libinput] touchpad: serial synaptics need to fake new - touches on TRIPLETAP -Message-ID: <20150804012312.ga20...@jelly.redhat.com> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline -In-Reply-To: <55b5e8ce.7010...@redhat.com> -User-Agent: Mutt/1.5.23 (2014-03-12) -X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (mail.clearchain.com [127.0.0.1]); Tue, 04 Aug 2015 10:54:55 +0930 (CST) - -On the 4.1 kernels synaptics pretends to have 3 slots (the serial fw only does -2). This was added to avoid cursor jumps but has since been reverted for 4.2 -(kernel commit dbf3c37086, 4.1.3 is still buggy). In some cases a TRIPLETAP -may be triggered without slot 2 ever activating. - -While there are still those kernels out there, work around this bug by opening -a new touch point where none exists if the fake finger count exceeds the slot -count. - -Reported-by: Jan Alexander Steffens <jan.steff...@gmail.com> -Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> -Tested-by: Jan Alexander Steffens <jan.steff...@gmail.com> -Reviewed-by: Hans de Goede <hdego...@redhat.com> ---- -Changes to v2: -- split out the handling instead of having a tmp state variable, see Hans' - comments from v2 - -Mainly sending this to the list again so I have a link to point people to. -If you're on 4.1.x add this patch to your distribution package. - - src/evdev-mt-touchpad.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - -diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c -index a683d9a..5ef03d5 100644 ---- a/src/evdev-mt-touchpad.c -+++ b/src/evdev-mt-touchpad.c -@@ -369,13 +369,23 @@ tp_restore_synaptics_touches(struct tp_dispatch *tp, - for (i = 0; i < tp->num_slots; i++) { - struct tp_touch *t = tp_get_touch(tp, i); - -- if (t->state != TOUCH_END) -+ switch(t->state) { -+ case TOUCH_HOVERING: -+ case TOUCH_BEGIN: -+ case TOUCH_UPDATE: - continue; -- -- /* new touch, move it through begin to update immediately */ -- tp_new_touch(tp, t, time); -- tp_begin_touch(tp, t, time); -- t->state = TOUCH_UPDATE; -+ case TOUCH_NONE: -+ /* new touch, move it through to begin immediately */ -+ tp_new_touch(tp, t, time); -+ tp_begin_touch(tp, t, time); -+ break; -+ case TOUCH_END: -+ /* touch just ended ,we need need to restore it to update */ -+ tp_new_touch(tp, t, time); -+ tp_begin_touch(tp, t, time); -+ t->state = TOUCH_UPDATE; -+ break; -+ } - } - } - --- -2.4.3 -