等同于Autohotkey?


47

是否有与AutoHotkey等效的产品/方法。对于那些不知道的人,它的产品可以让您对鼠标的移动和键盘进行编程。这使我可以“宏化”程序上的某些功能,而不必手动执行。在过去,他们通常称它们为键盘填充器。但这只是解决方案的一半,因为我也需要“鼠标移动”填充器。

有这样的野兽吗?

Answers:


31

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

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

例如,以下脚本单击Myapp窗口中的位置(40,20)。

#!/bin/sh
xdotool search --class Myapp \
        mousemove --window %1 40 20 \
        click 1

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


不错的总结,很可惜该项目已经过期4年了,二进制文件都是404的,不过可以尝试一下xdotool。感谢您抽出宝贵的时间。
Meer Borg 2014年

尝试过xdotool,它就像一个咒语,但是您一定要在开始之前阅读他们的文档
ConstantineK

1
AFAIK,IronAHK从未得到完全实施,因此已被放弃。

2

您可以在Linux中使用xautomation。我在Raspberry Pi显示屏上使用它来发送F5页面刷新和用于登录的“返回”(输入)击键。



1

在Linux上下载Autohotkey。创建一个自动热键文件(example.ahk)。使用wine从Autohotkey文件夹运行Ahk2Exe.exe。将您的example.ahk文件编译为example.exe使用wine运行example.exe


2
这不是一个好选择。目前,通过酒运行的Autohotkey的功能非常有限:appdb.winehq.org/…
banan3'14

1

有几个解决这个问题的项目。最活跃的两个是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软件包是未维护的并且非常旧。从我们那里获取最新版本。


0

...为您的鼠标移动和键盘编程。这使我可以“宏化”程序上的某些功能,而不必手动执行。

Kantu是一个跨平台的 桌面自动化工具,在Ubuntu上运行良好(我尚未在其他版本上对其进行测试)

shell是UNIX系统上的基本用户自动化工具。

是的 但AHK和Kantu允许用户自动完成任务通过模拟鼠标点击和键盘敲击的应用程序。外壳无法做到这一点。我将其用于自动化测试以及一些生产力方面的技巧。

当然,您可以将kantu与python结合使用,也可以直接从shell启动它。


2
吉姆(Jim),如果您与所链接的那些产品有关联,请注意,该网站的帮助中心提供了有关“ 预期行为”的准则,以在回答中公开从属关系。不包含此答案的答案将被删除。谢谢!
杰夫·谢勒

0

只需使用XEV和XMODMAP。比专用程序简单或优于仿冒Windows应用程序。我所有的LINUX东西都使用脚本重新定义键并更改屏幕模式,然后在程序完成并退出后,将所有内容恢复为正常。使用XMODMAP和编写脚本就像制作AHK脚本一样简单,但是额外的好处是不必运行模拟的Windows应用程序。还有人说你不能做到这一点……错。您可以通过Linux shell进行比其他任何操作系统更多的操作,并且可以执行我们正在谈论的所有事情,包括移动窗口以及仍然使用内置的系统友好系统命令!


3
就我所知,这个答案可能是100%正确和准确的。然而,这将是一个  很大,如果它包含了一些例子和/或指令,甚至环节,进一步文档更加有用。
斯科特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.