Pythonのマウスクリックをシミュレートします
質問
私は現在、任天堂のwiimote(実際にはちょっと悲しい)をマウスとしてコンピューターで作業させる過程にあります。ヌンチュクのスティックコントロールを実際にマウスを上下に動かし、画面上で左右に動かすことができました!これはとてもエキサイティングでした。今、私は立ち往生しています。
Pythonを介してAを押すと右クリックしたいのですが、検索を行いに行ったとき、Tkinterだけでしたか?
だから私の質問は、デスクトップをPythonの左/右クリックを作成するために何と呼んでいますか?それが可能であれば、スニペットを提供するかもしれませんか?
ご協力ありがとうございました!
注:これはLinux用であることを言及するのを忘れていたと思います。
解決
Python-Uinputは非常に使いやすいです。
http://tjjr.fi/software/python-uinput/
これが例です https://github.com/tuomasjjrasanen/python-uinput/blob/master/examples/mouse.py
他のヒント
使用できます 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
使用したいマウスボタンを指定することもできます。左のボタン:
m.click(x,y,1)
LinuxではXlibが必要です。
evdev パッケージは、Linuxの入力処理サブシステムの一部にバインディングを提供します。また、UINPUTへのPythonicインターフェイスも含まれています。
相対的な動きイベントを送信する例とa 左マウスクリック と 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はSuperbを働いています.. Al Sweigartに感謝します...
私の例...
import pyautogui
pyautogui.FAILSAFE = False
for x in range(555, 899):
pyautogui.moveTo(x, x)
インターフェイスを試みることができます XTE Pythonスクリプトのプログラム。
ターミナルとgotoを開きます cd/usr/share/pyshared/twisted/protocols/mice
これができますように __init__.py
mouseman.py
Pythonスクリプトはあなたのために機能します、それらをチェックしてください。
PypiからPyautogui GUIオートメーションモジュールをインストールできます(run 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/
私はこれが言及されていなかったので、ここに行きます - またあります python-dogtail
;見る:
GNOMEデスクトップで「支援技術を有効にする」が必要ですが、原則として、アプリケーションのGUIボタンの名前を取得し、仮想クリックを許可することができます(X/Y座標ではなく)。