diff --git a/source/hook.cpp b/source/hook.cpp index c4fdd9f09..c4d451358 100644 --- a/source/hook.cpp +++ b/source/hook.cpp @@ -709,6 +709,10 @@ LRESULT LowLevelCommon(const HHOOK aHook, int aCode, WPARAM wParam, LPARAM lPara //if (!vk && !sc) // return AllowKeyToGoToSystem; + // Fix for v1.1.31.02: This is done before the used_as check to ensure it doesn't get "stuck down" + // when a custom combination hotkey Suspends itself, thereby causing used_as to be reset to false. + this_key.is_down = !aKeyUp; + if (!this_key.used_as_prefix && !this_key.used_as_suffix) return AllowKeyToGoToSystem; @@ -733,7 +737,6 @@ LRESULT LowLevelCommon(const HHOOK aHook, int aCode, WPARAM wParam, LPARAM lPara this_key.hotkey_to_fire_upon_release = HOTKEY_ID_INVALID; } } - this_key.is_down = !aKeyUp; bool modifiers_were_corrected = false; if (aHook == g_KeybdHook)