[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

@@ -64,6 +64,10 @@ struct X11DSState
int minKeycode, maxKeycode;
_Atomic(unsigned int) keyboardGroup;
int numLockIndicator;
int capsLockIndicator;
int scrollLockIndicator;
int xkbEvent;
//Extended Window Manager Hints
//ref: https://specifications.freedesktop.org/wm-spec/latest/