【发布时间】:2020-11-21 21:27:52
【问题描述】:
我正在尝试使用 pynput 的 on_click() 函数全局检测右键单击并在该右键单击上运行事件。
这是我目前的代码:
import pynput
from pynput.mouse import Listener, Button, Controller
mouse = Controller()
def on_click(x, y, button, pressed):
if pressed:
print("Click Detected")
with Listener(on_click=on_click) as listener:
listener.join()
当按下任何鼠标按钮(例如鼠标中键或鼠标侧键)时,此代码将“检测到单击”打印到控制台。我正在尝试让它只在我右键单击时打印。
我尝试传递mouse.Button.right 而不是button,但它给了我一个语法错误并突出显示“。”,我还尝试使用@ 将mouse.Button.right 传递给button 变量987654326@ 但它给了我一个AttributeError: 'Controller' object has no attribute 'Button' 错误。
如果有人了解 pynput 库或知道什么可以为此工作,那就太好了。我是 python 新手,所以任何建设性的批评都会很棒。
【问题讨论】: