backend/libinput: handle high-res scroll events

On newer versions of libinput, the event LIBINPUT_EVENT_POINTER_AXIS
has been deprecated in favour of LIBINPUT_EVENT_POINTER_SCROLL_WHEEL,
LIBINPUT_EVENT_POINTER_SCROLL_FINGER and
LIBINPUT_EVENT_POINTER_SCROLL_CONTINUOUS.

Where new events are provided by the backend, ignore
LIBINPUT_EVENT_POINTER_AXIS, receive high-resolution scroll events from
libinput and emit the appropiate wlr_pointer signal.
This commit is contained in:
José Expósito 2022-02-25 17:30:42 +01:00
parent 65c436407f
commit c6032d6b1c
3 changed files with 60 additions and 0 deletions

View file

@ -70,6 +70,10 @@ void handle_pointer_button(struct libinput_event *event,
struct wlr_pointer *pointer);
void handle_pointer_axis(struct libinput_event *event,
struct wlr_pointer *pointer);
#if LIBINPUT_HAS_SCROLL_VALUE120
void handle_pointer_axis_value120(struct libinput_event *event,
struct wlr_pointer *pointer, enum wlr_axis_source source);
#endif
void handle_pointer_swipe_begin(struct libinput_event *event,
struct wlr_pointer *pointer);
void handle_pointer_swipe_update(struct libinput_event *event,