Page MenuHome

Fix T100582: Windows-10 Switching Desktops locks Ctrl Key
AbandonedPublic

Authored by Campbell Barton (campbellbarton) on Aug 25 2022, 2:29 PM.

Details

Summary

Regression in recent fix for T66088 [0]. caused by much older problem
introduced by [1] & [2].

Unlike other platforms, as of [1] GHOST/Win32 was keeping track of the
pressed modifier keys, which were cleared on window activation [2].

Since GHOST/Win32 would clear it's modifier state on window activation
and only changes to modifier state would generate key events, activating
the window and releasing the modifier would not send the release event.

Resolve this by removing the modifier state from GHOST/Win32,
passing modifier press/release events through to Blender
(matching other GHOST back-ends). Instead, use key-repeat detection
to prevent repeated modifier keys from being generated - an alternate
solution to T26446.

[0]: 8bc76bf4b957c51ddc5a13c6305f05c64b218a27
[1]: d6b43fed313b60bb6a269680b3c5622955b8a690
[2]: 6b987910e43ff5f91512a3c361ea3141590d4e45

Diff Detail

Repository
rB Blender
Branch
TEMP-T100582-TEST (branched from master)
Build Status
Buildable 23484
Build 23484: arc lint + arc unit

Event Timeline

Campbell Barton (campbellbarton) requested review of this revision.Aug 25 2022, 2:29 PM
Campbell Barton (campbellbarton) created this revision.

Fix this in GHOST/Win32

Campbell Barton (campbellbarton) retitled this revision from Test to fix T100582 (WIP, submitting for the build-bot) to Fix T100582: Windows-10 Switching Desktops locks Ctrl Key.
Campbell Barton (campbellbarton) edited the summary of this revision. (Show Details)

I'm unable to get the buildbot to build patches (which was why I created this patch), since moved to building locally, closing.