diff options
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | PKGBUILD | 53 | ||||
-rw-r--r-- | libinput.install | 11 | ||||
-rw-r--r-- | touchpad_only_use_negative_pressure_change_check.diff | 42 |
4 files changed, 133 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..cb2d9f1e7f20 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,27 @@ +# Generated by mksrcinfo v8 +# Sat Jun 11 17:29:11 UTC 2016 +pkgbase = lib32-libinput + pkgdesc = library that handles input devices for display servers and other applications that need to directly deal with input devices. (32-bit) + pkgver = 1.3.0 + pkgrel = 2 + url = http://www.freedesktop.org/wiki/Software/libinput/ + install = libinput.install + arch = x86_64 + license = custom:X11 + checkdepends = lib32-check + depends = lib32-mtdev + depends = lib32-systemd + depends = lib32-libevdev + depends = lib32-libwacom + depends = lib32-libunwind + depends = libinput + options = !libtool + source = http://freedesktop.org/software/libinput/libinput-1.3.0.tar.xz + source = http://freedesktop.org/software/libinput/libinput-1.3.0.tar.xz.sig + source = touchpad_only_use_negative_pressure_change_check.diff + sha256sums = 998a75fb261d161efaa7da44411cdc9a32a953280e4ffc6322ca19f057d0c1ea + sha256sums = SKIP + sha256sums = bfc71b3c3c18ab6dc6cb076e7b0410b5f3a51aa7b7db34f7fd35dd79c9615806 + +pkgname = lib32-libinput + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..16dbf3aca4c4 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer: orumin <dev@orum.in> + +_basename=libinput +pkgname="lib32-$_basename" +pkgver=1.3.0 +pkgrel=2 +pkgdesc="library that handles input devices for display servers and other applications that need to directly deal with input devices. (32-bit)" +arch=('x86_64') +url="http://www.freedesktop.org/wiki/Software/libinput/" +license=(custom:X11) +depends=('lib32-mtdev' 'lib32-systemd' 'lib32-libevdev' 'lib32-libwacom' 'lib32-libunwind' "$_basename") +checkdepends=('lib32-check') +install=libinput.install +options=('!libtool') +source=(http://freedesktop.org/software/$_basename/$_basename-$pkgver.tar.xz{,.sig} + touchpad_only_use_negative_pressure_change_check.diff) +sha256sums=('998a75fb261d161efaa7da44411cdc9a32a953280e4ffc6322ca19f057d0c1ea' + 'SKIP' + 'bfc71b3c3c18ab6dc6cb076e7b0410b5f3a51aa7b7db34f7fd35dd79c9615806') +validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <office@who-t.net> + +prepare() { + cd $_basename-$pkgver + # fix slow touchpad input, FS#49397 + patch -Np1 -i ${srcdir}/touchpad_only_use_negative_pressure_change_check.diff +} + +build() { + cd $_basename-$pkgver + + export CC='gcc -m32' + export CXX='g++ -m32' + export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' + + ./configure --prefix=/usr --disable-static \ + --build=i686-pc-linux-gnu --libdir=/usr/lib32 + make +} + +check() { + cd $_basename-$pkgver +# disabled for now: +# https://github.com/libcheck/check/issues/18 +# make check +} + +package() { + cd $_basename-$pkgver + make DESTDIR="$pkgdir" install + + cd "$pkgdir"/usr + rm -r bin include share +} diff --git a/libinput.install b/libinput.install new file mode 100644 index 000000000000..b9d5d0e9ba5b --- /dev/null +++ b/libinput.install @@ -0,0 +1,11 @@ +post_install() { + udevadm hwdb --update >/dev/null 2>&1 +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/touchpad_only_use_negative_pressure_change_check.diff b/touchpad_only_use_negative_pressure_change_check.diff new file mode 100644 index 000000000000..5880b9054385 --- /dev/null +++ b/touchpad_only_use_negative_pressure_change_check.diff @@ -0,0 +1,42 @@ +From 2f5231cc88fccf389a78270d827f6c9201b86794 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutterer@who-t.net> +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 <peter.hutterer@who-t.net> +Reviewed-by: Hans de Goede <hdegoede@redhat.com> + +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 |