summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO27
-rw-r--r--PKGBUILD53
-rw-r--r--libinput.install11
-rw-r--r--touchpad_only_use_negative_pressure_change_check.diff42
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