This has two benefits:
- It improves start-up time for device that are touch-only because
the xkb parsing is delayed until a keyboard is attached and key is
pressed
- It fixes#3678 by working around the situation where xkb would
crash if the xkbcommon data files (in /usr/share/X11/xkb) aren't
there. Sadly, no error is reported in that case (that we could
handle), instead just crashes.
Unfortunately, this is currently not mapped to the right keyboard layout
Also keep the mouse clamped in the visible area.
And make it start in the middle of the screen.
The cursor is loaded by the window adapter from the cache. When it's
loaded the first time, its format will be Svg, so we convert it to a
pixel buffer. That way the skia backend can convert it on first draw
into a skia_safe::Image and replace the cache entry with the backend
storage variant.
This doesn't require a windowing system, just Linux and Vulkan drivers
that supports the display extensions.
It's called linuxkms as soon this will go beyond Vulkan and also support
EGL and perhaps dumb buffers for software rendering.