input: Provide microsecond timestamps in motion events
Provide timestamps with microsecond granularity if the backend can
provide it. Backends that can't should set it to 0.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/libweston/libinput-device.c b/libweston/libinput-device.c
index cfd7659..782f656 100644
--- a/libweston/libinput-device.c
+++ b/libweston/libinput-device.c
@@ -86,6 +86,8 @@
struct evdev_device *device =
libinput_device_get_user_data(libinput_device);
struct weston_pointer_motion_event event = { 0 };
+ uint64_t time_usec =
+ libinput_event_pointer_get_time_usec(pointer_event);
double dx_unaccel, dy_unaccel;
dx_unaccel = libinput_event_pointer_get_dx_unaccelerated(pointer_event);
@@ -94,6 +96,7 @@
event = (struct weston_pointer_motion_event) {
.mask = WESTON_POINTER_MOTION_REL |
WESTON_POINTER_MOTION_REL_UNACCEL,
+ .time_usec = time_usec,
.dx = libinput_event_pointer_get_dx(pointer_event),
.dy = libinput_event_pointer_get_dy(pointer_event),
.dx_unaccel = dx_unaccel,