mirror of
https://github.com/gnif/LookingGlass.git
synced 2025-04-26 08:36:28 +00:00
[c-host] mousehook: ignore repeated hook events
This commit is contained in:
parent
687eddcc63
commit
b4cf8f76c8
@ -29,6 +29,7 @@ struct mouseHook
|
|||||||
bool installed;
|
bool installed;
|
||||||
HHOOK hook;
|
HHOOK hook;
|
||||||
MouseHookFn callback;
|
MouseHookFn callback;
|
||||||
|
int x, y;
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct mouseHook mouseHook = { 0 };
|
static struct mouseHook mouseHook = { 0 };
|
||||||
@ -92,7 +93,12 @@ static LRESULT WINAPI mouseHook_hook(int nCode, WPARAM wParam, LPARAM lParam)
|
|||||||
if (nCode == HC_ACTION && wParam == WM_MOUSEMOVE)
|
if (nCode == HC_ACTION && wParam == WM_MOUSEMOVE)
|
||||||
{
|
{
|
||||||
MSLLHOOKSTRUCT *msg = (MSLLHOOKSTRUCT *)lParam;
|
MSLLHOOKSTRUCT *msg = (MSLLHOOKSTRUCT *)lParam;
|
||||||
mouseHook.callback(msg->pt.x, msg->pt.y);
|
if (mouseHook.x != msg->pt.x || mouseHook.y != msg->pt.y)
|
||||||
|
{
|
||||||
|
mouseHook.x = msg->pt.x;
|
||||||
|
mouseHook.y = msg->pt.y;
|
||||||
|
mouseHook.callback(msg->pt.x, msg->pt.y);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return CallNextHookEx(mouseHook.hook, nCode, wParam, lParam);
|
return CallNextHookEx(mouseHook.hook, nCode, wParam, lParam);
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user