libinput: Expose unaccelerated motion deltas in motion event struct

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
diff --git a/libweston/libinput-device.c b/libweston/libinput-device.c
index 62350f2..cfd7659 100644
--- a/libweston/libinput-device.c
+++ b/libweston/libinput-device.c
@@ -86,11 +86,18 @@
 	struct evdev_device *device =
 		libinput_device_get_user_data(libinput_device);
 	struct weston_pointer_motion_event event = { 0 };
+	double dx_unaccel, dy_unaccel;
+
+	dx_unaccel = libinput_event_pointer_get_dx_unaccelerated(pointer_event);
+	dy_unaccel = libinput_event_pointer_get_dy_unaccelerated(pointer_event);
 
 	event = (struct weston_pointer_motion_event) {
-		.mask = WESTON_POINTER_MOTION_REL,
+		.mask = WESTON_POINTER_MOTION_REL |
+			WESTON_POINTER_MOTION_REL_UNACCEL,
 		.dx = libinput_event_pointer_get_dx(pointer_event),
 		.dy = libinput_event_pointer_get_dy(pointer_event),
+		.dx_unaccel = dx_unaccel,
+		.dy_unaccel = dy_unaccel,
 	};
 
 	notify_motion(device->seat,