キーを再マップするユーティリティはたくさんありますが、あまり具体的な機能が見つからないようです。CapsLockを押したままにすると制御修飾キーとして機能し、押したときにエスケープとして機能させたいのです。
同様の質問が提起されました ここ 、そして答えの1つはAutoHotkeyスクリプトを提供しました、しかしそれはキーを押すタイミングの影響を受けやすく、すべての可能なコントロールと文字の組み合わせのハードコードされたリストのみを扱います。それが癖なしで機能し、Caps Lockが押されたイベントをブロックし、Caps Lockキーがまだ解放されていない間に押された他のキーを保存し、thenエスケープまたは制御のどちらを送信するかを決定します。
これを行う簡単なユーティリティまたはより一般的なAutoHotkeyスクリプトはありますか?
このスクリプトは、1回のプレスを登録します 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