From f35e3e5e06bbe14ec54be4e5d66585b4cef4a47a Mon Sep 17 00:00:00 2001 From: Jiwoong Yoo Date: Thu, 26 Jan 2017 06:07:44 +0900 Subject: [PATCH] #5578 Virtual key table mapped for inactive IMEs Virtual key table is mapped for all IMEs not just active IME. And this causes the wrong modifier key to be pressed. For example, if you use Korean and Japanese IMEs, pressing the Hangul key makes alt key pressed. So when I press just 'a', client interprets that as 'alt-a'. --- src/lib/platform/MSWindowsKeyState.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/platform/MSWindowsKeyState.cpp b/src/lib/platform/MSWindowsKeyState.cpp index 88ba9f24..4e093bd3 100644 --- a/src/lib/platform/MSWindowsKeyState.cpp +++ b/src/lib/platform/MSWindowsKeyState.cpp @@ -1076,7 +1076,7 @@ MSWindowsKeyState::getKeyMap(synergy::KeyMap& keyMap) } // set virtual key to button table - if (GetKeyboardLayout(0) == m_groups[g]) { + if (activeLayout == m_groups[g]) { for (KeyButton i = 0; i < 512; ++i) { if (m_buttonToVK[i] != 0) { if (m_virtualKeyToButton[m_buttonToVK[i]] == 0) {