# 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). ## Low 2. **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`) - Fake-input version checks on a KWin older than fake-input v6 (`KWinFakeInput`)