我正在使用 Python 模块 Pynput 制作一个可以按下我的侧边按钮的宏。有谁知道 Pynput 中的侧边按钮叫什么?例如:
from pynput.mouse import Button, Controller
mouse = Controller()
mouse.press(Button.SIDEBUTTON)
mouse.release(Button.SIDEBUTTON)
SIDEBUTTON 部分会发生什么?
所以这个问题有点老了,我也有同样的问题。我弄清楚了这些按钮是如何被调用的:
Mouse4 和 Mouse5 的 Button.x1 和 Button.x2。
希望我能帮助你。我用来找到它的脚本就在这里:
from pynput.mouse import Listener
def on_click(x, y, button, pressed):
if pressed:
print(button)
# Collect events until released
with Listener(on_click=on_click) as listener:
listener.join()
鼠标模型上的附加按钮通常表示为“按钮 6”和“按钮 7”等(按钮 4 和 5 是滚动“按钮”)。一些鼠标制造商改为发送键盘代码(如多媒体按钮或其他自定义代码)。
但是,对于 Windows 和 OS X,Pynput 仅支持鼠标左键、右键、中键,因此就 Pynput 而言,您在这些平台上会很不走运。如果您在 Linux(使用 X.org 后端)上,您可以发送和接收更多按钮,从button8
一直到button31
、scroll_up
、scroll_down
、scroll_left
和scroll_right
.
因此,根据您使用的鼠标型号和操作系统,您可能能够为这些按钮获取正确的事件,无论是鼠标按钮还是键盘事件。同时注册一个鼠标和一个键盘监听器,并打印出鼠标点击事件的按钮值,以及键盘按下或释放事件的键,看看你是否可以让你的侧按钮显示出来。
如果不在 Linux 上,如果特定的鼠标按钮作为键盘事件发送,那么您很幸运,可以使用键盘控制器发送相同的事件。如果不是,那么 Pynput 也无法发送此类鼠标按钮事件。
这并不是说你根本不能发送这样的按钮点击,但你必须研究用于 Windows 或 OSX 的控制器的源代码,然后看看底层框架如何接受除了左、右和其他按钮按下中间。
不幸的是,没有这样的功能pynput
,如果你运行这段代码并按下鼠标侧键,你会意识到它不会给你任何输出:
from pynput import mouse
def on_click(x, y, button, pressed):
if pressed:
print ('Mouse clicked {2}'.format(x, y, button))
with mouse.Listener(on_click=on_click) as listener:
listener.join()