[packages/evemu] - use input_event macros for time data access
baggins
baggins at pld-linux.org
Thu May 7 23:17:01 CEST 2026
commit 7c1d724ca48fcfbfa710651537b242832697baa9
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Fri May 8 01:16:36 2026 +0200
- use input_event macros for time data access
evemu.spec | 2 +
input_event-time.patch | 103 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 105 insertions(+)
---
diff --git a/evemu.spec b/evemu.spec
index 8369d6b..00f6258 100644
--- a/evemu.spec
+++ b/evemu.spec
@@ -7,6 +7,7 @@ License: LGPL v3
Group: Libraries
Source0: https://www.freedesktop.org/software/evemu/%{name}-%{version}.tar.xz
# Source0-md5: bc1e819ac06e3444e2f47b88171d2597
+Patch0: input_event-time.patch
URL: https://www.freedesktop.org/wiki/Evemu/
BuildRequires: asciidoc
BuildRequires: autoconf >= 2.60
@@ -71,6 +72,7 @@ Pythonowy interfejs do biblioteki evemu.
%prep
%setup -q
+%patch -P0 -p1
%build
%{__libtoolize}
diff --git a/input_event-time.patch b/input_event-time.patch
new file mode 100644
index 0000000..462101a
--- /dev/null
+++ b/input_event-time.patch
@@ -0,0 +1,103 @@
+--- evemu-2.7.0/src/evemu.c.orig 2017-06-02 10:02:09.000000000 +0200
++++ evemu-2.7.0/src/evemu.c 2026-05-08 01:14:20.073347601 +0200
+@@ -733,9 +733,9 @@
+ return rc;
+ }
+
+-static inline unsigned long millis(const struct timeval *tv)
++static inline unsigned long millis(const struct input_event *ev)
+ {
+- return tv->tv_sec * 1000 + tv->tv_usec/1000;
++ return ev->input_event_sec * 1000 + ev->input_event_usec/1000;
+ }
+
+ static int write_event_desc(FILE *fp, const struct input_event *ev)
+@@ -750,7 +750,7 @@
+ libevdev_event_code_get_name(ev->type, ev->code),
+ ev->value);
+ } else {
+- time = millis(&ev->time);
++ time = millis(ev);
+ dt = time - last_ms;
+ last_ms = time;
+ rc = fprintf(fp, "# ------------ %s (%d) ---------- %+ldms\n",
+@@ -771,13 +771,17 @@
+ {
+ int rc;
+ rc = fprintf(fp, "E: %lu.%06u %04x %04x %04d ",
+- ev->time.tv_sec, (unsigned)ev->time.tv_usec,
++ ev->input_event_sec, (unsigned)ev->input_event_usec,
+ ev->type, ev->code, ev->value);
+ rc += write_event_desc(fp, ev);
+ return rc;
+ }
+
+-static inline long time_to_long(const struct timeval *tv) {
++static inline long time_to_long(const struct input_event *ev) {
++ return ev->input_event_sec * 1000000L + ev->input_event_usec;
++}
++
++static inline long etime_to_long(const struct timeval *tv) {
+ return tv->tv_sec * 1000000L + tv->tv_usec;
+ }
+
+@@ -803,10 +807,12 @@
+ long time;
+
+ if (offset == 0)
+- offset = time_to_long(&ev.time) - 1;
++ offset = time_to_long(&ev) - 1;
+
+- time = time_to_long(&ev.time);
+- ev.time = long_to_time(time - offset);
++ time = time_to_long(&ev);
++ struct timeval tv = long_to_time(time - offset);
++ ev.input_event_sec = tv.tv_sec;
++ ev.input_event_usec = tv.tv_usec;
+ evemu_write_event(fp, &ev);
+ fflush(fp);
+ }
+@@ -839,8 +845,8 @@
+ return -1;
+ }
+
+- ev->time.tv_sec = sec;
+- ev->time.tv_usec = usec;
++ ev->input_event_sec = sec;
++ ev->input_event_usec = usec;
+ ev->type = type;
+ ev->code = code;
+ ev->value = value;
+@@ -852,8 +858,8 @@
+
+ int evemu_create_event(struct input_event *ev, int type, int code, int value)
+ {
+- ev->time.tv_sec = 0;
+- ev->time.tv_usec = 0;
++ ev->input_event_sec = 0;
++ ev->input_event_usec = 0;
+ ev->type = type;
+ ev->code = code;
+ ev->value = value;
+@@ -882,14 +888,17 @@
+ return ret;
+
+ if (evtime) {
+- if (evtime->tv_sec == 0 && evtime->tv_usec == 0)
+- *evtime = ev->time;
+- usec = time_to_long(&ev->time) - time_to_long(evtime);
++ if (evtime->tv_sec == 0 && evtime->tv_usec == 0) {
++ evtime->tv_sec = ev->input_event_sec;
++ evtime->tv_usec = ev->input_event_usec;
++ }
++ usec = time_to_long(ev) - etime_to_long(evtime);
+ if (usec > ERROR_MARGIN * 2) {
+ if (usec > s2us(10))
+ error(INFO, "Sleeping for %lds.\n", us2s(usec));
+ usleep(usec - ERROR_MARGIN);
+- *evtime = ev->time;
++ evtime->tv_sec = ev->input_event_sec;
++ evtime->tv_usec = ev->input_event_usec;
+ }
+ }
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/evemu.git/commitdiff/7c1d724ca48fcfbfa710651537b242832697baa9
More information about the pld-cvs-commit
mailing list