Orca screen reader should announce Caps Lock state in KDE Plasma Wayland session Currently, when using the Orca screen reader in KDE Plasma under a Wayland session, Orca does not announce whether Caps Lock is enabled or disabled. This creates confusion for users who rely on Caps Lock as the Orca modifier key (e.g., Caps Lock + U, Caps Lock + O for flat review navigation). In GNOME, this issue is addressed through AT-SPI and AccessKit integration, allowing screen readers to monitor modifier key states. KDE Plasma could implement a similar mechanism via KWin or KGlobalAccel, enabling Orca to detect and announce the Caps Lock state. Suggested improvements: 1. Provide an API (e.g., via D-Bus or another method) that allows Orca to query the current Caps Lock state. 2. Integrate this capability into KWin or the KDE Accessibility module. 3. Alternatively, expose a Wayland-compatible equivalent of XkbGetIndicatorState to allow screen readers to access modifier key states. This enhancement would significantly improve accessibility for visually impaired users and reduce confusion when using Orca's keyboard shortcuts. SOFTWARE/OS VERSIONS (available in the Info Center app, or by running `kinfo` in a terminal window) Linux/KDE Plasma: Arch linux KDE Plasma Version: 6.4.3 KDE Frameworks Version: 6.16.0 Qt Version: 6.9.1
It's not clear to me what the issue is here. When I press the capslock key Orca announces "Capslock on/off", and as far as I can tell it behaves exactly the same as on Gnome. If that's not what you mean, when/how else would Orca announce the capslock state?
okay, I think I understand. When using Orca in laptop mode (i.e. with capslock as Orca modifier), double-pressing capslock to trigger actual capslock should announce the state. Is that right?
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7942
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7951
Git commit cc1d5a93cb329df4e249d6397e0c6ea280cb7cc6 by Nicolas Fella. Committed on 29/07/2025 at 19:56. Pushed by nicolasfella into branch 'master'. a11ykeyboardmanager: Send second modifier press to screenreader We have code so that when a grabbed modifier is pressed twice within a short timeframe the key is processed normally. However in this case we also want to let the screenreader know about the key, even though it should not be grabbed. Orca uses this to announce the change in capslock state when pressing capslock twice. M +2 -0 src/a11ykeyboardmonitor.cpp https://invent.kde.org/plasma/kwin/-/commit/cc1d5a93cb329df4e249d6397e0c6ea280cb7cc6
Git commit 65604f92dccf75d10b467d02c5db5fa620a91bb1 by Nicolas Fella. Committed on 29/07/2025 at 20:28. Pushed by nicolasfella into branch 'Plasma/6.4'. a11ykeyboardmanager: Send second modifier press to screenreader We have code so that when a grabbed modifier is pressed twice within a short timeframe the key is processed normally. However in this case we also want to let the screenreader know about the key, even though it should not be grabbed. Orca uses this to announce the change in capslock state when pressing capslock twice. (cherry picked from commit cc1d5a93cb329df4e249d6397e0c6ea280cb7cc6) Co-authored-by: Nicolas Fella <nicolas.fella@gmx.de> M +2 -0 src/a11ykeyboardmonitor.cpp https://invent.kde.org/plasma/kwin/-/commit/65604f92dccf75d10b467d02c5db5fa620a91bb1