summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2015-01-13 11:55:37 +1000
committerJonas Ådahl <jadahl@gmail.com>2015-01-15 14:35:08 +0800
commitc54f23d8df4e758f097d127df4d44d7a00059cef (patch)
treea63a5b4153965f576c3b723f7ab89019449efe0c /src
parentfd5ca513f9791dcb689bb19c734e982276488159 (diff)
downloadweston-c54f23d8df4e758f097d127df4d44d7a00059cef.tar.gz
libinput-device: use the new merged scroll events
libinput now provides a single event for scroll events. Extract the axes from that event and split them into the wl events. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/libinput-device.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/libinput-device.c b/src/libinput-device.c
index 8a48905f..e68b54d7 100644
--- a/src/libinput-device.c
+++ b/src/libinput-device.c
@@ -133,12 +133,27 @@ handle_pointer_axis(struct libinput_device *libinput_device,
struct evdev_device *device =
libinput_device_get_user_data(libinput_device);
double value;
+ enum libinput_pointer_axis axis;
+
+ axis = LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL;
+ if (libinput_event_pointer_has_axis(pointer_event, axis)) {
+ value = libinput_event_pointer_get_axis_value(pointer_event,
+ axis);
+ notify_axis(device->seat,
+ libinput_event_pointer_get_time(pointer_event),
+ WL_POINTER_AXIS_VERTICAL_SCROLL,
+ wl_fixed_from_double(value));
+ }
- value = libinput_event_pointer_get_axis_value(pointer_event);
- notify_axis(device->seat,
- libinput_event_pointer_get_time(pointer_event),
- libinput_event_pointer_get_axis(pointer_event),
- wl_fixed_from_double(value));
+ axis = LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL;
+ if (libinput_event_pointer_has_axis(pointer_event, axis)) {
+ value = libinput_event_pointer_get_axis_value(pointer_event,
+ axis);
+ notify_axis(device->seat,
+ libinput_event_pointer_get_time(pointer_event),
+ WL_POINTER_AXIS_HORIZONTAL_SCROLL,
+ wl_fixed_from_double(value));
+ }
}
static void