右键单击pynput

On right click with pynput

我正在尝试使用 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 变量通过使用 button = mouse.Button.right 但它给了我一个 AttributeError: 'Controller' object has no attribute 'Button' 错误。

如果有人了解 pynput 库或知道什么对此有用,那就太好了。我是 python 的新手,所以任何建设性的批评都会很棒。

我建议您尝试使用鼠标库,因为它更容易。我想你可以只使用一行代码来做同样的事情mouse.is_pressed("right") 如果你想安装那个库,只需在 cmd

中使用 pip install mouse

还要检查变量 'button' 是否等于 'mouse.Button.middle':

from pynput import mouse


def on_click(x, y, button, pressed):
    if not pressed and button == mouse.Button.middle:
        print("Right Click Detected (released)")


with mouse.Listener(on_click=on_click) as listener:
    listener.join()