【发布时间】:2013-06-01 17:48:12
【问题描述】:
我想将游戏中三个命令的 Ctrl 更改为空格键,但不是所有命令,因为我无法使用空格进行交流。常规命令是 Ctrl+q、Ctrl+w、Ctrl+e、Ctrl+r 和 Control+RButton(鼠标右键)。现在我正在使用 Space::Ctrl,但是我尝试了不同的解决方案,但没有结果。
[编辑/]
@MCL 好的。我查看了您发布的论坛主题,并尝试了下面的代码,该代码可以正常工作。它以我想要的方式发送键,但是每个快捷方式都会触发它后面的所有快捷方式。例如空格+e 触发空格+e、空格+r 和空格。
另外,空格键仍然不起作用。我后来添加了 Space::Space,我只能使用 Space+(q, w, e or r) 快捷键来获得文本空间。
SendMode Input
SetKeyDelay ,0,30
#IfWinActive ahk_class RiotWindowClass
Space & q::
Send {Ctrl down}
Sleep 30
Send {q down}
Sleep 30
Send {q up}
Sleep 30
Send {Ctrl up}
Space & w::
Send {Ctrl down}
Sleep 30
Send {w down}
Sleep 30
Send {w up}
Sleep 30
Send {Ctrl up}
Space & e::
Send {Ctrl down}
Sleep 30
Send {e down}
Sleep 30
Send {e up}
Sleep 30
Send {Ctrl up}
Space & r::
Send {Ctrl down}
Sleep 30
Send {r down}
Sleep 30
Send {r up}
Sleep 30
Send {Ctrl up}
Space & RButton::
Send {Ctrl down}
Sleep 30
Send {RButton down}
Sleep 30
Send {RButton up}
Sleep 30
Send {Ctrl up}
Space::Space
#IfWinActive
[/编辑]
【问题讨论】:
-
您确定 AHK 会发送您的密钥吗?否则,游戏可能是您的问题,阻止模拟击键(可能是有选择的)。此外,为了保持空间的原始功能,只需将
SPACE::Send, {SPACE}添加到您的代码中。有条不紊地找出问题: 1. AHK 是否注册了您的按键? 2. AHK一般会发你的快捷方式吗? (先在游戏外试试!) 3. 你的窗口是否接收到 AHK 模拟击键? -
感谢 MCL 抽出宝贵时间。 ||我刚才测试了以下内容: Space & q::Send Text - It sent it to Notepad++ || Space & q::Send !q - 我将 Ctrl+q 设置为 Launchy 的快捷方式,它成功打开了它。所以看起来发送命令在游戏中不起作用。但是, Space::Ctrl 有效。我用那个重映射按 Space+q,游戏将其检测为 Ctrl+q。
-
只是一种预感,但请尝试使用以下指令:
#InstallKeybdHook和#UseHook以不同的组合(只需将它们放在脚本的顶部)。另外,查看 AHK 是否注册了您的按键(最好将某些内容写入文件)。 -
顺便说一句:在 AHK 论坛中查看 thread。看来,修改SetKeyDelay就可以搞定了。
-
@MCL 好的它尝试了您发布的线程上的建议并根据我得到的结果编辑了我的问题。
标签: keyboard-shortcuts autohotkey