Pointer (SeatState)
Keyboard
on_key receives keysym, UTF-8 text, press/release state, and modifier mask.
Text input (IME)
commit() after enable, cursor moves, or disable.
Clipboard
Virtual keyboard
TextInjector injects committed text when an on-screen keyboard is active without duplicating IME state.
