diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2015-01-13 11:55:37 +1000 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2015-01-15 14:35:08 +0800 |
commit | c54f23d8df4e758f097d127df4d44d7a00059cef (patch) | |
tree | a63a5b4153965f576c3b723f7ab89019449efe0c /src | |
parent | fd5ca513f9791dcb689bb19c734e982276488159 (diff) | |
download | weston-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.c | 25 |
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 |