pynput无法使用大写字母和特殊字符-Mac OS

时间:2018-12-20 01:47:26

标签: python pynput

我正在学习pynput并从事一些项目。 pynput有效,但是在使用大写字母或!@#$%^&**等特殊字符时却无效,但是.,有效。

代码:

 from pynput.keyboard import Key, Controller

 keyboard = Controller()

 phrase = "Hey there, smile :)"
 keyboard.type(phrase)

输出:

aey there, smile aa

如您所见,它没有打印出大写字母或特殊字符。而不是Hey而是aey

a代替大写字母和特殊字符

注意:我已经在Windows平台上测试了该代码,它工作得很好。我以为是Mac的问题。

2 个答案:

答案 0 :(得分:0)

这不是一个完整的答案,但它为您提供了在Mac平台上 可能 使用pynput的步骤。

Mac OS X

由于安全原因,最新版本的Mac OS X限制了对键盘的监视。因此,必须满足以下条件之一:

  • 该进程必须以root用户身份运行。
  • 您的应用程序必须在“启用辅助设备访问权限”下列为白色。请注意,这可能要求您打包应用程序,因为否则必须将整个Python安装列在白名单中。
  • 在Mojave之后的版本中,如果从终端运行脚本,您可能还需要将终端应用程序列入白名单。

请注意,这不适用于监视鼠标或触控板。

Platform limitations for pynput

答案 1 :(得分:0)

相同的问题。在我的Mac上,我是否尝试过root,是否启用了访问权限,等等。 许多字符不正确。连点都显示为q