我正在使用 autohotkey 将 (hjkl) 设为我的箭头键,并且可以更快地滚动而无需向下/向上翻页,这使得阅读带有大量插图的教科书变得更容易。
问题是,一旦我的“空格键”循环完成,ahk 就会执行所有操作。例如,在下面的代码中,它将向下移动 16 个空格,向上移动 1 个空格。除非我按“z”,否则它不应该向上移动一个空格。
Suspend On
h::Left
j::Down
k::Up
l::Right
space::
Loop,8{
Send {Down}
Send {Down}
}
z::
Send {Up}
+Capslock::
CapsLock::Suspend Off
CapsLock Up::Suspend On
我已经看了一些关于循环的教程,但我看不出我哪里做错了。其余代码都正常工作。
答案1
你需要return
在每行末尾方法或热键。否则,从逻辑上讲,您没有指定某个方法何时结束。请注意,单行方法有一个隐含的return
语句。
我已经清理并修复了你的脚本(我对逗号、大写字母、缩进/空格以及将括号放在自己的行上有严格的要求):
Suspend, On
h::Left
j::Down
k::Up
l::Right
Space::
Loop, 8
{
Send, {Down}
Send, {Down}
}
return
z::
Send, {Up}
return
+CapsLock::
CapsLock::Suspend, Off
CapsLock Up::Suspend, On