59b274f12f
We need to track the full xkb_state to have the necessary information to send to the clients, otherwise they may get confused and lock or invert the modifiers. In the evdev backend, we just retrieve the same state object that clutter is using, while in the other backends we fake the state using what clutter is providing (which is a subset of what X11 provides, which would be necessary to have full state) https://bugzilla.gnome.org/show_bug.cgi?id=705862