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.

Reply via email to