1
我有一個autohotkey腳本,當按下CAPSLOCK時,會處理(左,右,上,右)(h,j,k,l)按鈕。如果按下太快,AHK腳本有時會錯過按鍵組合
但是,當我按下按鈕和按鈕(h,j,k,l)太快時,它只輸出字母。
有沒有辦法減少這種「滯後」? 這可以很容易地用另一種語言如c或C++來完成嗎?
我也不確定這段代碼是做什麼的,因爲它的一部分是從網上剪下來的。
#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