• Martin Flöser's avatar
    Workaround xkbcommon behavior concerning consumed modifiers · 421824b6
    Martin Flöser authored
    Summary:
    If a key could be turned into a keysym with a modifier xkbcommon
    considers the modifier as consumed even if not pressed.
    E.g. Alt+F3 considers alt as consumed as there is a keysym gnerated with
    Ctrl+Alt+F3 (vt switching).
    
    This change tries to workaround the problem by ignoring the consumed
    modifiers if there are more modifiers consumed than active. It's
    possible that this will create regressions for other shortcuts - we need
    to test it in the wild. Although this might cause regressions I'm aiming
    for Plasma/5.8 branch with the change. It only affects Wayland and fixes
    quite important shortcuts from window manager perspective (desktop
    switching (ctrl+f1 to ctrl+f4), desktop grid (ctrl+f8), present windows
    (ctrl+f9, ctrl+10), cube (ctrl+f11), user actions (alt+f3), close window
    (alt+f4)). If it causes regressions they need to be fixed as well in the
    Plasma/5.8 branch.
    
    A new API entry point for xkbcommon was proposed, but is not yet merged
    and there is no release with it yet. Once that is available the
    workaround should get removed and replaced by the new API call.
    
    BUG: 368989
    FIXED-IN: 5.8.1
    
    Test Plan: Going to restart session now with the change
    
    Reviewers: #kwin, #plasma_on_wayland
    
    Subscribers: plasma-devel, kwin
    
    Tags: #plasma_on_wayland, #kwin
    
    Differential Revision: https://phabricator.kde.org/D2945
    421824b6
globalshortcuts_test.cpp 6.45 KB