文本(来自文件)到正在运行的程序

文本(来自文件)到正在运行的程序

我的手患有退行性骨病,希望制作 YouTube 视频,使其看起来像是在 Sublime 或 Kate (KDE) 等文本编辑器中打字。

我怎样才能做一个文本编辑器在运行时通过 stdin 接收输入的文本文件(打字效果)-也许使用套接字、管道、进程 ID 等?

谢谢

答案1

使用基于终端的文本编辑器,例如 , vi, jed, joe(或vim//尽管它们也有 GUI 版本),您可以使用, 's ,或 之类的东西来模拟输入(或重放捕获的会话)。emacsxemacsexpectzshzptyscreentmuxscriptreplayscript

对于 X11 文本编辑器(尽管也适用于在 X11 终端仿真器中运行的终端编辑器),您可以使用xdotoolxte(来自xautomation)来模拟按键和释放事件。

xdotool具有keydown,keyup子命令,用于将相应的 X11 事件发送到窗口,或key按顺序组合两者,并type发送按键+释放事件序列以生成一些文本。

xdotool type --delay 300 $'test\n'

模拟testEnter按键按下+释放,中间间隔 300 毫秒。

使用xte,您可以通过以下方式实现相同的目的:

xte << 'EOF'
key t
usleep 300000
key e
usleep 300000
key s
usleep 300000
key t
usleep 300000
key Return
EOF

有关详细信息,请参阅各自的手册页。

相关内容