web-dev-qa-db-ja.com

Pythonのマウスクリックのシミュレーション

私は現在、私の任天堂Wiimote(実際には金田は悲しい)をコンピューターをマウスとして動作させるようにしています。ヌンチャクのスティックコントロールで、実際にマウスを画面上で上下左右に動かすことができました!これはとてもエキサイティングでした。今私は立ち往生しています。

pythonを押してAを押したとき、検索を行ったときに、tkinterだけが表示されましたか?

私の質問は、デスクトップ上でpython左/右クリックし、可能であればスニペットを提供するために何を呼び出すのですか?

ご協力ありがとうございました!

注:これはLinux向けであることを忘れていたようです。

35
dbdii407
16
Epeli

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が必要です。

29
Vlad

evdev パッケージは、Linuxの入力処理サブシステムの一部へのバインディングを提供します。また、uinputへのPythonインターフェイスが含まれることもあります。

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は素晴らしい動作をします。AlSweigartに感謝します...

私の例...

import pyautogui

pyautogui.FAILSAFE = False

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

インターフェイスを試すことができます [〜#〜] xte [〜#〜] Pythonスクリプトからのプログラム。

2

これは役に立つかもしれません:

http://www.eventghost.org/

幸運を!

2
reckoner

ターミナルを開いてジャンプ cd /usr/share/pyshared/twisted/protocols/mice
この__init__.pymouseman.py pythonスクリプトが動作します。チェックしてください。

2
user1011455

PyPIからPyAutoGUI GUIオートメーションモジュールをインストールし(_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/ にあります

0
Al Sweigart