Sam Lantinga 67f4478867 Fixed bug 4917 - Wayland: handle discrete pointer axis events
Luis Caceres

The current handling of Wayland mouse pointer events only handles wl_pointer.axis events, which, according to the Wayland documentation, deal with mouse wheel scroll events on a continuous scale. While this is reasonable for some input sources (e.g. touchpad two-finger scrolling), it is not for mouse wheel clicks which generate wl_pointer.axis events with large deltas.

This patch adds handling for wl_pointer.axis_discrete and wl_pointer.frame events and prefers to report SDL_MouseWheelEvent in discrete units if they are available. This means that for mouse wheel scrolling we count in clicks, but for touchpad two-finger scrolling we still use whatever units Wayland uses. This behaviour is closer to that of the X11 backend.

Since these events are only available since version 5 of the wl_seat interface, this patch also checks for this and falls back to the previous behaviour if its not available. I also had to add definitions for some of the pointer and keyboard events specified in versions 2-5 but these are just stubs and do nothing.
2020-02-03 00:57:12 -08:00
..
2020-01-16 20:49:25 -08:00
2020-01-23 00:32:34 -08:00
2020-01-16 20:49:25 -08:00
2020-02-01 09:23:04 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-29 20:09:16 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-02-01 09:23:04 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00
2020-01-23 01:03:23 -08:00
2020-01-16 20:49:25 -08:00
2020-01-16 20:49:25 -08:00