https://bugs.kde.org/show_bug.cgi?id=520678
Bug ID: 520678
Summary: "hide" button does nothing when text field loses focus
while keyboard is visible
Classification: Plasma
Product: Plasma Keyboard
Version First unspecified
Reported In:
Platform: Fedora RPMs
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
DESCRIPTION
"hide" button does nothing when text field loses focus while keyboard is
visible
Session type: Wayland
OS:
STEPS TO REPRODUCE
1. Tap a text field — keyboard appears
2. Tap somewhere outside the text field (keyboard stays visible)
3. Press the hide button (↓ arrow) on the keyboard
OBSERVED RESULT
nothing happens, keyboard stays on screen
EXPECTED RESULT
keyboard hides
SOFTWARE/OS VERSIONS
Package: plasma-keyboard-6.6.4-1.fc42.x86_64
Operating System: Fedora 42 (Kinoite)
KDE Plasma Version: 6.6.4
KDE Frameworks Version: 6.25.0
Qt Version: 6.10.2
ADDITIONAL INFORMATION
Some digging with LLM:
KWin exposes two properties for the virtual keyboard over DBus:
- `active` — whether a text input context is currently active (i.e. an app has
a focused text field)
- `visible` — whether the keyboard surface is actually drawn on screen
When you tap outside the text field, `active` goes `false` but `visible` stays
`true`. The keyboard remains on screen, but the text-input protocol channel is
now closed.
Pressing the hide button calls `InputContext.priv.hideInputPanel()` inside Qt
Virtual Keyboard. That call travels through the Wayland text-input protocol —
but since `active` is already `false`, there's no live context to route it
through. KWin never receives the hide request, so `visible` stays `true`.
DBus state when stuck (queried via `qdbus-qt6 org.kde.keyboard
/VirtualKeyboard`):
```
active: false ← text input context already gone
visible: true ← but keyboard is still drawn
enabled: true
available: true
activeClientSupportsTextInput: true
```
Trying to set `active = false` explicitly via DBus has no effect on `visible`.
Toggling `enabled = false` *does* hide it (visible drops to false), which
confirms the keyboard window itself is fine — it's just not receiving the hide
signal through the normal path.
--
You are receiving this mail because:
You are watching all bug changes.