AutoHotkey 等价物

Mee*_*org 59 scripting keyboard

AutoHotkey 是否有等效的产品/方法?

对于那些不知道的人,它是一款允许您对鼠标移动和键盘进行编程的产品。这使我可以“宏”程序上的某些功能,而不必手动执行。在过去,他们习惯称他们为键盘填充器。但这只是解决方案的一半,因为我还需要一个“鼠标移动”填充器。

有这样的野兽吗?

Gil*_*il' 36

有AutoHotkey的向Linux端口称为IronAHK并呼吁类似的工具自动密钥。我也没用过,不知道效果如何。

除了这些程序之外,您不会找到完全相同类型的自动化工具。Unix 系统上的基本用户自动化工具是 shell。外壳是结合其他工具的粘合剂:它可以启动外部程序并控制它们如何交换数据。shell 本身不包含任何操作 GUI 概念的东西,比如窗口和鼠标指针¹。你所做的是在 shell 脚本中调用专门的工具,特别是xdotool来操作窗口,并注入击键鼠标事件

例如下面的脚本在Myapp的窗口中点击位置(40,20)。

#!/bin/sh
xdotool search --class Myapp \
        mousemove --window %1 40 20 \
        click 1
Run Code Online (Sandbox Code Playgroud)

¹除了dtksh,但我从未见过它的 Linux 端口。

  • AFAIK,IronAHK 从未完全实施并已被放弃。 (2认同)

Joe*_*Joe 5

有几个项目可以解决这个问题。两个最活跃的 AFAIK 是 sikuliAutoKey(我帮助支持的项目)。

我没有使用过 sikuli,但它似乎是基于在屏幕上查找模式并基于它们触发操作。

AutoKey 允许用户定义触发短语和扩展短语的热键(类似于非常强大的自动更正功能)或运行仅受用户编程技能限制的 Python3 编写的脚本。它提供了一个用于键盘和鼠标事件生成的 API。它还与 Xautomation 集成,允许您在屏幕上找到一个小图像并将鼠标光标移动到它。

我多年来一直在使用 AutoKey 并在我们的列表中支持它。这就像许多生产力工具:没有它你也能过得去,但是一旦你开始使用它,你会想知道没有它你会怎样。

一些细节:

AutoKey 不适用于 AutoHotKey 定义和脚本。它们将不得不被重写。

我确实写了一个概念证明 bash 脚本(可根据要求提供),它将 AutoHotKey 短语翻译成 AutoKey 短语,但这只是一个起点,忽略了 AutoHotKey 的大部分选项。

由于 AutoKey 脚本是用 Python3 编写的,因此也可以从脚本中调用诸如 xdotool 和 wmctrl 之类的工具来提供附加功能,但这通常不是必需的。尽管 AutoKey 脚本是用 Python 编写的,但可以通过非常有限的 Python 知识完成很多工作。大多数情况下,您不需要成为流利的 Python 程序员。

如果您使用基于 Debian 的发行版,请不要安装您的发行版提供的 AutoKey 版本。他们的 AutoKey 包没有维护,而且很旧。从我们这里获取最新版本。编辑:这在 2020 年的 Debian 测试和衍生产品中得到纠正。他们现在提供最新版本。