修改脚本后自动热键停止工作

问题描述 投票:0回答:1

我需要重新映射某些键,以便 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 访问运行

为了以防万一,我确实重新启动了电脑:)

由于初始代码第一次运行良好,我猜问题与语法无关,而是与某些系统设置有关。

windows autohotkey key-bindings keymapping
1个回答
0
投票

像这样的简单脚本就可以了:

#Requires AutoHotkey v2.0

capslock & i::Send "{up}"
capslock & j::Send "{left}"
capslock & k::Send "{down}"
capslock & l::Send "{right}"
© www.soinside.com 2019 - 2024. All rights reserved.