我想在游戏中将三个命令的Ctrl改为空格键但不是因为我无法使用空间进行通信。正常命令是Ctrl + q,Ctrl + w,Ctrl + e,Ctrl + r和Control + RButton(右键)。现在我使用Space :: Ctrl,但是我尝试了不同的解决方案,没有结果。
[EDIT /]
@MCL好的。我查看了您发布的论坛帖子,并尝试了以下代码,其中sorta有效。它按照我想要的方式发送了密钥,但是每个快捷方式都触发了它后面的所有快捷方式。例如,空格+ e触发空格+ e,空格+ r和空格。
此外,Spacebar仍然无效。我稍后添加了Space :: Space,我只能通过使用Space +(q,w,e或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
[/编辑]
答案 0 :(得分:0)
找到它。我需要添加退货。
#NoEnv
SendMode Input
#InstallKeybdHook
#UseHook
#IfWinActive ahk_class RiotWindowClass
Space & q::
Send {Ctrl down}
Sleep 30
Send {q down}
Sleep 30
Send {q up}
Sleep 30
Send {Ctrl up}
return
Space & w::
Send {Ctrl down}
Sleep 30
Send {w down}
Sleep 30
Send {w up}
Sleep 30
Send {Ctrl up}
return
Space & e::
Send {Ctrl down}
Sleep 30
Send {e down}
Sleep 30
Send {e up}
Sleep 30
Send {Ctrl up}
return
Space & r::
Send {Ctrl down}
Sleep 30
Send {r down}
Sleep 30
Send {r up}
Sleep 30
Send {Ctrl up}
return
Space & RButton::
Send {Ctrl down}
Sleep 30
Send {RButton down}
Sleep 30
Send {RButton up}
Sleep 30
Send {Ctrl up}
return
Space::
Send {Space}
return
#IfWinActive
答案 1 :(得分:0)
尝试使用SendMode Play
代替SendMode Input
。
SendPlay's biggest advantage is its ability to "play back"
keystrokes and mouse clicks in a broader variety
of games than the other modes.
-From the documentation for SendPlay。
要进一步了解发送模式设置,权衡和功能,请查看the documentation for SendMode。
SetKeyDelay
SendMode Input
不会受到SetKeyDelay
的影响:
Note: SendInput ignores SetKeyDelay
because the operating system does not support
a delay in this mode.
-From the documentation for SendInput
使用Custom Combinations (docs)
时要注意的一件事(即,将非修饰键用于热键组合)
当您定义第一个Space & otherkey::
时,Space
键将成为“前缀键”,这意味着它将失去其本机功能。这需要您在示例中定义的最终热键:
Space::
Send {Space}
return
请注意:发布Space
时,此热键(将功能恢复为前缀键)触发。如果在Space down
和Space up
之间按下任何其他键,则不会触发。
您的脚本可以在Notepad ++中正常工作(用MsgBox
替换发送行以进行调试)。
因此,游戏可能会捡起AHK的已发送空格键。
尝试通过编写一个简单的脚本来尝试调试,该脚本除了使用不同的Space
将SendMode
发送到游戏外没有其他作用。