https://bugs.kde.org/show_bug.cgi?id=519924
Bug ID: 519924
Summary: kwin_wayland sends wl_keyboard::modifiers before
wl_keyboard::key for modifier keys in text panes
Classification: Plasma
Product: kwin
Version First 6.6.4
Reported In:
Platform: Fedora RPMs
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: wayland-generic
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
DESCRIPTION
On Fedora 44 KDE, when the focus is on some kind of text pane (I suspect it is
for panes that handle an input method), kwin_wayland sends the
wl_keyboard::modifiers message before the wl_keyboard::key message when a
modifier key is pressed or released. This contradicts the Wayland spec for
wl_keyboard::key ("If this event produces a change in modifiers, then the
resulting wl_keyboard.modifiers event must be sent after this event." at
https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_keyboard-event-key).
STEPS TO REPRODUCE
1. Run env WAYLAND_DEBUG=client konsole |& grep wl_keyboard
2. Press and release the Ctrl key
OBSERVED RESULT
[1207829.250] {Default Queue} wl_keyboard#30.modifiers(84, 4, 0, 0, 0)
[1207831.525] {Default Queue} wl_keyboard#30.key(86, 43672, 29, 1)
[1207901.697] {Default Queue} wl_keyboard#30.modifiers(90, 0, 0, 0, 0)
[1207901.729] {Default Queue} wl_keyboard#30.key(92, 43672, 29, 0)
EXPECTED RESULT
Something like this (when the right-click menu is raised):
[2316004.194] {Default Queue} wl_keyboard#30.key(1223, 1193410, 29, 1)
[2316004.554] {Default Queue} wl_keyboard#30.modifiers(1226, 4, 0, 0, 0)
[2316076.532] {Default Queue} wl_keyboard#30.key(1227, 1193482, 29, 0)
[2316076.593] {Default Queue} wl_keyboard#30.modifiers(1230, 0, 0, 0, 0)
SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 44
KDE Plasma Version: 6.6.4
KDE Frameworks Version: 6.25.0
Qt Version: 6.10.3
ADDITIONAL INFORMATION
This causes potential confusion in GTK applications because they see a
GDK_KEY_PRESS event for keyval=XKB_KEY_Control_L and state=GDK_CONTROL_MASK
whereas the expected state is 0.
--
You are receiving this mail because:
You are watching all bug changes.