Add the audit's open items

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-15 10:20:50 +02:00
co-authored by Claude Opus 5.5
parent cef7d384bb
commit daab2fe0ab
+21
View File
@@ -0,0 +1,21 @@
# Audit — 2026-10-14
Open items only; fixed ones are in the history (`3576dd8`..`6ff86fb`).
## Medium
1. **Fake input can't type characters missing from the keymap.** `KWinFakeInput::typeText` (`src/backend/KWinFakeInput.cpp`) sends keysyms, and KWin has to find each one in the active keymap. Probably all of these do nothing when no text field is focused: long-press alternates (ť on a US keymap) and template symbols missing from the layout. Nothing tells the user it failed. A fix likely needs a temporary keymap (e.g. the virtual-keyboard protocol).
2. **The layer surface can't follow focus to another output.** `FloatingWindow` (`src/window/FloatingWindow.cpp`) now refits on screen changes, but the layer surface stays on `window->screen()`. Moving it needs a remap.
## Low
3. **Hold-keys caps lock is tracked locally.** `HardwareKeys::m_capsLock` toggles on its own, so a hardware Caps Lock (or a missed event) puts the shown state out of sync. The window never has keyboard focus, so it gets no modifier events to read the real state from.
## Untested
Fixed without automated tests; check on a live KWin session:
- Focus moving from field to field and deactivate ordering (`KWinInputMethod`)
- `org.kde.keyboard` appearing after startup or KWin restarting (`SystemLayouts`)
- Refit after a resolution change or monitor unplug (`FloatingWindow`)
- Fake-input version checks on a KWin older than fake-input v6 (`KWinFakeInput`)