I've been looking through the xkbcommon API documentation[1] and the Wayland protocol docs and specs for xdg_shell [2][3] to learn about what to do when keymaps change. It's possible I missed something in the docs somewhere and if so I'd greatly appreciate a reference to where else I ought to look.
The questions I'm trying to find an answer for: What should the client do with the xkb_state when a new keymap gets sent to the client after an initial keymap was used to create the xkb_state? Should the client throw away the xkb_state entirely and create a new one with the new keymap? Or would that cause xkb_state to, from the user's perspective, get horrifically out of sync? Thanks in advance for your time! Cheers, -Matt Helsley [1] https://github.com/xkbcommon/libxkbcommon/tree/master/doc [2] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/main/stable/xdg-shell/xdg-shell.xml [3] https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_keyboard