Merge pull request #1300 from keymanapp/windows-serialization-patch-for-mstsc-and-hyper-v-client

[Windows] Patch serialization code for MSTSC and Hyper-V client
This commit is contained in:
Marc Durdin 2018-11-04 08:39:21 +11:00 committed by GitHub
commit 70fd4906b3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -109,8 +109,10 @@ LRESULT _kmnLowLevelKeyboardProc(
SendDebugMessageFormat(0, sdmAIDefault, 0, "kmnLowLevelKeyboardProc: wparam: %x lparam: %x [vk:%s scan:%x flags:%x extra:%x]", wParam, lParam, Debug_VirtualKey((WORD) hs->vkCode), hs->scanCode, hs->flags, hs->dwExtraInfo); // I4674
if (hs->dwExtraInfo == EXTRAINFO_FLAG_SERIALIZED_USER_KEY_EVENT || hs->scanCode == SCAN_FLAG_KEYMAN_KEY_EVENT || hs->vkCode == VK_PROCESSKEY || hs->vkCode == VK_PACKET) {
if (hs->dwExtraInfo != 0 || hs->scanCode == SCAN_FLAG_KEYMAN_KEY_EVENT || hs->vkCode == VK_PROCESSKEY || hs->vkCode == VK_PACKET) {
// This key event was generated by Keyman, so pass it through
// dwExtraInfo is set to 0x4321DCBA by mstsc which does prefiltering. So we ignore for anything where dwExtraInfo!=0 because it
// probably is not hardware generated and may cause more issues to filter it
return CallNextHookEx(Globals::get_hhookLowLevelKeyboardProc(), nCode, wParam, lParam);
}