In total, I feel there's very little that needs to be added/changed to support Wayland on Linux platform.
Needed changes:
CMake needs additional option to toggle Wayland support which would then only require XKB from X11 as it's still used by Wayland applications.
I think it would be more convenient to move src/linux into src/linux/x11 and duplicate into src/linux/wayland and then make CMake switch between different implementations based on configuration flag.
Instead of querying events directly, provide a pointer to wl_pointer_listener so applications can attach it on seat_capability events.
Keyboard events are handled very similarly to X11 (using XKB), only the listener registration is handled like mouse events in previous point.
This is a feature request for Wayland support.
In total, I feel there's very little that needs to be added/changed to support Wayland on Linux platform.
Needed changes:
XKB
fromX11
as it's still used by Wayland applications.src/linux
intosrc/linux/x11
and duplicate intosrc/linux/wayland
and then make CMake switch between different implementations based on configuration flag.wl_pointer_listener
so applications can attach it on seat_capability events.Reference: