Bug 519143 - Key repeat does not work with Orca on KDE Plasma Wayland
Summary: Key repeat does not work with Orca on KDE Plasma Wayland
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: unspecified
Platform: Kubuntu Linux
: NOR grave
Target Milestone: ---
Assignee: Nicolas Fella
URL:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2026-04-19 12:42 UTC by Roger 2
Modified: 2026-04-24 13:24 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.6.5
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Roger 2 2026-04-19 12:42:35 UTC
On KDE Plasma Wayland, Orca does not receive repeated key events when using browse mode in web browsers. When holding any Orca navigation key — such as H (headings), K (links), B (buttons), arrow keys, or number keys (1–6) — only a single keypress is sent. Orca does not move to the next element unless the key is pressed repeatedly.

This happens in both Firefox and Chromium. The issue occurs on any website and affects all navigation keys used in Orca's browse mode.

However, Tab and Shift+Tab DO repeat normally, because they are handled directly by the browser and not by Orca.

Steps to reproduce:
1. Start KDE Plasma Wayland session.
2. Start Orca.
3. Open Firefox or Chromium.
4. Open any website.
5. Hold the key "H" to move between headings.
6. Orca does not advance; only one event is sent.
7. Hold "K" to move between links: same behavior.
8. Hold "B" to move between buttons: same behavior.
9. Hold arrow keys or number keys: same behavior.
10. Hold Tab: it repeats normally.

Expected:
Holding navigation keys should repeat and allow fast movement between elements in Orca's browse mode.

Actual:
Only the first keypress is sent to Orca; key repeat does not work for any navigation key.

System Information:
KDE Plasma 6.6.4 on wayland
KDE Frameworks 6.24.0
Qt 6.10.2
Notes:
- This does not happen on GNOME (Wayland or X11).
- This does not happen on KDE Plasma X11.
Comment 1 Bug Janitor Service 2026-04-19 14:30:45 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9110
Comment 2 Nicolas Fella 2026-04-24 11:48:43 UTC
Git commit 60bb46893553ab1e65a4e4c6e4b83efe78908227 by Nicolas Fella.
Committed on 24/04/2026 at 11:13.
Pushed by nicolasfella into branch 'master'.

input: Process key repeat before A11yKeyboardMonitor

Currently we process A11yKeyboardMonitor before any of the
input filters/spies.

This means that when A11yKeyboardMonitor grabs any key the repeat
timer won't trigger for that key, resulting in missing repeat
events.

To avoid this process KeyboardRepeat first

M  +13   -0    autotests/integration/a11ykeyboardmonitor_test.cpp
M  +4    -3    src/keyboard_input.cpp
M  +2    -0    src/keyboard_input.h
M  +5    -6    src/keyboard_repeat.cpp
M  +3    -3    src/keyboard_repeat.h

https://invent.kde.org/plasma/kwin/-/commit/60bb46893553ab1e65a4e4c6e4b83efe78908227
Comment 3 Nicolas Fella 2026-04-24 12:15:12 UTC
Git commit 451c12d539052c950a839697e1eae0c57c0cabb1 by Nicolas Fella.
Committed on 24/04/2026 at 11:49.
Pushed by nicolasfella into branch 'Plasma/6.6'.

input: Process key repeat before A11yKeyboardMonitor

Currently we process A11yKeyboardMonitor before any of the
input filters/spies.

This means that when A11yKeyboardMonitor grabs any key the repeat
timer won't trigger for that key, resulting in missing repeat
events.

To avoid this process KeyboardRepeat first


(cherry picked from commit 60bb46893553ab1e65a4e4c6e4b83efe78908227)

Co-authored-by: Nicolas Fella <nicolas.fella@gmx.de>

M  +13   -0    autotests/integration/a11ykeyboardmonitor_test.cpp
M  +4    -3    src/keyboard_input.cpp
M  +2    -0    src/keyboard_input.h
M  +5    -6    src/keyboard_repeat.cpp
M  +3    -3    src/keyboard_repeat.h

https://invent.kde.org/plasma/kwin/-/commit/451c12d539052c950a839697e1eae0c57c0cabb1