[QuickAccent]Disable trigger if letter is not longer pushed (#21747)

* disable trigger if letter is not longer pushed

* remove space

* double negative

* move condition in a better palce
This commit is contained in:
damienleroy
2022-11-16 12:17:56 +01:00
committed by GitHub
parent 8a7e07d264
commit 78ca0d5846

View File

@@ -156,8 +156,10 @@ namespace winrt::PowerToys::PowerAccentKeyboardService::implementation
if (std::find(std::begin(triggers), end(triggers), static_cast<TriggerKey>(info.vkCode)) != end(triggers)) if (std::find(std::begin(triggers), end(triggers), static_cast<TriggerKey>(info.vkCode)) != end(triggers))
{ {
triggerPressed = info.vkCode; triggerPressed = info.vkCode;
const bool isLetterReleased = (GetAsyncKeyState((int)letterPressed) & 0x8000) == 0;
if ((triggerPressed == VK_SPACE && m_settings.activationKey == PowerAccentActivationKey::LeftRightArrow) || if (isLetterReleased ||
(triggerPressed == VK_SPACE && m_settings.activationKey == PowerAccentActivationKey::LeftRightArrow) ||
((triggerPressed == VK_LEFT || triggerPressed == VK_RIGHT) && m_settings.activationKey == PowerAccentActivationKey::Space)) ((triggerPressed == VK_LEFT || triggerPressed == VK_RIGHT) && m_settings.activationKey == PowerAccentActivationKey::Space))
{ {
triggerPressed = 0; triggerPressed = 0;