1
0
mirror of https://github.com/Ylianst/MeshAgent synced 2025-12-17 16:53:13 +00:00

Fixed remote mouse cursor rendering for Windows MultiDisplay

This commit is contained in:
Bryan Roe
2020-02-27 13:52:56 -08:00
parent 164b24a925
commit b3e5bb0025

View File

@@ -912,12 +912,25 @@ DWORD WINAPI kvm_server_mainloop_ex(LPVOID parm)
while ((tmoBuffer = ILibQueue_DeQueue(gPendingPackets)) != NULL) while ((tmoBuffer = ILibQueue_DeQueue(gPendingPackets)) != NULL)
{ {
if (ntohs(((unsigned short*)tmoBuffer)[0]) == MNG_KVM_MOUSE_MOVE) if (ntohs(((unsigned short*)tmoBuffer)[0]) == MNG_KVM_MOUSE_MOVE)
{
if (SCREEN_SEL_TARGET == 0)
{ {
mouseMove[0] = 1; mouseMove[0] = 1;
mouseMove[1] = ((long*)tmoBuffer)[1] - VSCREEN_X; mouseMove[1] = ((long*)tmoBuffer)[1] - VSCREEN_X;
mouseMove[2] = ((long*)tmoBuffer)[2] - VSCREEN_Y; mouseMove[2] = ((long*)tmoBuffer)[2] - VSCREEN_Y;
} }
else else
{
if (((long*)tmoBuffer)[1] >= SCREEN_X && ((long*)tmoBuffer)[1] <= (SCREEN_X + SCREEN_WIDTH) &&
((long*)tmoBuffer)[2] >= SCREEN_Y && ((long*)tmoBuffer)[2] <= (SCREEN_Y + SCREEN_HEIGHT))
{
mouseMove[0] = 1;
mouseMove[1] = ((long*)tmoBuffer)[1] - SCREEN_X;
mouseMove[2] = ((long*)tmoBuffer)[2] - SCREEN_Y;
}
}
}
else
{ {
writeHandler(tmoBuffer, (int)ILibMemory_Size(tmoBuffer), reserved); writeHandler(tmoBuffer, (int)ILibMemory_Size(tmoBuffer), reserved);
} }