|
|
|
@@ -4757,29 +4757,14 @@ JUCE_IMPLEMENT_SINGLETON (HWNDComponentPeer::WindowClassHolder) |
|
|
|
//==============================================================================
|
|
|
|
bool KeyPress::isKeyCurrentlyDown (const int keyCode)
|
|
|
|
{
|
|
|
|
auto k = (SHORT) keyCode;
|
|
|
|
|
|
|
|
if ((keyCode & extendedKeyModifier) == 0)
|
|
|
|
const auto k = [&]
|
|
|
|
{
|
|
|
|
if (k >= (SHORT) 'a' && k <= (SHORT) 'z')
|
|
|
|
k += (SHORT) 'A' - (SHORT) 'a';
|
|
|
|
|
|
|
|
// Only translate if extendedKeyModifier flag is not set
|
|
|
|
const SHORT translatedValues[] = { (SHORT) ',', VK_OEM_COMMA,
|
|
|
|
(SHORT) '+', VK_OEM_PLUS,
|
|
|
|
(SHORT) '-', VK_OEM_MINUS,
|
|
|
|
(SHORT) '.', VK_OEM_PERIOD,
|
|
|
|
(SHORT) ';', VK_OEM_1,
|
|
|
|
(SHORT) ':', VK_OEM_1,
|
|
|
|
(SHORT) '/', VK_OEM_2,
|
|
|
|
(SHORT) '?', VK_OEM_2,
|
|
|
|
(SHORT) '[', VK_OEM_4,
|
|
|
|
(SHORT) ']', VK_OEM_6 };
|
|
|
|
if ((keyCode & extendedKeyModifier) != 0)
|
|
|
|
return keyCode;
|
|
|
|
|
|
|
|
for (int i = 0; i < numElementsInArray (translatedValues); i += 2)
|
|
|
|
if (k == translatedValues[i])
|
|
|
|
k = translatedValues[i + 1];
|
|
|
|
}
|
|
|
|
const auto vk = BYTE (VkKeyScan ((WCHAR) keyCode) & 0xff);
|
|
|
|
return vk != (BYTE) -1 ? vk : keyCode;
|
|
|
|
}();
|
|
|
|
|
|
|
|
return HWNDComponentPeer::isKeyDown (k);
|
|
|
|
}
|
|
|
|
|