“xdotool 类型”的替代方案

“xdotool 类型”的替代方案

有没有替代方案

xdotool type "a string"

如果它不是 X11 应用程序,它会更有用。因为 X11 应用程序似乎更容易受到攻击。

注意:我不会在终端窗口中使用它。所以echo这不是替代方案。echo不打字。它只是在终端中打印一些东西。

答案1

我以前从未听说过 xdotool,但根据它的 gentoo 软件包:

* x11-misc/xdotool
     Homepage:            http://www.semicomplete.com/projects/xdotool/
     Description:         Simulate keyboard input and mouse activity, move and resize windows

这听起来与旧expect的类似,特别是当你不想要 X11 时:

* dev-tcltk/expect
     Homepage:            http://expect.nist.gov/
     Description:         tool for automating interactive applications

编辑:(当然)可以找到有关如何使用expect的示例在 StackOverflow 上。其他的应该可以在expect的文档中找到,也可能在结果中找到这个搜索

维基百科还有一些代码示例。 “打字”是通过send命令完成的,而“阅读”是通过 完成的expect。这联机帮助页还有一些示例可以帮助您入门。

答案2

如果您的桌面环境是 Gnome 或 KDE(不确定这是否适用于其他地方 - 并且不知道 Gnome 3),那么 AutoKey 可能正是您正在寻找的(还有更多!)

AutoKey 可以做很多事情xdotool,但可以让您在 GUI 中配置所有内容。它是一个完整的键盘/鼠标事件脚本系统,包含 Python3 中的短语和脚本。查找信息这里附有安装说明这里

AutoKey 的正常输出在您的系统中显示就像您在键盘上键入一样,因此无需对应用程序进行 API 或其他更改。

在最简单的情况下,您可以使用缩写和(可选)热键来定义短语。当您键入缩写词并后跟触发字符(例如enter或 )tab(或按热键)时,缩写词将替换为短语的文本。有许多附加选项可以精确控制其工作方式。

如果您需要变得更复杂,您可以编写一个 AutoKey 脚本。

AutoKey 脚本是用 Python3 编写的,这意味着它们仅受您的编码能力的限制。他们几乎可以做任何事情(甚至调用xdotool)。

当前版本是0.95。如果您的包管理器有旧版本,那么使用 PPA 或从源代码安装会更好。

相关内容