Optimization 如果按下过快,AHK脚本有时会错过按键组合

Optimization 如果按下过快,AHK脚本有时会错过按键组合,optimization,delay,autohotkey,Optimization,Delay,Autohotkey,我有一个自动热键脚本,当按下CAPSLOCK时,它会像(左、下、上、右)一样处理(h、j、k、l)按钮 但是,当我太快地按下大写字母和按钮(h、j、k、l)时,它只输出字母 有没有办法减少这种“滞后”? 用另一种语言(如c或c++)可以很容易地做到这一点吗 我也不确定这些代码都做了什么,因为其中一部分是从web上截取的 #Persistent #SingleInstance, Force SetKeyDelay, -1 CoordMode, Tooltip, Screen modal = con

我有一个自动热键脚本,当按下CAPSLOCK时,它会像(左、下、上、右)一样处理(h、j、k、l)按钮

但是,当我太快地按下大写字母和按钮(h、j、k、l)时,它只输出字母

有没有办法减少这种“滞后”? 用另一种语言(如c或c++)可以很容易地做到这一点吗

我也不确定这些代码都做了什么,因为其中一部分是从web上截取的

#Persistent
#SingleInstance, Force
SetKeyDelay, -1
CoordMode, Tooltip, Screen
modal =
context =
num =

SetTimer, vim, 100

; Disable CAPSLOCK
$CAPSLOCK::
return

$+CAPSLOCK::
return


vim:
While GetKeyState("CAPSLOCK", "P")
{
    vimize()
    if modal !=
      Tooltip, %context%: %num%, 60, 10
    else if num !=
      Tooltip, %num%, 60, 10
    else
      Tooltip
    SetTimer, vim, off
} 
modal =
num =
unvimize()
SetTimer, vim, on
Tooltip
Return

vimize()
{
  Gui 11:Show, Minimize, vimOn ; Hide,
}

unvimize()
{
  Gui 11:Destroy
}   

#IFWinExist vimOn

h::Send, {Left}
j::Send, {Down}
k::Send, {Up}
l::Send, {Right}

; ===== SubRoutines =====

GetLineSelection:
   Send, {Home}{Shift Down}{End}{DOWN %num%}{Home}{Shift Up}
Return

Run_Mode:
   Send, ^%modal%
   ;Send {Left}{RIGHT}
   num =
   modal =
return

我找不到提高性能的方法,但我确实重写了整个脚本,现在它可以完美地工作了

这次我用了

Suspend On

;===Navigate
h::Left
j::Down
k::Up
l::Right

这使它更快更平滑

CapsLock::Suspend Off
CapsLock Up::Suspend On