diff --git a/win32ss/user/ntuser/mouse.c b/win32ss/user/ntuser/mouse.c index df8d7a6cc70..6d410681592 100644 --- a/win32ss/user/ntuser/mouse.c +++ b/win32ss/user/ntuser/mouse.c @@ -227,6 +227,16 @@ UserSendMouseInput(MOUSEINPUT *pmi, BOOL bInjected) UserSetCursorPos(ptCursor.x, ptCursor.y, bInjected, pmi->dwExtraInfo, TRUE); } + if (IS_KEY_DOWN(gafAsyncKeyState, VK_SHIFT)) + pCurInfo->ButtonsDown |= MK_SHIFT; + else + pCurInfo->ButtonsDown &= ~MK_SHIFT; + + if (IS_KEY_DOWN(gafAsyncKeyState, VK_CONTROL)) + pCurInfo->ButtonsDown |= MK_CONTROL; + else + pCurInfo->ButtonsDown &= ~MK_CONTROL; + /* Left button */ if (dwFlags & MOUSEEVENTF_LEFTDOWN) {