inp[0].Itype := INPUT_MOUSE;
inp[0].mi.dwFlags := MOUSEEVENTF_MOVE;
inp[0].mi.dx := posx;
inp[0].mi.dy := posy;
либо довольно интересный вариантик это ардуино, реализация по сути такая же, шагами двигаем вместе или отдельно, всё это проверено на многих играх современных, работает как часики)