summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD37
-rw-r--r--multiplier.patch41
3 files changed, 69 insertions, 35 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e53612f3d7a4..fa298db7b7ea 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,25 +1,31 @@
pkgbase = libinput-multiplier
- pkgdesc = scroll patch, discrete deltay multiplier
- pkgver = 1.13.1
+ pkgdesc = libinput with scroll multiplier patch
+ pkgver = 1.25.0
pkgrel = 1
url = http://freedesktop.org/wiki/Software/libinput
arch = x86_64
license = custom
- makedepends = gtk3
+ checkdepends = python-pytest
+ makedepends = gtk4
makedepends = meson
+ makedepends = wayland-protocols
+ makedepends = check
depends = mtdev
depends = systemd
depends = libevdev
depends = libwacom
- optdepends = gtk3: libinput debug-gui
+ depends = systemd-libs
+ depends = glibc
+ optdepends = gtk4: libinput debug-gui
optdepends = python-pyudev: libinput measure
- optdepends = python-evdev: libinput measure
- provides = libinput=1.13.1
+ optdepends = python-libevdev: libinput measure
+ optdepends = python-libevdev: libinput measure
+ optdepends = python-yaml: used by various tools
+ provides = libinput=1.25.0
conflicts = libinput
- source = https://freedesktop.org/software/libinput/libinput-1.13.1.tar.xz
+ source = https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.25.0/libinput-1.25.0.tar.bz2
source = multiplier.patch
- sha512sums = a19deec802e704038df0901c103a82a3370f56e0299f4cc1b6aa84c1832a66fb638e6f9d0fa708b51df6c3b939cdc1271e4ff547c645c566be03dce0bc9ff7e0
- sha512sums = c47b99a7d415f0560854d86aa445473bc6485a41a7062e9c12996d0b7bad146ea674e3488da620eefc9f3cc705be07c213b1b37a6df2ad0b215b3a3d617daa0d
+ sha512sums = b9dc3f3b5f34c82399dfb7ccb5f65d19a596c415f0198b39e3f360f5b87c42124a5355c8d9f6f42cc9ae2d4f9a90fe5da6260136fa83d278048392f93381a84b
+ sha512sums = c6a2793e592c69829e542c91aafc2de42c0eddec1f2570a465590584164a64d3828507f2f1194ec48f0f5d85aa624054c101287e981b2a82a3a43d85b426aa94
pkgname = libinput-multiplier
-
diff --git a/PKGBUILD b/PKGBUILD
index 82dfbb0e7331..9426bb026c3e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,35 +2,44 @@
_pkgname=libinput
_patch=multiplier.patch
pkgname=$_pkgname-multiplier
-pkgver=1.13.1
+pkgver=1.25.0
pkgrel=1
-pkgdesc='scroll patch, discrete deltay multiplier'
+pkgdesc='libinput with scroll multiplier patch'
arch=(x86_64)
url=http://freedesktop.org/wiki/Software/libinput
provides=($_pkgname=$pkgver)
conflicts=($_pkgname)
license=(custom)
-depends=(mtdev systemd libevdev libwacom)
-makedepends=(gtk3 meson)
-optdepends=('gtk3: libinput debug-gui'
+depends=(mtdev systemd libevdev libwacom systemd-libs glibc)
+makedepends=(gtk4 meson wayland-protocols check)
+checkdepends=('python-pytest')
+optdepends=('gtk4: libinput debug-gui'
'python-pyudev: libinput measure'
- 'python-evdev: libinput measure')
-source=(https://freedesktop.org/software/$_pkgname/$_pkgname-$pkgver.tar.xz
+ 'python-libevdev: libinput measure'
+ 'python-libevdev: libinput measure'
+ 'python-yaml: used by various tools')
+source=(https://gitlab.freedesktop.org/libinput/libinput/-/archive/$pkgver/$_pkgname-$pkgver.tar.bz2
$_patch)
-sha512sums=(a19deec802e704038df0901c103a82a3370f56e0299f4cc1b6aa84c1832a66fb638e6f9d0fa708b51df6c3b939cdc1271e4ff547c645c566be03dce0bc9ff7e0
- d87fb912203c0c10f55b452b4cbb29abf86dbcb92a394029dc285fa53cba6b72446063cc3b3367b423cc5b5ff57526997272f321ea5b07a93a4532c1a9fea635)
+sha512sums=(b9dc3f3b5f34c82399dfb7ccb5f65d19a596c415f0198b39e3f360f5b87c42124a5355c8d9f6f42cc9ae2d4f9a90fe5da6260136fa83d278048392f93381a84b
+ c6a2793e592c69829e542c91aafc2de42c0eddec1f2570a465590584164a64d3828507f2f1194ec48f0f5d85aa624054c101287e981b2a82a3a43d85b426aa94)
prepare() {
cd "${srcdir}"/$_pkgname-$pkgver
patch -Np1 -i ../$_patch
}
build() {
arch-meson $_pkgname-$pkgver build \
- -Dudev-dir=/usr/lib/udev \
- -Dtests=false \
- -Ddocumentation=false
- ninja -C build
+ -D udev-dir=/usr/lib/udev \
+ -D documentation=false
+
+ # Print config
+ # meson configure build
+
+ meson compile -C build
+}
+check() {
+ meson test -C build --print-errorlogs
}
package() {
- DESTDIR="$pkgdir" ninja -C build install
+ meson install -C build --destdir "$pkgdir"
install -Dvm644 $_pkgname-$pkgver/COPYING "$pkgdir"/usr/share/licenses/$_pkgname/LICENSE
}
diff --git a/multiplier.patch b/multiplier.patch
index 83fb9dd325c0..86bbfabe42c2 100644
--- a/multiplier.patch
+++ b/multiplier.patch
@@ -1,29 +1,30 @@
diff --git a/src/evdev.c b/src/evdev.c
-index 7c6e921d..446a5cd6 100644
+index f332bc1..0dbb4e0 100644
--- a/src/evdev.c
+++ b/src/evdev.c
-@@ -1160,6 +1161,7 @@ evdev_read_wheel_click_props(struct evdev_device *device)
- &angles.x))
- angles.x = angles.y;
+@@ -1369,6 +1369,7 @@ evdev_read_wheel_click_props(struct evdev_device *device)
+ } else {
+ angles.x = angles.y;
}
-+ angles.y=361;
++ // angles.y = 361; // cause page down in sway
return angles;
}
diff --git a/src/libinput.c b/src/libinput.c
-index 01f53974..2ee9e1dc 100644
+index a0c8504..112f96d 100644
--- a/src/libinput.c
+++ b/src/libinput.c
-@@ -33,6 +33,8 @@
+@@ -33,6 +33,9 @@
#include <sys/epoll.h>
#include <unistd.h>
#include <assert.h>
+#include <fcntl.h>
+#include <sys/mman.h>
++#include <sys/stat.h>
#include "libinput.h"
#include "libinput-private.h"
-@@ -720,6 +722,15 @@ libinput_event_pointer_get_axis_value(struct libinput_event_pointer *event,
+@@ -747,6 +750,16 @@ libinput_event_pointer_get_axis_value(struct libinput_event_pointer *event,
return value;
}
@@ -32,6 +33,7 @@ index 01f53974..2ee9e1dc 100644
+ int fd;
+ char *file = "/tmp/libinput_discrete_deltay_multiplier";
+ if ((fd = open(file, O_RDWR | O_CREAT, 0666)) == -1) return;
++ fchmod(fd,S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
+ if (write(fd, "1", sizeof(char)) == -1) return;
+ multiplier = mmap(NULL, 1024, PROT_READ, MAP_SHARED, fd, 0);
+}
@@ -39,8 +41,12 @@ index 01f53974..2ee9e1dc 100644
LIBINPUT_EXPORT double
libinput_event_pointer_get_axis_value_discrete(struct libinput_event_pointer *event,
enum libinput_pointer_axis axis)
-@@ -740,7 +752,7 @@ libinput_event_pointer_get_axis_value_discrete(struct libinput_event_pointer *ev
- value = event->discrete.x;
+@@ -764,10 +777,10 @@ libinput_event_pointer_get_axis_value_discrete(struct libinput_event_pointer *ev
+ } else {
+ switch (axis) {
+ case LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL:
+- value = event->discrete.x;
++ value = event->discrete.x * atoi(multiplier);
break;
case LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL:
- value = event->discrete.y;
@@ -48,7 +54,20 @@ index 01f53974..2ee9e1dc 100644
break;
}
}
-@@ -1717,6 +1729,7 @@ libinput_init(struct libinput *libinput,
+@@ -820,10 +833,10 @@ libinput_event_pointer_get_scroll_value_v120(struct libinput_event_pointer *even
+ } else {
+ switch (axis) {
+ case LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL:
+- value = event->v120.x;
++ value = event->v120.x * atoi(multiplier);
+ break;
+ case LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL:
+- value = event->v120.y;
++ value = event->v120.y * atoi(multiplier);
+ break;
+ }
+ }
+@@ -1874,6 +1887,7 @@ libinput_init(struct libinput *libinput,
close(libinput->epoll_fd);
return -1;
}