我的手患有退行性骨病,希望制作 YouTube 视频,使其看起来像是在 Sublime 或 Kate (KDE) 等文本编辑器中打字。
我怎样才能做一个文本编辑器在运行时通过 stdin 接收输入的文本文件(打字效果)-也许使用套接字、管道、进程 ID 等?
谢谢
答案1
使用基于终端的文本编辑器,例如 , vi
, jed
, joe
(或vim
//尽管它们也有 GUI 版本),您可以使用, 's ,或 之类的东西来模拟输入(或重放捕获的会话)。emacs
xemacs
expect
zsh
zpty
screen
tmux
scriptreplay
script
对于 X11 文本编辑器(尽管也适用于在 X11 终端仿真器中运行的终端编辑器),您可以使用xdotool
或xte
(来自xautomation
)来模拟按键和释放事件。
xdotool
具有keydown
,keyup
子命令,用于将相应的 X11 事件发送到窗口,或key
按顺序组合两者,并type
发送按键+释放事件序列以生成一些文本。
xdotool type --delay 300 $'test\n'
模拟t、e、s、t、Enter按键按下+释放,中间间隔 300 毫秒。
使用xte
,您可以通过以下方式实现相同的目的:
xte << 'EOF'
key t
usleep 300000
key e
usleep 300000
key s
usleep 300000
key t
usleep 300000
key Return
EOF
有关详细信息,请参阅各自的手册页。