4

我正在学习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的错。

4

1 回答 1

0

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

Mac OS X

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

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

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

pynput 的平台限制

于 2019-05-04T16:06:31.153 回答