Always use a VK in MapVirtualKeyW(..., MAPVK_VK_TO_VSC) (#3199)
Fixes #2873.
This commit is contained in:
parent
a02a5d9986
commit
9e5792ba51
|
@ -176,7 +176,7 @@ class ClipboardTests
|
|||
|
||||
const short keyState = pInputServices->VkKeyScanW(wch);
|
||||
VERIFY_ARE_NOT_EQUAL(-1, keyState);
|
||||
const WORD virtualScanCode = static_cast<WORD>(pInputServices->MapVirtualKeyW(wch, MAPVK_VK_TO_VSC));
|
||||
const WORD virtualScanCode = static_cast<WORD>(pInputServices->MapVirtualKeyW(LOBYTE(keyState), MAPVK_VK_TO_VSC));
|
||||
|
||||
VERIFY_ARE_EQUAL(wch, keyEvent->GetCharData());
|
||||
VERIFY_ARE_EQUAL(isKeyDown, keyEvent->IsKeyDown());
|
||||
|
@ -217,7 +217,7 @@ class ClipboardTests
|
|||
const short keyScanError = -1;
|
||||
const short keyState = pInputServices->VkKeyScanW(wch);
|
||||
VERIFY_ARE_NOT_EQUAL(keyScanError, keyState);
|
||||
const WORD virtualScanCode = static_cast<WORD>(pInputServices->MapVirtualKeyW(wch, MAPVK_VK_TO_VSC));
|
||||
const WORD virtualScanCode = static_cast<WORD>(pInputServices->MapVirtualKeyW(LOBYTE(keyState), MAPVK_VK_TO_VSC));
|
||||
|
||||
if (std::isupper(wch))
|
||||
{
|
||||
|
@ -232,8 +232,8 @@ class ClipboardTests
|
|||
events.pop_front();
|
||||
|
||||
const short keyState2 = pInputServices->VkKeyScanW(wch);
|
||||
VERIFY_ARE_NOT_EQUAL(keyScanError, keyState);
|
||||
const WORD virtualScanCode2 = static_cast<WORD>(pInputServices->MapVirtualKeyW(wch, MAPVK_VK_TO_VSC));
|
||||
VERIFY_ARE_NOT_EQUAL(keyScanError, keyState2);
|
||||
const WORD virtualScanCode2 = static_cast<WORD>(pInputServices->MapVirtualKeyW(LOBYTE(keyState2), MAPVK_VK_TO_VSC));
|
||||
|
||||
if (isKeyDown)
|
||||
{
|
||||
|
|
|
@ -206,7 +206,8 @@ std::deque<std::unique_ptr<KeyEvent>> SynthesizeKeyboardEvents(const wchar_t wch
|
|||
SHIFT_PRESSED));
|
||||
}
|
||||
|
||||
const WORD virtualScanCode = gsl::narrow<WORD>(MapVirtualKeyW(wch, MAPVK_VK_TO_VSC));
|
||||
const auto vk = LOBYTE(keyState);
|
||||
const WORD virtualScanCode = gsl::narrow<WORD>(MapVirtualKeyW(vk, MAPVK_VK_TO_VSC));
|
||||
KeyEvent keyEvent{ true, 1, LOBYTE(keyState), virtualScanCode, wch, 0 };
|
||||
|
||||
// add modifier flags if necessary
|
||||
|
|
Loading…
Reference in a new issue