タイトルの通りcaps lockとhjklで上下左右に移動させます。
Control+hjklで移動 のcaps lock版です。
準備
"KeyRemap4MacBookで〜"とタイトルに書きましたが実はこれ単体では
caps lockのキーリマップは書けないのでPCKeyboardHackも使用します。
PCKeyboardHackの設定
下記のように Change Caps lock にチェックを入れ keycode を 110 にします。
110(=PC Application Key)にしてる理由は最も無害で無難そうなので。。。
KeyRemap4MacBookの設定
private.xml下記のように設定します。
<item>
<name>PC_APPLICATION(EXTRA1)+hjklで上下左右移動(どこでもvim)等</name>
<name>CapsLockを使う場合はPCKeyboardHackでCapsLock->110(PC_APPLICATION)の設定をする</name>
<appendix>(PC_APPLICATION+H to CURSOR_LEFT)</appendix>
<appendix>(PC_APPLICATION+J to CURSOR_DOWN)</appendix>
<appendix>(PC_APPLICATION+K to CURSOR_UP)</appendix>
<appendix>(PC_APPLICATION+L to CURSOR_RIGHT)</appendix>
<identifier>private.99</identifier>
<autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::VK_MODIFIER_EXTRA1</autogen>
<autogen>__KeyToKey__ KeyCode::H, ModifierFlag::EXTRA1, KeyCode::CURSOR_LEFT</autogen>
<autogen>__KeyToKey__ KeyCode::J, ModifierFlag::EXTRA1, KeyCode::CURSOR_DOWN</autogen>
<autogen>__KeyToKey__ KeyCode::K, ModifierFlag::EXTRA1, KeyCode::CURSOR_UP</autogen>
<autogen>__KeyToKey__ KeyCode::L, ModifierFlag::EXTRA1, KeyCode::CURSOR_RIGHT</autogen>
</item>
ポイントはPC_APPLICATIONのままでは修飾キーっぽい振る舞い
(ex 先にcaps lockを押してからhを押し、その後caps lockを離す)が
できないので一旦下記のように架空の修飾キーに割り当ててます。
<autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::VK_MODIFIER_EXTRA1</autogen>
その後で割り当てた架空の修飾キーとhjklそれぞれを押した時の挙動を記述してます。
<autogen>__KeyToKey__ KeyCode::H, ModifierFlag::EXTRA1, KeyCode::CURSOR_LEFT</autogen>
まとめ
これでめでたくcaps lockとhjklで上下左右に移動ができます!
他にもcaps lock+dとかでシェル呼んで日付入れるとかいろいろできますよ!
caps lock超便利!
// JIS配列のcaps lockで同じような挙動をさせられるかは不明です。
->JIS配列でも大丈夫そうです。