@carlos-zamora, @lhecker, scale of 1-10, how dumb of a fix is this?

This commit is contained in:
Mike Griese 2021-08-04 15:31:21 -05:00
parent b322291fc3
commit 64f5b1ae7d

View file

@ -36,7 +36,8 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation
{
std::size_t operator()(const Control::KeyChord& key) const
{
return ::Microsoft::Terminal::Settings::Model::HashUtils::HashProperty(key.Modifiers(), key.Vkey(), key.ScanCode());
return ::Microsoft::Terminal::Settings::Model::HashUtils::HashProperty(key.Modifiers(),
key.Vkey() == 0 ? MapVirtualKeyW(key.ScanCode(), MAPVK_VSC_TO_VK) : key.Vkey());
}
};
@ -44,7 +45,9 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation
{
bool operator()(const Control::KeyChord& lhs, const Control::KeyChord& rhs) const
{
return lhs.Modifiers() == rhs.Modifiers() && lhs.Vkey() == rhs.Vkey() && lhs.ScanCode() == rhs.ScanCode();
const auto leftVkey = lhs.Vkey() == 0 ? MapVirtualKeyW(lhs.ScanCode(), MAPVK_VSC_TO_VK) : lhs.Vkey();
const auto rightVkey = rhs.Vkey() == 0 ? MapVirtualKeyW(rhs.ScanCode(), MAPVK_VSC_TO_VK) : rhs.Vkey();
return lhs.Modifiers() == rhs.Modifiers() && leftVkey == rightVkey;
}
};