Skip to content

protocol: add wl_keyboard.frame event

Julian Orth requested to merge mahkoh/wayland:jorth/keymap into main

When a client loses keyboard focus, it might make fundamental changes to its state. For example:

  • It might re-render its interface to indicate that it is inactive.
  • It might disable text-input.

However, sometimes the compositor might want to remove and restore the keyboard focus atomically. For example, when moving the keyboard focus between different surfaces of a client or when changing the keyboard layout or when changing the set of pressed keys.

Some compositors work around this by sending keymap events while the wl_keyboard has an active surface. But it is unspecified how this affects the logical wl_keyboard state.

This MR adds a new wl_keyboard.frame event that allows the compositor to group events that are logically part of a single user interaction. For example

  • leave followed by modifiers
  • leave followed by enter

Merge request reports