Files
sloposk/AUDIT.md
T
2026-10-15 10:20:50 +02:00

1.4 KiB

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

  1. 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)