53 if (
mi.dx != 0 ||
mi.dy != 0)
86 mi.mouseData |= XBUTTON1;
91 mi.mouseData |= XBUTTON1;
104 mi.mouseData |= XBUTTON2;
109 mi.mouseData |= XBUTTON2;
178 ptCursor =
gpsi->ptCursor;
189 ptCursor.
x += pmi->
dx;
190 ptCursor.
y += pmi->
dy;
254 Msg.wParam &= ~MK_LBUTTON;
272 Msg.wParam &= ~MK_MBUTTON;
290 Msg.wParam &= ~MK_RBUTTON;
298 WARN(
"Invalid flags!\n");
305 Msg.message = WM_XBUTTONDOWN;
323 Msg.message = WM_XBUTTONUP;
328 Msg.wParam &= ~MK_XBUTTON1;
336 Msg.wParam &= ~MK_XBUTTON2;
433 TRACE(
"IntTrackMouseEvent spwndTrack %p pwnd %p\n", pDesk->
spwndTrack, pWnd);
488 TRACE(
"Enter NtUserTrackMouseEvent\n");
536 TRACE(
"Leave NtUserTrackMouseEvent, ret=%i\n", bRet);
550 MOUSEMOVEPOINT Safeppt;
554 TRACE(
"Enter NtUserGetMouseMovePointsEx\n");
556 if ((cbSize !=
sizeof(MOUSEMOVEPOINT)) || (nBufPoints < 0) || (nBufPoints > 64))
562 if (!lpptIn || (!lpptOut && nBufPoints))
588 if (Safeppt.x == 0 && Safeppt.y == 0)
602 if (--iRet < 0) iRet = 63;
609 if (--iRet < 0) iRet = 63;
615 case GMMP_USE_DISPLAY_POINTS:
632 case GMMP_USE_HIGH_RESOLUTION_POINTS:
640 TRACE(
"Leave NtUserGetMouseMovePointsEx, ret=%i\n", iRet);
#define DBG_DEFAULT_CHANNEL(ch)
#define ERROR_INVALID_PARAMETER
static void cleanup(void)
#define EngGetTickCount32()
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
GLint GLint GLint GLint GLint x
#define UserHMGetHandle(obj)
#define EXCEPTION_EXECUTE_HANDLER
VOID FASTCALL co_MsqInsertMouseMessage(MSG *Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook)
#define MOUSE_LEFT_BUTTON_DOWN
#define MOUSE_LEFT_BUTTON_UP
#define MOUSE_MIDDLE_BUTTON_DOWN
#define MOUSE_BUTTON_4_DOWN
#define MOUSE_BUTTON_5_UP
#define MOUSE_MOVE_ABSOLUTE
#define MOUSE_VIRTUAL_DESKTOP
#define MOUSE_BUTTON_5_DOWN
#define MOUSE_BUTTON_4_UP
#define MOUSE_RIGHT_BUTTON_UP
#define MOUSE_MIDDLE_BUTTON_UP
#define MOUSE_RIGHT_BUTTON_DOWN
PVOID NTAPI PsGetCurrentThreadWin32Thread(VOID)
PPROCESSINFO gppiInputProvider
VOID FASTCALL UserLeave(VOID)
VOID FASTCALL UserEnterShared(VOID)
VOID FASTCALL UserEnterExclusive(VOID)
struct _THREADINFO * PTHREADINFO
struct tagTRACKMOUSEEVENT TRACKMOUSEEVENT
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define _SEH2_YIELD(__stmt)
struct _USER_MESSAGE_QUEUE * MessageQueue
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
PWND FASTCALL UserGetWindowObject(HWND hWnd)
VOID FASTCALL SetLastNtError(_In_ NTSTATUS Status)
FORCEINLINE VOID RECTL_vSetRect(_Out_ RECTL *prcl, _In_ LONG left, _In_ LONG top, _In_ LONG right, _In_ LONG bottom)
BOOL UserSetCursorPos(INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook)
PSYSTEM_CURSORINFO IntGetSysCursorInfo(VOID)
BOOL FASTCALL UserPostMessage(HWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam)
LONG NTAPI UserGetSystemMetrics(ULONG Index)
BOOL FASTCALL IntTrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack)
MOUSEMOVEPOINT gMouseHistoryOfMoves[64]
WORD FASTCALL UserGetMouseButtonsState(VOID)
DWORD IntFixMouseInputButtons(DWORD dwFlags)
DWORD APIENTRY NtUserGetMouseMovePointsEx(UINT cbSize, LPMOUSEMOVEPOINT lpptIn, LPMOUSEMOVEPOINT lpptOut, int nBufPoints, DWORD resolution)
BOOL NTAPI UserSendMouseInput(MOUSEINPUT *pmi, BOOL bInjected)
VOID NTAPI UserProcessMouseInput(PMOUSE_INPUT_DATA mid)
BOOL APIENTRY NtUserTrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack)
BOOL FASTCALL IntQueryTrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack)
VOID FASTCALL IntRemoveTrackMouseEvent(PDESKTOP pDesk)
INT gcMouseHistoryOfMoves
VOID CALLBACK SystemTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
BOOL FASTCALL IntKillTimer(PWND Window, UINT_PTR IDEvent, BOOL SystemTimer)
UINT_PTR FASTCALL IntSetTimer(PWND Window, UINT_PTR IDEvent, UINT Elapse, TIMERPROC TimerFunc, INT Type)
#define ID_EVENT_SYSTIMER_MOUSEHOVER
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
#define ERROR_POINT_NOT_FOUND
#define ERROR_INVALID_FLAGS
#define MOUSEEVENTF_ABSOLUTE
#define SM_CYVIRTUALSCREEN
#define MOUSEEVENTF_LEFTUP
#define MOUSEEVENTF_WHEEL
#define MOUSEEVENTF_RIGHTUP
#define MOUSEEVENTF_MIDDLEUP
#define SM_CXVIRTUALSCREEN
#define MOUSEEVENTF_LEFTDOWN
#define MOUSEEVENTF_XDOWN
#define MOUSEEVENTF_VIRTUALDESK
#define MOUSEEVENTF_RIGHTDOWN
#define MOUSEEVENTF_MIDDLEDOWN