我尝试让这个示例代码用于 pynput 工作:
from pynput import keyboard
def on_activate_h():
print('<ctrl>+<alt>+h pressed')
def on_activate_i():
print('<ctrl>+<alt>+i pressed')
with keyboard.GlobalHotKeys({
'<ctrl>+<alt>+h': on_activate_h,
'<ctrl>+<alt>+i': on_activate_i}) as h:
h.join()
但是当我输入热键后,我收到以下错误:
Unhandled exception in listener callback
Traceback (most recent call last):
File "/Users/name/workspace/julian/python-projects/python-keyboard/my-venv/lib/python3.13/site-packages/pynput/_util/__init__.py", line 229, in inner
return f(self, *args, **kwargs)
File "/Users/name/workspace/julian/python-projects/python-keyboard/my-venv/lib/python3.13/site-packages/pynput/_util/darwin.py", line 283, in _handler
self._handle(proxy, event_type, event, refcon)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: '_thread._ThreadHandle' object is not callable
在突然停止之前它起作用了。已经尝试重新安装 python 但没有任何效果。
Python 3.13目前不支持
pynput
。您可以对上述问题添加评论,表示您遇到了同样的问题,但在此之前,请尝试使用较旧的 Python 版本。