40

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

Aを押したときにpython経由で左/右クリックしたいのですが、検索に行ったとき、思いついたのはtkinterだけでしたか?

だから私の質問は、デスクトップでPythonの左/右クリックを行うために何を呼び出すか、可能であればスニペットを提供することです?

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

注: これが Linux 用であることを忘れていたと思います。

4

8 に答える 8

32

PyUserInputとマージされたPyMouseを使用できます。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

使用するマウス ボタンを指定することもできます。左ボタンの例:

m.click(x,y,1)

Linux では Xlib が必要です。

于 2013-04-13T23:25:39.303 に答える
17

python-uinput はとても使いやすいです。

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

ここに例があります https://github.com/tuomasjjrasanen/python-uinput/blob/master/examples/mouse.py

于 2010-08-26T06:17:11.360 に答える
4

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

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()
于 2012-08-23T17:24:17.523 に答える
3

PyAutoGui は見事に動作します..Al Sweigart に感謝します...

私の例では...

import pyautogui

pyautogui.FAILSAFE = False

for x in range(555, 899):
    pyautogui.moveTo(x, x)
于 2015-05-09T05:44:26.340 に答える
2

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

于 2010-08-25T19:25:49.200 に答える
2

ターミナルを開き、cd /usr/share/pyshared/twisted/protocols/mice
この__init__.py mouseman.pypython スクリプトが機能する可能性があります。チェックしてください。

于 2012-03-06T12:19:06.360 に答える
1

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/にあります。

于 2015-04-30T00:20:31.617 に答える
-1

私はこれが言及されているのを見なかったので、ここに行きます-そこにもありpython-dogtailます; 見る:

Gnomeデスクトップで「支援技術を有効にする」必要がありますが、原則として、アプリケーションのGUIボタンの名前などを取得し、それらの仮想クリックを許可できます(x / y座標ではなく)。

于 2013-10-18T01:54:57.120 に答える