web-dev-qa-db-ja.com

WindowsでのCapsLockの再マップ(エスケープ*および*コントロール)

キーを再マップするユーティリティはたくさんありますが、あまり具体的な機能が見つからないようです。CapsLockを押したままにすると制御修飾キーとして機能し、押したときにエスケープとして機能させたいのです。

同様の質問が提起されました ここ 、そして答えの1つはAutoHotkeyスクリプトを提供しました、しかしそれはキーを押すタイミングの影響を受けやすく、すべての可能なコントロールと文字の組み合わせのハードコードされたリストのみを扱います。それが癖なしで機能し、Caps Lockが押されたイベントをブロックし、Caps Lockキーがまだ解放されていない間に押された他のキーを保存し、thenエスケープまたは制御のどちらを送信するかを決定します。

これを行う簡単なユーティリティまたはより一般的なAutoHotkeyスクリプトはありますか?

8
rationalis

このスクリプトは、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
13
Elliot DeNolf