gpt4 book ai didi

autohotkey - Autohotkey 是否有 'test my script' 功能?

转载 作者:行者123 更新时间:2023-12-04 18:10:09 26 4
gpt4 key购买 nike

我问了一个关于我用于 emacs(在 Cygwin 中)重新映射 Ctrl 和 Alt 键的 Autohotkey 脚本的问题。这是问题:https://stackoverflow.com/q/15899963/1243435 .

我一直在测试我的脚本的一种方法是打开 emacs 并使用 C-h k显示键序列文档的功能。它可以让我确认 Autohotkey 是否符合我的预期。

然而,似乎有一些复杂性,例如可能是 Cygwin 终端不允许序列 C-M-SPC '打通'到 emacs,所以 emacs 实际上只接收 C-SPC反而。

因此,我的问题是:Autohotkey 是否有自己的测试工具,当您按下键盘上的几个组合键时,它会向您显示 Autohotkey 接收和发送的内容?如果是,我将能够确认我的脚本是否正常工作,然后确定是否是其他问题导致我在将关键序列通过 emacs 时遇到问题。

根据 Armin 建议的答案进行更新

根据 Armin 的建议,以下是我在执行以下操作后在 AHK View 屏幕中看到的内容:

  • 在 Cygwin 窗口中单击鼠标以激活它(我已经在其中运行了 emacs),
  • 按 LeftAlt+h 然后按 k 我知道 AHK 将转换为 C-h k ,这是emacs中的“告诉我下一个键盘序列是什么意思”,
  • 在 emacs 帮助提示下按 Left Win+Left Alt+SPACE,
  • 看到 emacs 向我展示了 C-M-@ 的文档(顺便说一下,它也绑定(bind)到键序列 C-M-SPC),
  • 在 AHK View 窗口中单击鼠标返回并按 F5 刷新。

  • 这是 AHK 窗口中输出的相关部分(以缩短较长的行为模以在此处停止自动换行):
    VK  SC  Type    Up/Dn   Elapsed Key     Window
    ----------------------------------------------------------
    A4 038 h d 4.18 LAlt /cygdrive/c/...
    A4 038 i u 0.00 LAlt
    A2 01D i d 0.00 LControl
    48 023 d 0.09 H
    48 023 u 0.09 H
    A4 038 h u 0.05 LAlt
    A2 01D i u 0.00 LControl
    4B 025 d 1.22 K
    4B 025 u 0.06 K
    A4 038 h d 1.12 LAlt
    A4 038 i u 0.00 LAlt
    A2 01D i d 0.00 LControl
    5B 15B h d 0.02 LWin
    A4 038 i d 0.00 LAlt
    20 039 d 0.19 Space
    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 ...

    它显示了很多正在发生的事情。

    我的理解是,这证明 AHK 正确地将我的 Left Alt+Left Win+SPACE 转换为 C-M-SPC .

    下面解释一下为什么我认为证明已经完成。

    这是我按下 LAlt,它被转换为 LCtrl 的向下:
    A4  038 h   d   4.18    LAlt            /cygdrive/c/...
    A4 038 i u 0.00 LAlt
    A2 01D i d 0.00 LControl

    (但我不确定 u 中的 LAlt 是什么——AHK 解释说'i=Ignored,因为它是由AHK 脚本生成的')。

    接下来是我按下并释放 h:
    48  023     d   0.09    H               
    48 023 u 0.09 H

    所以此时emacs已收到 C-h .

    接下来我释放 LAlt,然后按下并释放 k。
    A4  038 h   u   0.05    LAlt            
    A2 01D i u 0.00 LControl
    4B 025 d 1.22 K
    4B 025 u 0.06 K

    Emacs 现在进入“描述键序列”的帮助提示。

    然后我接下来按下 LAlt
    我们看到 AHK 发送 d LCtrl 的信号(在第二行还有 u 的“忽略” LAlt,这是我没想到的),然后我按下 LWin,AHK 发送一个 dLAlt然后我按下空间:
    A4  038 h   d   1.12    LAlt            
    A4 038 i u 0.00 LAlt
    A2 01D i d 0.00 LControl
    5B 15B h d 0.02 LWin
    A4 038 i d 0.00 LAlt
    20 039 d 0.19 Space

    最后是我释放所有这些 LAlt+LWin+SPACE 的序列,我们看到 AHK 发送 u Space 的信号和 LAltLCtrl :
    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 View 窗口中单击鼠标激活它后刷新数据时:
    74  03F     d   1.90    F5                  C:\...\AutoHotkey.ahk ...

    这似乎证明了我的 AHK 脚本已经达到了我的预期。

    唯一剩下的问题是那个神秘的 uLAlt出现了两次。

    有任何想法吗?

    最佳答案

    您可以尝试使用 Key History window

  • 运行你的热键脚本
  • 右键单击托盘图标并选择 打开
  • 点击查看 菜单并选择 关键历史和脚本信息 .

  • Key History screen

    关于autohotkey - Autohotkey 是否有 'test my script' 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15921232/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com