In VM environments, EVIOCGRAB on the AT keyboard device succeeds but produces no events — the kernel/VM routing prevents event delivery to the grabber. Previously the daemon waited 30 seconds then exited. Now: after 3 consecutive 100ms poll timeouts (~300ms) with no events received, the grab is released and the daemon continues in non-grabbed evdev mode. In this mode events reach both X (characters appear on screen) and the daemon simultaneously; the daemon applies backspace corrections via uinput. Also removes the 30-second-exit behavior (which locked the keyboard for 30 seconds unnecessarily) and replaces it with the fast fallback. |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||