Pynput:命令行输入

Pynput: input out of command line

我正在尝试使用 pynput 编写一个 python3 脚本,它按下一个键来自动执行我必须执行的重复性任务。代码如下:

import time
from pynput.keyboard import Key, Controller

keyboard = Controller()

keyboard.press(Key.enter)
keyboard.release(Key.enter)
# Press and release space
while True:
    keyboard.press(Key.space)
    keyboard.release(Key.space)
    time.sleep(1)

我的问题是它可以工作,但只能在命令行中使用。我不知道如何使用我必须执行的任务将输入导出到打开 window。我正在使用 OsX 系统。提前谢谢你。

它只适用于控制台,因为击键停留在 python 环境中。要与应用程序交互,您需要使用 OS。使用 os.system() 在 python 中执行此操作。由于您的脚本是来自控制台的 运行,因此您需要先切换到目标应用程序。

模拟 Alt+Tab:

os.system('\nosascript -e \'tell application "System Events" to key code 48 using {command down}\' \n')

您需要在 key-down 和 key-up 命令之间添加延迟,因为 OpenEmu 将无法检测到 key-up 以您的脚本执行的速度。

这个post有更多信息Macbook OpenEmu Python send keystrokes