summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorRhinoceros2020-03-11 20:39:29 +1100
committerRhinoceros2020-03-11 20:45:41 +1100
commit0d756c0e58f9e56a5056fb1b0270cb0669469879 (patch)
treee6241a42ae0123cd62cee1cc22c185067ca2cfce
parent995779be41a3a6c67bbb7ae9df5392a438f38389 (diff)
downloadaur-0d756c0e58f9e56a5056fb1b0270cb0669469879.tar.gz
Update to 2.10.6-2
* Additional patch: fix AhmTimeout config in new kernels https://bbs.archlinux.org/viewtopic.php?pid=1891346#p1891346 * Previous makedepends was {resource,scrnsaver}proto, which is technically provided by xorgproto-git. Despite the PKGBUILD, it looks like xorgproto also provides this, so hardcode makedepends to xorgproto
-rw-r--r--.SRCINFO7
-rw-r--r--PKGBUILD12
-rw-r--r--new_kernel.patch21
3 files changed, 33 insertions, 7 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 38db7bddfec3..c9bc3952591d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,15 +1,14 @@
pkgbase = xf86-input-evdev-ahm
pkgdesc = X.org evdev input driver + at-home-modifier patch
pkgver = 2.10.6
- pkgrel = 1
+ pkgrel = 2
url = https://gitlab.com/at-home-modifier/at-home-modifier-evdev/wikis/home
arch = x86_64
groups = xorg-drivers
license = custom
makedepends = xorg-server-devel
makedepends = X-ABI-XINPUT_VERSION=24.1
- makedepends = resourceproto
- makedepends = scrnsaverproto
+ makedepends = xorgproto
depends = libsystemd
depends = mtdev
depends = libevdev
@@ -22,10 +21,12 @@ pkgbase = xf86-input-evdev-ahm
source = https://xorg.freedesktop.org//releases/individual/driver/xf86-input-evdev-2.10.6.tar.bz2
source = https://xorg.freedesktop.org//releases/individual/driver/xf86-input-evdev-2.10.6.tar.bz2.sig
source = https://gitlab.com/at-home-modifier/download/raw/master/patch/ahm-2.10.3.patch
+ source = new_kernel.patch
validpgpkeys = 3C2C43D9447D5938EF4551EBE23B7E70B467F0BF
sha512sums = 560b0a6491d50a46913a5890a35c0367e59f550670993493bd9712d712a9747ddaa6fe5086daabf2fcafa24b0159383787eb273da4a2a60c089bfc0a77ad2ad1
sha512sums = SKIP
sha512sums = 918f1ca0149053d5d2817df5a748a993bc0b557b88d3380d308a775e1fd180c18895d7ba77b455daf23a097544dc7a83970321d3811d0d93b0a8f2a12e63154a
+ sha512sums = 6d98d1eb16d72e8e3f922c40c043832032999b86979cd55ea38fdddd060ef4700a0c5d85cb99bbb7ab7481b2bee6524e3a1c9bcade61dae2e2ab3b22b4becfdd
pkgname = xf86-input-evdev-ahm
diff --git a/PKGBUILD b/PKGBUILD
index 93131e22fdc4..4e8d2eb7d486 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,29 +7,33 @@ pkgname=xf86-input-evdev-ahm
_pkgname_orig=xf86-input-evdev
pkgver=2.10.6
_ahmver=2.10.3
-pkgrel=1
+pkgrel=2
pkgdesc='X.org evdev input driver + at-home-modifier patch'
arch=(x86_64)
url='https://gitlab.com/at-home-modifier/at-home-modifier-evdev/wikis/home'
_url_orig='https://xorg.freedesktop.org/'
license=('custom')
depends=('libsystemd' 'mtdev' 'libevdev')
-makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=24.1' 'resourceproto' 'scrnsaverproto')
+makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=24.1' 'xorgproto')
provides=('xf86-input-evdev=2.10.6-1')
conflicts=('xorg-server<1.19.0' 'X-ABI-XINPUT_VERSION<24.1' 'X-ABI-XINPUT_VERSION>=25' 'xf86-input-evdev')
options=('!makeflags')
groups=('xorg-drivers')
source=(${_url_orig}/releases/individual/driver/${_pkgname_orig}-${pkgver}.tar.bz2{,.sig}
- https://gitlab.com/at-home-modifier/download/raw/master/patch/ahm-${_ahmver}.patch)
+ https://gitlab.com/at-home-modifier/download/raw/master/patch/ahm-${_ahmver}.patch
+ new_kernel.patch)
sha512sums=('560b0a6491d50a46913a5890a35c0367e59f550670993493bd9712d712a9747ddaa6fe5086daabf2fcafa24b0159383787eb273da4a2a60c089bfc0a77ad2ad1'
'SKIP'
- '918f1ca0149053d5d2817df5a748a993bc0b557b88d3380d308a775e1fd180c18895d7ba77b455daf23a097544dc7a83970321d3811d0d93b0a8f2a12e63154a')
+ '918f1ca0149053d5d2817df5a748a993bc0b557b88d3380d308a775e1fd180c18895d7ba77b455daf23a097544dc7a83970321d3811d0d93b0a8f2a12e63154a'
+ '6d98d1eb16d72e8e3f922c40c043832032999b86979cd55ea38fdddd060ef4700a0c5d85cb99bbb7ab7481b2bee6524e3a1c9bcade61dae2e2ab3b22b4becfdd')
validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <office@who-t.net>
prepare() {
cd "${_pkgname_orig}-${pkgver}"
# at-home-modifier patch
patch -p1 -i "${srcdir}/ahm-${_ahmver}.patch"
+ # patch for newer kernels https://bbs.archlinux.org/viewtopic.php?pid=1891346#p1891346
+ patch -p1 -i "${srcdir}/new_kernel.patch"
}
build() {
diff --git a/new_kernel.patch b/new_kernel.patch
new file mode 100644
index 000000000000..8c4d39d51693
--- /dev/null
+++ b/new_kernel.patch
@@ -0,0 +1,21 @@
+diff --git a/src/evdev.c b/src/evdev.c
+index 650be6b..d53cef3 100644
+--- a/src/evdev.c
++++ b/src/evdev.c
+@@ -323,8 +323,14 @@ static int ahmTimedOutP(long int lastSec, long int lastUsec, struct input_event
+ return 0;
+ }
+
+- if( (ev->time.tv_sec - lastSec) * 1000
+- + (ev->time.tv_usec - lastUsec) / 1000
++ /* Seems like in newer kernels (>= 5.5), the timestamp of a key release
++ is that of the press event */
++
++ struct timeval tv;
++ gettimeofday(&tv, NULL);
++
++ if( (tv.tv_sec - lastSec) * 1000
++ + (tv.tv_usec - lastUsec) / 1000
+ > timeOut){
+ return 1;
+ }else{