pub(crate) fn watch_keyboard(
connection: &Connection,
queue: &mut EventQueue<Probe>,
probe: &mut Probe,
seconds: u64,
) -> Result<(), String>Expand description
Map a window, take focus, and report every layout change that arrives.
WL_PROBE_KEYBOARD=<seconds>. The compositor switching its own active
layout is one claim and the client being told is a different one, and
only the second matters – a layout that changed and was not announced is a
keyboard that types the wrong letters. A client only hears about it through
wl_keyboard.modifiers, and only while it has focus, so this maps a window
first and holds it.