macでcapslock+jとかでカーソル移動をできるようにした。
MacのUSキーボードでカーソル移動をcapslock+jとかでできるようにしたという話。
まずPCKeyboardHackを使って、capslockキーをcontrol_Rキーに変更する。この時「システム環境設定->キーボード->キーボードタブ->装飾キー」でcapslockキーを「アクションなし」にするのも忘れないでおく。(一応、ここの設定設定でもcapslockをcontrolキーに変えることはできるのだが、その場合はcontrol_Rではなくcontrol_L判定になってしまう。それだと色々と面倒になるのでわざわざPCKeyboardHackを使ってcontrol_Rキーで設定することにしている。詳しくは後述する)
次にKeyRemap4MacBookの設定でprivate.xmlを以下のように編集する。
<?xml version="1.0"?> <root> <item> <name>My Cursor Setting</name> <appendix>change capslock+u,m,j,k,h to cursor and delete</appendix> <identifier>fn_cursor</identifier> <autogen> __KeyToKey__ KeyCode::U, ModifierFlag::CONTROL_R, KeyCode::CURSOR_UP </autogen> <autogen> __KeyToKey__ KeyCode::M, ModifierFlag::CONTROL_R, KeyCode::CURSOR_DOWN </autogen> <autogen> __KeyToKey__ KeyCode::J, ModifierFlag::CONTROL_R, KeyCode::CURSOR_LEFT </autogen> <autogen> __KeyToKey__ KeyCode::K, ModifierFlag::CONTROL_R, KeyCode::CURSOR_RIGHT </autogen> <autogen> __KeyToKey__ KeyCode::H, ModifierFlag::CONTROL_R, KeyCode::DELETE </autogen> </item> </root>
これにより、以下のように操作できるようになった。
capslock+U = ↑
capslock+M = ↓
capslock+J = ←
capslock+K = →
capslock+H = delete
ちなみにcapslockキーは一番最初にcontrol_Rに変換してるので、普通のcontrolキーとしても動作する。なので以下のような操作も可能になる。
capslock+A = 行頭へ移動
capslock+E = 行末へ移動
これでcapslockと各種文字キーでいろんな移動ができるようになった。
しかしこれでは、普通にcontrol+jなどのショートカットキーを使おうと思ってもできなくなってしまうのではないか?・・・そう思うかもしれない。
問題ない。その時は元々キーボードに備え付けられているcontrolキーを使えば良い。もともと備え付けられているcontrolキーはcontrol_Lとして判定されるので、control_Rに変更したcapslockキーと併用することができる。(これが冒頭でcapslockキーをわざわざcontrol_Rに設定した理由だ)
これのお陰で「control+←」というショートカットキーがあった場合に、「control+capslock+j」でもいけるようになる。
すごいぞ! PCKeyboardHack! KyeRemap4MacBook!
ちなみに、ここを参考にして今回のカスタマイズをしますた。
https://gist.github.com/YungSang/4576084