我需要重新映射某些键,以便 CapsLock +“ijkl”会导致箭头键,而无需实际打开 CapsLock。 标准做法。
ChatGPT 给了我以下代码,它按预期工作:
CapsLock::
KeyWait, CapsLock ; Wait until CapsLock is released
return
#If GetKeyState("CapsLock", "T") ; Check if CapsLock is toggled on
i::
Send, {Up}
return
#If
然后我添加了更多按键映射:
CapsLock::
KeyWait, CapsLock ; Wait until CapsLock is released
return
#If GetKeyState("CapsLock", "T") ; Check if CapsLock is toggled on
i::
Send, {Up}
return
j::
Send, {Left}
return
k::
Send, {Down}
return
l::
Send, {Right}
return
#If
现在脚本运行并且仅阻止 CapsLock 打开(从键盘上的 LED 不活动状态可见)。
回到初始代码并没有改变任何东西(仍然只是阻止 CapsLock) 我尝试通过双击启动脚本、以管理员身份启动、通过 UI 访问运行
为了以防万一,我确实重新启动了电脑:)
由于初始代码第一次运行良好,我猜问题与语法无关,而是与某些系统设置有关。
像这样的简单脚本就可以了:
#Requires AutoHotkey v2.0
capslock & i::Send "{up}"
capslock & j::Send "{left}"
capslock & k::Send "{down}"
capslock & l::Send "{right}"