nvda
723fe074 - More robust keyboard modifier tracking (PR #12610)

Commit
4 years ago
More robust keyboard modifier tracking (PR #12610) Fixes: #12609 # Summary of the issue: NVDA wasn't correctly tracking the state of keyboard modifiers (such as Control, or Insert) in some cases, e.g. when watchdog is recovering. In winInputHook.py def keyboardHook(): if watchdog.isAttemptingRecovery or code!=HC_ACTION: return windll.user32.CallNextHookEx(0,code,wParam,lParam) When watchdog.isAttemptingRecovery is True, this function returned early and didn't process any keyboard events, including events related to keyboard modifiers. When a pressing a modifier while watchdog is recovering, NVDA didn't process this and became out of sync with the keyboard state. # Description of fix: Move the check for isAttemptingRecovery into internal_keyDownEvent after modifier tracking has occurred but before the gesture is executed. Co-authored-by: Reef Turner <reef@nvaccess.org>
Author
Parents
Loading