Симулировать щелчки мыши на Python

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

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

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

Спасибо за помощь!

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

9 ответов

Решение

python-uinput очень прост в использовании.

http://tjjr.fi/software/python-uinput/

Вот пример https://github.com/tuomasjjrasanen/python-uinput/blob/master/examples/mouse.py

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

  1. apt-get install python-pip

  2. 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 левая кнопка:

m.click(x,y,1)

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

Пакет evdev обеспечивает привязки к частям подсистемы обработки ввода в Linux. Также случается включить питонический интерфейс в 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()

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

Пример мой...

import pyautogui

pyautogui.FAILSAFE = False

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

Вы можете установить модуль автоматизации 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/

Откройте свой терминал и перейдите на CD / USR / Share/ Pyshared/ Twisted/ протоколы / мышей
пусть это __init__.pymouseman.py скрипт Python будет работать для вас, проверьте их.

Вы можете попробовать интерфейс программы XTE из скрипта Python.

Вы можете найти это полезным:

http://www.eventghost.org/

Удачи!

Я не видел упомянутое, так что здесь идет - есть также python-dogtail; увидеть:

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

Другие вопросы по тегам