我尝试了键盘侦听器的所有代码。我遇到了一篇文章,该帖子说Mac会阻止系统来收听键盘按下。我正在使用Python。我还使用pynput作为库。如何让Mac收听我的钥匙按压?它只会听" Shift"," Alt"one_answers"命令"等特殊键。
这不是pynput中的错误,而是OS X的安全功能。您必须运行Python作为根。
sudo python3 app.py
如果您不想继续使用sudo,则永久修复是进入安全性和隐私首选项,并将python添加到"可访问性"选项卡中。
来自文档:
使用pynput.keyboard.listener这样:
from pynput import keyboard def on_press(key): try: print('alphanumeric key {0} pressed'.format( key.char)) except AttributeError: print('special key {0} pressed'.format( key)) def on_release(key): print('{0} released'.format( key)) if key == keyboard.Key.esc: # Stop listener return False # Collect events until released with keyboard.Listener( on_press=on_press, on_release=on_release) as listener: listener.join()
键盘侦听器是螺纹。线程,所有回调都将是 从线程调用。
致电pynput.kekeboard.listener.stop从任何地方开始,提高stopexception 或从回调中返回false以停止听众。
传递给回调的密钥参数是pynput.keyboard.key,for 特殊键,pynput.keyboard.keycode,用于普通字母数字键, 或者只是未知键。