Check for ctrl when navigating to handle AltGr (#1054)

This commit is contained in:
Eric Wong 2020-03-10 12:45:36 -07:00 committed by GitHub
parent 4f8db42855
commit d11873caf6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -642,6 +642,13 @@ void KeyboardShortcutManager::OnAcceleratorKeyActivated(CoreDispatcher ^, Accele
return; return;
} }
// Ctrl is pressed in addition to alt, this means Alt Gr is intended. do not navigate.
if ((static_cast<short>(Window::Current->CoreWindow->GetKeyState(VirtualKey::Control)) & static_cast<short>(CoreVirtualKeyStates::Down))
== static_cast<short>(CoreVirtualKeyStates::Down))
{
return;
}
const auto& lookupMap = GetCurrentKeyDictionary(static_cast<MyVirtualKey>(key), altPressed); const auto& lookupMap = GetCurrentKeyDictionary(static_cast<MyVirtualKey>(key), altPressed);
auto listItems = lookupMap.equal_range(static_cast<MyVirtualKey>(key)); auto listItems = lookupMap.equal_range(static_cast<MyVirtualKey>(key));
for (auto listIterator = listItems.first; listIterator != listItems.second; ++listIterator) for (auto listIterator = listItems.first; listIterator != listItems.second; ++listIterator)