Skip to content
  • Martin Flöser's avatar
    [server] Don't send key release for not pressed keys and no double key press · 9e8f1235
    Martin Flöser authored
    Summary:
    This change makes use of the internal key state in better way. If a
    key is not considered pressed, no key release is sent. This can happen
    for example if the compositor grabs a key press (global shortcut) but not
    the release. The Wayland client cannot do anything with the release as it
    never got the press. Thus it doesn't make sense to send the release.
    
    Similar if a key is already pressed, it doesn't make sense to send
    another press event. This ensures that if the server sends in repeating
    key presses they are filtered out. Key repeat is handled on client side.
    Also if several physical keys send the same key code, pressing them at
    the same time won't send double press/release event.
    
    This change might cause regressions in KWin in case KWin does not handle
    the situation correctly. But that would be a bug in KWin which needs to
    be fixed there. If it causes regressions the bug might have shown in
    other situations as well.
    
    BUG: 366625
    FIXED-IN: 5.27
    
    Reviewers: #plasma_on_wayland, #kwin
    
    Subscribers: plasma-devel, kwin
    
    Tags: #plasma_on_wayland, #kwin
    
    Differential Revision: https://phabricator.kde.org/D2786
    9e8f1235