我完全是 AHK 新手。我最近才发现通过将 L-click 绑定到键盘键来点击的乐趣。我将其绑定到我的字母“D”键,但是我遇到了一个本应很明显的问题,现在根本无法输入字母“D”。我使用的脚本只是:
D::L按钮
每当我尝试输入“D”时,它只会点击鼠标所在的位置。
有没有办法将 L 单击绑定到我的 D 键,但是不是在输入字段中按“D”时触发(例如 URL 栏,或双击 Google 表格中的单元格时,或按 Enter 在视频游戏中输入时等)?我基本上希望能够在输入字段获得焦点时输入“D”,同时能够在输入字段未获得焦点时使用“D”左键单击(即触发脚本)。
如果有人能提供一些建议,我将不胜感激。谢谢
答案1
答案2
AutoHotKey 无法检测程序中的活动重点元素,因为这对于所有应用程序来说非常困难,甚至不可能。此外,它完全超出了 AHK 项目的范围。
您有两个选择;您可以检测活动窗口,然后可能只有您的热键,或者通常这就是为什么热键要求您按住前缀键(例如 ctrl、左 alt 或右 alt)的原因,因为这些键与现有的键使用方式不冲突。
您可以使用以下方法获取活动窗口的标题https://www.autohotkey.com/docs/v1/lib/WinGetActiveTitle.htm
答案3
我认为这不可能。无论你是否处于“打字模式”,键盘都在寻找输入。
似乎有一些方法可以检测某个键是否被快速连续按下: https://www.autohotkey.com/board/topic/103198-fast-way-to-detect-double-key-presses/ 您可以更改脚本来查看是否D快速按两次。
或者您可以更改为D使用一个或多个修饰键,如ctrl、alt、Win或shift。