Подтвердить что ты не робот

Моделирование кликов мыши на Python

В настоящее время я делаю свой Nintendo Wiimote (на самом деле грустным) для работы с моим компьютером в качестве мыши. Мне удалось заставить элемент управления nunchuk на самом деле перемещать мышь вверх и вниз, слева и справа на экране! Это было так захватывающе. Теперь я застрял.

Я хочу, чтобы левый/правый щелчок на вещах через python, когда я нажимаю A, Когда я отправился на поиски, все, что у него было, было tkinter?

Итак, мой вопрос: что я могу сделать, чтобы сделать python влево/вправо, щелкнув по рабочему столу, и, если возможно, может быть предоставлен фрагмент?

Благодарим за помощь!

ПРИМЕЧАНИЕ. Я, наверное, забыл упомянуть, что это для Linux.

4b9b3361

Ответ 2

Вы можете использовать PyMouse, который теперь объединен с PyUserInput. Я установил его через pip:

apt-get install python-pip

pip install pymouse

В некоторых случаях он использовал курсор, а в других он имитировал события мыши без курсора.

from pymouse import PyMouse

m = PyMouse()
m.position() #gets mouse current position coordinates
m.move(x,y)
m.click(x,y) #the third argument "1" represents the mouse button
m.press(x,y) #mouse button press
m.release(x,y) #mouse button release

Вы также можете указать, какую кнопку мыши вы хотите использовать. Ex left button:

m.click(x,y,1)

Имейте в виду, что для Linux это требует Xlib.

Ответ 3

Пакет evdev предоставляет привязки к частям подсистемы обработки ввода в Linux. Это также включает в себя интерфейс pythonic для uinput.

Пример отправки относительного события движения и щелчка левой кнопкой мыши с evdev:

from evdev import UInput, ecodes as e

capabilities = {
    e.EV_REL : (e.REL_X, e.REL_Y), 
    e.EV_KEY : (e.BTN_LEFT, e.BTN_RIGHT),
}

with UInput(capabilities) as ui:
    ui.write(e.EV_REL, e.REL_X, 10)
    ui.write(e.EV_REL, e.REL_Y, 10)
    ui.write(e.EV_KEY, e.BTN_LEFT, 1)
    ui.syn()

Ответ 4

PyAutoGui работает превосходно.. Благодаря Al Sweigart...

Пример моего...

import pyautogui

pyautogui.FAILSAFE = False

for x in range(555, 899):
    pyautogui.moveTo(x, x)

Ответ 6

Вы можете попробовать подключить программу XTE из Python script.

Ответ 7

Откройте терминал и перейдите cd /usr/share/pyshared/twisted/protocols/mice
может ли это __init__.py mouseman.py python script работать для вас, проверьте их.

Ответ 8

Вы можете установить модуль автоматизации PyAutoGUI GUI из PyPI (запустите pip install pyautogui), а затем вызовите pyautogui.click(), чтобы щелкнуть по определенным координатам X и Y экрана:

>>> import pyautogui
>>> pyautogui.click(50, 100)
>>> pyautogui.moveTo(200, 200)

PyAutoGUI работает на Windows, Mac и Linux, а также на Python 2 и 3. Он также может эмулировать клавиатуру, перетаскивать мышью, снимать скриншоты и делать простые снимки снимков экрана.

Полные документы находятся на https://pyautogui.readthedocs.org/

Ответ 9

Я не видел этого, так что вот оно - есть python-dogtail; см:

Он требует "Включить вспомогательные технологии" на рабочем столе Gnome, но может в принципе получить, например, имена кнопок GUI приложения и разрешить им виртуальные клики (а не через координаты x/y).