Date: Friday, May 20, 2016 @ 20:56:11 Author: andyrtr Revision: 268371
upgpkg: libinput 1.3.0-2 fix slow touchpad input; FS#49397 Added: libinput/trunk/touchpad_only_use_negative_pressure_change_check.diff Modified: libinput/trunk/PKGBUILD -------------------------------------------------------+ PKGBUILD | 14 ++++- touchpad_only_use_negative_pressure_change_check.diff | 42 ++++++++++++++++ 2 files changed, 53 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-05-20 18:29:06 UTC (rev 268370) +++ PKGBUILD 2016-05-20 18:56:11 UTC (rev 268371) @@ -4,7 +4,7 @@ pkgname=libinput pkgver=1.3.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/" @@ -13,11 +13,19 @@ checkdepends=('check') install=libinput.install options=('!libtool') -source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} + touchpad_only_use_negative_pressure_change_check.diff) sha256sums=('998a75fb261d161efaa7da44411cdc9a32a953280e4ffc6322ca19f057d0c1ea' - 'SKIP') + 'SKIP' + 'bfc71b3c3c18ab6dc6cb076e7b0410b5f3a51aa7b7db34f7fd35dd79c9615806') validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <[email protected]> +prepare() { + cd $pkgname-$pkgver + # fix slow touchpad input, FS#49397 + patch -Np1 -i ${srcdir}/touchpad_only_use_negative_pressure_change_check.diff +} + build() { cd $pkgname-$pkgver ./configure --prefix=/usr --disable-static Added: touchpad_only_use_negative_pressure_change_check.diff =================================================================== --- touchpad_only_use_negative_pressure_change_check.diff (rev 0) +++ touchpad_only_use_negative_pressure_change_check.diff 2016-05-20 18:56:11 UTC (rev 268371) @@ -0,0 +1,42 @@ +From 2f5231cc88fccf389a78270d827f6c9201b86794 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <[email protected]> +Date: Wed, 18 May 2016 07:35:36 +1000 +Subject: touchpad: only use negative pressure change check on Lenovo *50 and + *60 series + +This was introduced for bug 94379 - an X1 Carbon 3rd. Other touchpads have +different pressure change ranges, causing this condition to trigger +randomly and resulting in a jerky pointer motion. + +For now, reduce the check to the *50 and *60 series touchpads until we have +data for more touchpads that we can add one-by-one. + +https://bugs.freedesktop.org/show_bug.cgi?id=95393 + +Signed-off-by: Peter Hutterer <[email protected]> +Reviewed-by: Hans de Goede <[email protected]> + +diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c +index 4c8c3a3..c854043 100644 +--- a/src/evdev-mt-touchpad.c ++++ b/src/evdev-mt-touchpad.c +@@ -928,6 +928,7 @@ tp_detect_jumps(const struct tp_dispatch *tp, struct tp_touch *t) + static void + tp_process_state(struct tp_dispatch *tp, uint64_t time) + { ++ struct evdev_device *device = tp->device; + struct tp_touch *t; + unsigned int i; + bool restart_filter = false; +@@ -953,7 +954,8 @@ tp_process_state(struct tp_dispatch *tp, uint64_t time) + if (!t->dirty) + continue; + +- if (t->pressure_delta < -7) ++ if ((device->model_flags & EVDEV_MODEL_LENOVO_T450_TOUCHPAD) && ++ t->pressure_delta < -7) + tp_motion_history_reset(t); + + if (tp_detect_jumps(tp, t)) { +-- +cgit v0.10.2
