在 Windows 中重新映射 Caps Lock(转义 *和* 控制)

rat*_*lis 9 windows keyboard-shortcuts autohotkey hotkeys windows-8

有很多实用程序可以重新映射键,但我似乎找不到一个非常具体的功能:我希望大写锁定在按住时充当控制修饰键,但在单独按下时充当转义键。

这里提出一个类似的问题,其中一个答案提供了一个 AutoHotkey 脚本,但是它容易受到按键时间的影响,并且只处理所有可能的控件 + 字母组合的硬编码列表。我更喜欢它,如果它可以正常运行,阻止大写锁定按下事件,在大写锁定键尚未释放时存储任何其他按下的键,然后决定是否发送转义或控制。

是否有一个简单的实用程序或更通用的 AutoHotkey 脚本可以做到这一点?

Ell*_*olf 16

此脚本将单次按下注册CapsLock为持续时间小于 400 毫秒的按下,根据需要修改该值。

*CapsLock::
    Send {Blind}{Ctrl Down}
    cDown := A_TickCount
Return

*CapsLock up::
    If ((A_TickCount-cDown)<400)  ; Modify press time as needed (milliseconds)
        Send {Blind}{Ctrl Up}{Esc}
    Else
        Send {Blind}{Ctrl Up}
Return
Run Code Online (Sandbox Code Playgroud)