it-swarm.com.de

Simulieren Sie Mausklicks auf Python

Ich bin gerade dabei, meine Nintendo Wiimote (eigentlich ein bisschen traurig) so zu gestalten, dass sie mit meinem Computer als Maus funktioniert. Ich habe es geschafft, dass die Nunchuk-Steuerung die Maus tatsächlich auf und ab, links und rechts auf dem Bildschirm bewegt! Das war so aufregend. Jetzt stecke ich fest.

Wenn ich auf A drücke, möchte ich per Python mit der rechten Maustaste auf Dinge klicken. Wenn ich eine Suche durchführte, war alles nur Tkinter?

Meine Frage ist also: Wie rufe ich Python links/rechts auf dem Desktop an, und wenn möglich, einen Ausschnitt bereitstellen?

Danke für deine Hilfe!

HINWEIS: Ich habe vergessen zu erwähnen, dass dies für Linux ist.

34
dbdii407
16
Epeli

Sie können PyMouse verwenden, das jetzt mit PyUserInput zusammengeführt wurde. Ich habe es über pip installiert:

  1. apt-get install python-pip

  2. pip install pymouse

In einigen Fällen benutzte es den Cursor und in anderen simulierte es Mausereignisse ohne den Cursor.

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

Sie können auch angeben, welche Maustaste Sie verwenden möchten. Ex linke Taste:

m.click(x,y,1)

Beachten Sie, dass unter Linux Xlib erforderlich ist.

28
Vlad

Das Paket evdev stellt Bindungen für Teile des Subsystems für die Eingabeabwicklung in Linux bereit. Es ist auch möglich, eine Pythonic-Schnittstelle für uinput zu verwenden. 

Beispiel für das Senden eines relativen Bewegungsereignisses und eines linken Mausklicks mit 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
gvalkov

PyAutoGui funktioniert hervorragend .. Dank an Al Sweigart.

Ein Beispiel von mir ...

import pyautogui

pyautogui.FAILSAFE = False

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

Sie können versuchen, aus dem Python-Skript eine Schnittstelle zu XTE program zu erstellen.

2

vielleicht findest du das hilfreich:

http://www.eventghost.org/

Viel Glück!

2
reckoner

Otwórz terminal i przejdź docd /usr/share/pyshared/twisted/protocols/mice
Czy skrypt python __init__.pymouseman.py będzie działał poprawnie, sprawdź je.

2
user1011455

Sie können das PyAutoGUI-GUI-Automationsmodul von PyPI installieren (pip install pyautogui ausführen) und dann die pyautogui.click() aufrufen, um auf bestimmte X- und Y-Koordinaten des Bildschirms zu klicken:

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

PyAutoGUI funktioniert unter Windows, Mac und Linux sowie unter Python 2 und 3. Es kann auch die Tastatur emulieren, Mausbewegungen ausführen, Screenshots erstellen und einfache Bilderkennung der Screenshots durchführen.

Vollständige Dokumente finden Sie unter https://pyautogui.readthedocs.org/

0
Al Sweigart