Bug 497111

Summary: Refactored unpressModifiers ignores nativeVirtualKey which is required by VNC plugin
Product: [Applications] krdc Reporter: Luke-Jr <luke-jr+kdebugs>
Component: generalAssignee: Urs Wolfer <uwolfer>
Status: RESOLVED FIXED    
Severity: normal CC: ctrlaltca
Priority: NOR    
Version First Reported In: 24.07.80   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 24.12.1
Sentry Crash Report:

Description Luke-Jr 2024-12-06 02:15:15 UTC
9be25539b4932ee641d9c30ca22227665110e737 refactored the release-modifiers code from the VNC plugin into the abstract RemoteView class.

The new version creates a fake key event to release each modifier.

However, this fake key event is missing the "nativeVirtualKey" property, and the VNC plugin acts exclusively on that property.

As a result, Alt-Tab out of a KRDC session leaves the modifiers pressed.
Comment 1 Bug Janitor Service 2024-12-06 08:32:24 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/krdc/-/merge_requests/138
Comment 2 Fabio 2024-12-06 08:34:01 UTC
Hello Luke, can you please confirm if https://invent.kde.org/network/krdc/-/merge_requests/138 fixes the issue for you?
 Thank you
Comment 3 Fabio 2024-12-07 14:29:22 UTC
Git commit bcee020d279392e87a933e3be9e1f8593fe875ea by Fabio Bas.
Committed on 07/12/2024 at 14:29.
Pushed by ctrlaltca into branch 'master'.

Add the nativeVirtualKey value to fake keyrelease events generated to unpress modifiers

They are needed for the vnc backend to properly handle the keys

M  +5    -3    core/remoteview.cpp
M  +6    -1    core/remoteview.h

https://invent.kde.org/network/krdc/-/commit/bcee020d279392e87a933e3be9e1f8593fe875ea
Comment 4 Fabio 2024-12-07 14:33:11 UTC
Git commit e1576b40e0fe36c9eda610c74fc524bbffd2b7d4 by Fabio Bas.
Committed on 07/12/2024 at 14:29.
Pushed by ctrlaltca into branch 'release/24.12'.

Add the nativeVirtualKey value to fake keyrelease events generated to unpress modifiers

They are needed for the vnc backend to properly handle the keys


(cherry picked from commit bcee020d279392e87a933e3be9e1f8593fe875ea)

84a4c377 Add the nativeVirtualKey value to fake keyrelease events generated to unpress modifiers;

Co-authored-by: Fabio Bas <ctrlaltca@gmail.com>

M  +5    -3    core/remoteview.cpp
M  +6    -1    core/remoteview.h

https://invent.kde.org/network/krdc/-/commit/e1576b40e0fe36c9eda610c74fc524bbffd2b7d4
Comment 5 Luke-Jr 2024-12-09 15:21:11 UTC
>Hello Luke, can you please confirm if https://invent.kde.org/network/krdc/-/merge_requests/138 fixes the issue for you?

Seems to work