diff options
-rw-r--r-- | .SRCINFO | 26 | ||||
-rw-r--r-- | PKGBUILD | 37 | ||||
-rw-r--r-- | multiplier.patch | 41 |
3 files changed, 69 insertions, 35 deletions
@@ -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 - @@ -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; } |