forked from bartvdbraak/blender
Fix #29233: Windows accessibility feature "sticky keys" for disabled people not working.
This commit is contained in:
parent
42ae315aef
commit
e9be94b82d
@ -438,8 +438,12 @@ GHOST_TKey GHOST_SystemWin32::hardKey(GHOST_IWindow *window, RAWINPUT const& raw
|
|||||||
|
|
||||||
GHOST_ModifierKeys modifiers;
|
GHOST_ModifierKeys modifiers;
|
||||||
system->retrieveModifierKeys(modifiers);
|
system->retrieveModifierKeys(modifiers);
|
||||||
|
|
||||||
*keyDown = !(raw.data.keyboard.Flags & RI_KEY_BREAK);
|
// RI_KEY_BREAK doesn't work for sticky keys release, so we also
|
||||||
|
// check for the up message
|
||||||
|
unsigned int msg = raw.data.keyboard.Message;
|
||||||
|
*keyDown = !(raw.data.keyboard.Flags & RI_KEY_BREAK) && msg != WM_KEYUP && msg != WM_SYSKEYUP;
|
||||||
|
|
||||||
key = this->convertKey(window, raw.data.keyboard.VKey, raw.data.keyboard.MakeCode, (raw.data.keyboard.Flags&(RI_KEY_E1|RI_KEY_E0)));
|
key = this->convertKey(window, raw.data.keyboard.VKey, raw.data.keyboard.MakeCode, (raw.data.keyboard.Flags&(RI_KEY_E1|RI_KEY_E0)));
|
||||||
|
|
||||||
// extra handling of modifier keys: don't send repeats out from GHOST
|
// extra handling of modifier keys: don't send repeats out from GHOST
|
||||||
|
Loading…
Reference in New Issue
Block a user