Autohotkey 自动热键是否有';测试我的脚本';特征?
我问了一个关于emacs(在Cygwin中)用于重新映射Ctrl键和Alt键的自动热键脚本的问题。问题是: 我一直在测试我的脚本的一种方法是打开emacs并使用Autohotkey 自动热键是否有';测试我的脚本';特征?,autohotkey,Autohotkey,我问了一个关于emacs(在Cygwin中)用于重新映射Ctrl键和Alt键的自动热键脚本的问题。问题是: 我一直在测试我的脚本的一种方法是打开emacs并使用C-hk特性,它显示了一个键序列的文档。它允许我确认Autohotkey是否正在执行我期望的操作 然而,似乎存在一些复杂情况,例如,可能是Cygwin终端不允许序列C-M-SPC进入emacs,因此emacs实际上只接收C-SPC 因此,我的问题是:“自动热键”是否有自己的测试工具,可以显示当您按键盘上的几个组合键时,自动热键接收和发送的
C-hk
特性,它显示了一个键序列的文档。它允许我确认Autohotkey是否正在执行我期望的操作
然而,似乎存在一些复杂情况,例如,可能是Cygwin终端不允许序列C-M-SPC
进入emacs,因此emacs实际上只接收C-SPC
因此,我的问题是:“自动热键”是否有自己的测试工具,可以显示当您按键盘上的几个组合键时,自动热键接收和发送的内容?如果是的话,我将能够确认我的脚本是否工作正常,然后决定是否是其他问题导致我无法将密钥序列传递到emacs
根据Armin建议的答案更新
根据Armin的建议,以下是我在执行以下操作后在AHK视图屏幕中看到的内容:
C-hk
,这是emacs中的“告诉我下一个键盘序列的含义”C-M-@
的文档(顺便说一下,它也绑定到键序列C-M-SPC
)C-M-SPC
下面是一个解释,为什么我认为证明是这样做的
这里是我按下LAlt down,它被转换成一个向下的LCtrl
:
A4 038 h d 4.18 LAlt /cygdrive/c/...
A4 038 i u 0.00 LAlt
A2 01D i d 0.00 LControl
20 039 u 0.06 Space
5B 15B h u 0.16 LWin
A4 038 i u 0.00 LAlt
A4 038 h u 0.00 LAlt
A2 01D i u 0.01 LControl
(但我不知道<代码> u>代码> LALT在中间——AHK解释“i =忽略,因为它是由AHK脚本生成的。”< /P> 接下来是me按下并释放h:
因此,此时emacs已收到C-h
接下来我释放LAlt,然后按下并释放k
Emacs现在进入“描述键序列”的帮助提示
然后我下一步按下LAlt
我们看到AHK为LCtrl
发送d
信号(第二行LAlt
的u
被忽略,这是我没有预料到的),然后我按下LWin,AHK发送d
的LAlt
,然后我按下空格:
最后是我释放所有LAlt+LWin+空间的序列,我们看到AHK为SPACE
和LAlt
和LCtrl
发送u
信号:
A4 038 h d 4.18 LAlt /cygdrive/c/...
A4 038 i u 0.00 LAlt
A2 01D i d 0.00 LControl
20 039 u 0.06 Space
5B 15B h u 0.16 LWin
A4 038 i u 0.00 LAlt
A4 038 h u 0.00 LAlt
A2 01D i u 0.01 LControl
最后一个是在单击鼠标激活AHK视图窗口后刷新该窗口中的数据时:
74 03F d 1.90 F5 C:\...\AutoHotkey.ahk ...
这似乎证明了我的AHK脚本实现了我的期望
唯一剩下的问题是两次出现的LAlt
的神秘u
有什么想法吗?你可以尝试使用这个窗口
- 运行热键脚本
- 右键单击托盘图标并选择打开
- 单击查看菜单并选择键历史记录和脚本信息
您的问题的标题是“自动热键是否有测试我的脚本功能”-好吧,为了回答这个问题,我建议使用QuickAHK,它就是专门为此设计的!它有一个沙箱和许多其他功能。我一直使用它来测试代码片段(我只是一个普通用户,与程序毫无关联) 这里是指向的链接,因为。 还有一个 如果您进行了大量快速而肮脏的脚本开发或测试,那么 可能会使用一个允许您动态运行脚本的工具。 这些工具包括许多文本编辑器,它们是 自动热键论坛上发布的工具,或您自己编写的工具。QuickAHK是这些工具中的另一个。。。有几点不同:
- 沙箱
- 还原和还原
- 停止脚本
但是,还有一个是最新的和维护的。我使用列表行,然后在关键点暂停 最新的ahk还支持使用调试语句
OutputDebug,Text您可以在[Key history and script info]视图中看到正在接收哪些密钥,但它不显示发送的内容。[最近执行的行]也不是完美的。使用GNU Emacs时遇到了与您相同的问题。涵盖了上的问题和可能的解决方案之一。不再有效。它重定向到论坛帖子。尝试QuickCodeTester-我在上面发布了链接。我建议将其作为一个单独的回复发布。由于您推荐两个不相关的程序,这两个程序应作为单独的回复发布。我看到您建议:;但我不同意你的看法。
20 039 u 0.06 Space
5B 15B h u 0.16 LWin
A4 038 i u 0.00 LAlt
A4 038 h u 0.00 LAlt
A2 01D i u 0.01 LControl
74 03F d 1.90 F5 C:\...\AutoHotkey.ahk ...