首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >右击pynput

右击pynput
EN

Stack Overflow用户
提问于 2020-08-01 04:48:35
回答 2查看 2K关注 0票数 0

我试图通过使用pynput的on_click()函数来全局检测右键单击,并在右键单击上运行一个事件。

下面是我当前的代码:

代码语言:javascript
复制
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,但是它给了我一个语法错误并突出显示了".",我也尝试通过使用button = mouse.Button.rightmouse.Button.right传递给button变量,但是它给了我一个AttributeError: 'Controller' object has no attribute 'Button'错误。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-01 09:29:33

我建议您尝试使用鼠标库,因为它要容易得多。我认为,如果您想安装这个库,只需在cmd中使用pip安装鼠标即可,只需使用一行代码mouse.is_pressed("right")就可以完成同样的任务。

票数 0
EN

Stack Overflow用户

发布于 2021-01-03 12:59:16

还请检查变量“按钮”是否等于“mouse.Button.media”:

代码语言:javascript
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63201895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档