@speedy13337

Как управлять мышью в играх через Python?

Во общем, пишу фарм бота для игры.Перепробовал кучу библиотек, и единственный способ хоть как то управлять мышью, через эту функцию:
def mouse_move_relative(dx, dy):
win32api.mouse_event(win32con.MOUSEEVENTF_MOVE, int(dx), int(dy), 0, 0)
Но проблема в том что, что если к примеру я ввожу х = 100, у = 100,то курсор сдвигается на 156 пикселей.
Как это пофиксить?
  • Вопрос задан
  • 371 просмотр
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
Ну я вижу целую пачку проблем с mouse_event().
Note This function has been superseded. Use SendInput instead.

Она устарела.
Absolute data is specified as the mouse's actual x-coordinate; relative data is specified as the number of mickeys moved. A mickey is the amount that a mouse has to move for it to report that it has moved.

При относительном движении координаты не в пикселях, а в каких-то других единицах.
Relative mouse motion is subject to the settings for mouse speed and acceleration level. An end user sets these values using the Mouse application in Control Panel. An application obtains and sets these values with the SystemParametersInfo function.

Результат зависит от настроек чувствительности и ускорения курсора.

Так что разбирайся с SendInput(). Там нужно использовать структуру данных, что посложнее, но зато координаты в пикселях.
Ответ написан
Комментировать
Проверьте коэффициент масштабирования в настройке рабочего стола винды. Вероятно там больше 100% и это нужно учитывать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы