Diagnostics collects what this session doesn't allow, logs it, and lists
it in the settings panel (with a dot on the gear): KWin not launching
sloposk as its keyboard (detected by WAYLAND_SOCKET, since KWin offers the
input-method global to every client), fake input missing or too old,
org.kde.keyboard unreachable, and the D-Bus control name taken.
Modifier combos go through fake input even in text fields: KWin drops
the input method's modifier mask for most clients, so Ctrl+A typed "a".
The desktop file is generated with an absolute Exec, which KWin needs to
match it: one for the installed binary, one for the build's.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- KWinFakeInput (org_kde_kwin_fake_input v6, offered by KWin to the
input-method process): keysyms with real modifier keys held
- The KWin backend uses the input method in text fields and fake input
everywhere else, so shortcuts, terminals and the desktop get keys
- Text rules (auto-capitalization, double-space) only apply in fields
- Always Show setting keeps the keyboard up without a text field
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- VisibilityController: show on field focus, dismiss until next focus,
manual show/hide/toggle overrides
- FloatingWindow: resize from the corner grip, clamp to screen
- WindowSettings: geometry per screen, debounced saves
- DBusControl: org.sloposk.Keyboard Show/Hide/Toggle for global shortcuts
- org.sloposk.keyboard.desktop so System Settings lists it as a virtual keyboard
- README with build/run/layout docs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>