summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/xf86-input-synaptics/APKBUILD7
-rw-r--r--user/xf86-input-synaptics/input-event.patch27
2 files changed, 32 insertions, 2 deletions
diff --git a/user/xf86-input-synaptics/APKBUILD b/user/xf86-input-synaptics/APKBUILD
index c2e8adcb8..2ca9e1387 100644
--- a/user/xf86-input-synaptics/APKBUILD
+++ b/user/xf86-input-synaptics/APKBUILD
@@ -10,7 +10,9 @@ depends=""
makedepends="libevdev-dev libxi-dev libxkbfile-dev libxrandr-dev libxtst-dev
mtdev-dev xorg-server-dev"
subpackages="$pkgname-doc $pkgname-dev"
-source="https://www.X.Org/releases/individual/driver/$pkgname-$pkgver.tar.bz2"
+source="https://www.X.Org/releases/individual/driver/$pkgname-$pkgver.tar.bz2
+ input-event.patch
+ "
build() {
export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
@@ -33,4 +35,5 @@ package() {
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="978eddd456aa7361047bc3d72e5127b24b13de29b0dddb6a0acc9f9da93931baa2b22fb5d1e6be164f629a11e5d97d753b835426435396b45b1af5eb8d546c3f xf86-input-synaptics-1.9.1.tar.bz2"
+sha512sums="978eddd456aa7361047bc3d72e5127b24b13de29b0dddb6a0acc9f9da93931baa2b22fb5d1e6be164f629a11e5d97d753b835426435396b45b1af5eb8d546c3f xf86-input-synaptics-1.9.1.tar.bz2
+c2fb26ce6721eddc611fb21cec18bd3a180557deccb5b46e2cdd60c7b10d4c4105dacd6d027ac2e71934df5f51a58a18a12e2c18d16e48768fa56a7dfffd9f90 input-event.patch"
diff --git a/user/xf86-input-synaptics/input-event.patch b/user/xf86-input-synaptics/input-event.patch
new file mode 100644
index 000000000..38b620f09
--- /dev/null
+++ b/user/xf86-input-synaptics/input-event.patch
@@ -0,0 +1,27 @@
+--- xf86-input-synaptics-1.9.1/src/eventcomm.c.old 2018-05-29 03:18:45.000000000 +0000
++++ xf86-input-synaptics-1.9.1/src/eventcomm.c 2020-01-22 02:18:05.881867288 +0000
+@@ -575,9 +575,12 @@
+ ev->type = EV_SYN;
+ ev->code = SYN_REPORT;
+ ev->value = 0;
+- ev->time = last_event_time;
+- } else if (ev->type == EV_SYN)
+- last_event_time = ev->time;
++ ev->input_event_sec = last_event_time.tv_sec;
++ ev->input_event_usec = last_event_time.tv_usec;
++ } else if (ev->type == EV_SYN) {
++ last_event_time.tv_sec = ev->input_event_sec;
++ last_event_time.tv_usec = ev->input_event_usec;
++ }
+
+ return TRUE;
+ }
+@@ -725,7 +728,7 @@
+ case SYN_REPORT:
+ hw->numFingers = count_fingers(pInfo, comm);
+ if (proto_data->have_monotonic_clock)
+- hw->millis = 1000 * ev.time.tv_sec + ev.time.tv_usec / 1000;
++ hw->millis = 1000 * ev.input_event_sec + ev.input_event_usec / 1000;
+ else
+ hw->millis = GetTimeInMillis();
+ SynapticsCopyHwState(hwRet, hw);