使用pynput库在Ubuntu上运行Python代码时鼠标输入不会被阻止

问题描述 投票:0回答:1

我想达到程序运行时屏蔽鼠标信号的目的,也就是说我希望通过上面的代码来禁用鼠标。然而,在Ubuntu上执行后,鼠标仍然可以使用。您能否建议我如何修改它以达到预期目的? 尝试.py:


from pynput import mouse

# Define the mouse event handler
def on_click(x, y, button, pressed):
    # In this example, we simply block the action of the mouse button
    return False  # Returning False to indicate blocking the event

# Listen for mouse events
with mouse.Listener(on_click=on_click) as listener:
    # Start listening for mouse events
    listener.join()

# When the program exits, the listener will be automatically closed, and the mouse will resume normal operation

为什么我在 Ubuntu 上运行上述 Python 代码时鼠标仍然可以工作?

希望收到指出的错误或修改代码的建议,并成功使用Python禁用鼠标。

python-3.x linux ubuntu mouseevent pynput
1个回答
0
投票

很简单,只需添加参数suppress即可:

from pynput.mouse import Listener

def on_click(x, y, button, pressed):
    #do stuff here, do not return False or the mouse blocking will stop

with Listener(on_click=on_click, suppress=True) as listener:
    listener.join()

好的,有几点需要注意。您不必从

mouse
导入
pynput
,如果您仅使用侦听器,请使用:
from pynput.mouse import Listener

其次,如果你想让鼠标阻塞继续,你需要保持监听器运行。当侦听器终止时,正常的鼠标功能将恢复。

最后,请注意,添加参数

suppress=True
可以阻止鼠标。这将禁用鼠标,因此请小心这段代码。

© www.soinside.com 2019 - 2024. All rights reserved.