Ctrl 和 Shift 的释放不能与 Caps Lock 一起正常工作

Release of Ctrl and Shift doesn't work properly with Caps Lock

我尝试做一个Ctrl+f+j的快捷方式,这样Ctrl+j可以让j变成左箭头,f的组合可以变成Ctrl(d应该和shift一样),所以Ctrl+f+j 将被视为 Ctrl+向左箭头。

我已经成功让它工作了,但是在我松开按键后,f 和 d 卡住了,我无法 return 进入正常模式。

我有以下代码:

CapsLock & j::
{
    Send, {blind}{Left}
    return
    f::Ctrl
    d::Shift
    return
}
CapsLock & l::
{
    Send, {blind}{Right}
    return
    f::Ctrl
    d::Shift
    return
}

CapsLock up::
{
    Send {Ctrl Up}
    Send {Shift Up}
    return
}

在我松开 l 键之前效果很好,因为之后无法使用 d 和 f 键。任何想法为什么?我只是不能经常使用它们它们保持 Ctrl 和 Shift

的功能

解决方案是将组合分开。结果 ahk 不支持嵌套热键,这样做会弄乱按键的释放。下面的代码解决了我的问题。

CapsLock & l::Send, {blind}{Right}
CapsLock & j::Send, {blind}{Left}

CapsLock & f::Ctrl
CapsLock & d::Shift