[client] X11: synchronize keyboard input state

Replay held keys after focus enters the client window.

Track modifiers and lock LEDs for cooked and grabbed raw input.

Handle external XKB indicator changes while the window stays focused.
This commit is contained in:
Geoffrey McRae
2026-08-10 17:36:21 +10:00
parent f8c4ef3360
commit 15e0cbbcc4
5 changed files with 162 additions and 83 deletions

View File

@@ -40,7 +40,7 @@ X11Input;
void x11InputInit(X11Input * input, const LG_DSInputSink * sink,
void * opaque);
bool x11InputFocus(X11Input * input, bool focused, double x, double y,
bool x11InputFocus(X11Input * input, bool focused,
const uint32_t * keys, size_t count);
bool x11InputPointerEnter(X11Input * input, bool mainWindow,
bool normal, double x, double y);