我目前正在製作我的任天堂Wiimote(實際上有點難過),以便像我的電腦一樣使用鼠標。我設法讓nunchuk的控制桿實際上在屏幕上上下左右移動鼠標!這太令人興奮了。現在我卡住了。模擬Python上的鼠標點擊
我想通過python左鍵/右鍵點擊事物,當我按A時,當我去做搜索,它想出的所有東西都是tkinter?
所以我的問題是,我打電話讓python左鍵/右鍵單擊桌面上,如果可能的話,也許提供一個片段?
謝謝你的幫助!
注意:我想我忘了提及這是針對Linux的。
我目前正在製作我的任天堂Wiimote(實際上有點難過),以便像我的電腦一樣使用鼠標。我設法讓nunchuk的控制桿實際上在屏幕上上下左右移動鼠標!這太令人興奮了。現在我卡住了。模擬Python上的鼠標點擊
我想通過python左鍵/右鍵點擊事物,當我按A時,當我去做搜索,它想出的所有東西都是tkinter?
所以我的問題是,我打電話讓python左鍵/右鍵單擊桌面上,如果可能的話,也許提供一個片段?
謝謝你的幫助!
注意:我想我忘了提及這是針對Linux的。
python-uinput非常易於使用。
http://tjjr.fi/software/python-uinput/
下面是一個例子https://github.com/tuomasjjrasanen/python-uinput/blob/master/examples/mouse.py
任何想法如何做這樣的任務,而無需使用外部庫/工具? – Jewenile 2017-07-22 17:41:52
您可以嘗試從Python腳本接口XTE程序。
打開終端,並轉到CD的/ usr /共享/ pyshared /扭曲/協議/小鼠
可這__init__.py
mouseman.py
python腳本會爲你工作,去看一下。
evdev包在Linux中爲輸入處理子系統的各個部分提供綁定。它也恰好包含了一個用於輸入的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()
您可以使用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。
我沒有看到這個提到,所以在這裏呢 - 也有python-dogtail
;見:
它需要 「啓用輔助技術」,在Gnome桌面 - 但原則上可以得到如應用程序的GUI按鈕名稱,並允許虛擬點擊它們(而不是通過x/y座標)。
您可以安裝的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上。它還可以模擬鍵盤,做鼠標拖動,截圖並對截圖進行簡單的圖像識別。
PyAutoGui作品精湛的..謝謝阿爾Sweigart ...
我的一個例子...
import pyautogui
pyautogui.FAILSAFE = False
for x in range(555, 899):
pyautogui.moveTo(x, x)
這將是OS /視窗系統依賴大概。理想情況下,將會有Python綁定到您的操作系統窗口系統。通常,這些參數與文檔實際寫入的C/C++/C#/ Objective-C調用非常相似。或者,您可能會錯過並擁有實際的python文檔。至少發佈你的操作系統,以便人們可以提供幫助。 – aaronasterling 2010-08-23 06:48:16
也許這個答案是不相關的,但也許你可以檢查Sikuli項目來源。這是jython,但... – joaquin 2010-08-23 07:42:42
看起來像一個不錯的項目..你用什麼來移動鼠標? 你是通過Python還是以其他方式做到這一點?當然,在哪個OS/DE/WM上? 順便說一句,前些時候,我發現了一個Xorg驅動程序,它應該允許將Wiimote用作鼠標(用於ir-pen交互式白板項目),也許它可以完成這項工作。 – redShadow 2010-08-23 11:27:49