Signed-off-by: Jonas Ådahl <jad...@gmail.com> --- src/compositor.h | 3 +++ src/libinput-device.c | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/compositor.h b/src/compositor.h index 79b232e..331b758 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -249,6 +249,7 @@ struct weston_output { enum weston_pointer_motion_mask { WESTON_POINTER_MOTION_ABS = 1 << 0, WESTON_POINTER_MOTION_REL = 1 << 1, + WESTON_POINTER_MOTION_REL_NOACCEL = 1 << 2, }; struct weston_pointer_motion_event { @@ -257,6 +258,8 @@ struct weston_pointer_motion_event { double y; double dx; double dy; + double dx_unaccel; + double dy_unaccel; }; struct weston_pointer_grab; diff --git a/src/libinput-device.c b/src/libinput-device.c index 28cc565..45bc863 100644 --- a/src/libinput-device.c +++ b/src/libinput-device.c @@ -85,11 +85,18 @@ handle_pointer_motion(struct libinput_device *libinput_device, 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_NOACCEL, .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, -- 2.1.4 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel