我目前正在制作我的任天堂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