最近はMacを利用するエンジニア増えてきましたね。
私も2年近く前からMacを使っています。
「MacBookを使ってるけど、家や社内ではもっぱら外付けキーボード」
そんな人も少なくないのではないでしょうか。
弊社メンバーも半分弱は外付けキーボード利用しています。
外付けキーボードを使う際に困るのが、macのキーボードとwindowsのキーボードではkeymapが違うこと。
特に私はemacsキーバインドを多用するので、そんなの我慢できるわけありません。
というわけで、今回はキーマップのカスタマイズ方法の紹介です。
目標のキーマップ
もちろんノートを利用するときにも支障がないようにというのは大前提。
外付けキーボード、macキーボードで以下のようなキーバインドにすることが目標となります。
controlはAの右、capslockはいらない、左下はcommandが良い。
英数キーの左がoption、残った外付けキーボードのwindowsキーやmacキーボードのoptionキーは使わないのももったいないのでfnキーを割り当てます。
別アプリでoption+fn+←で選択したwindowを画面の左半分に表示とかできるようにしています。
必要なアプリケーション
以上を実現するために必要なのがSeilとKarabinerです。
インストール方法は調べればすぐに出てくるので省略します。
Seilの設定
以下のようにチェックを入れてキーコードを指定します。
Change the capslock key : 80
Enable NFER Key on PC keyboard : 102
Enable XFER Key on PC keyboard : 104
これでcapslockがF19に(この後また別のキーに割り当てます)なり、
さらに変換キー、無変換キーが使えるようになります。
Karabinerの設定
Misc&UninstallタブからOpen private.xmlを選択し、
以下の通り入力し保存します。
<?xml version="1.0"?>
<root>
<item>
<name>Apple and Windows keyboard</name>
<item>
<name>Apple and Windows keyboard</name>
<identifier>private.windows_keyboard_hack</identifier>
<block>
<device_only>DeviceVendor::APPLE_INC, DeviceProduct::ANY</device_only>
<autogen>--KeyToKey-- KeyCode::F19, KeyCode::COMMAND_L</autogen>
<autogen>--KeyToKey-- KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen>
<autogen>--KeyToKey-- KeyCode::OPTION_L, KeyCode::FN</autogen>
</block>
<block>
<device_not>DeviceVendor::APPLE_INC, DeviceProduct::ANY</device_not>
<autogen>--KeyToKey-- KeyCode::F19, KeyCode::CONTROL_L</autogen>
<autogen>--KeyToKey-- KeyCode::CONTROL_L, KeyCode::COMMAND_L</autogen>
<autogen>--KeyToKey-- KeyCode::COMMAND_L, KeyCode::FN</autogen>
</block>
</item>
</item>
</root>
そして最後にKarabinerのChange Keyタブの
Apple and Windows keyboard > Apple and Windows keyboard
にチェックを入れます。
これにより
macキーボードの場合は
capslock→左command
左command→左option
左option→fn
その他のキーボードの場合は
capslock→左control
左control→左command
左window→fn
と変更されます。
ついでに全角/半角をかな/英数の切り替えに利用する場合は
For Japanese > Chenge Backquote(`) Key > Backquote(`) to KANA/EISUU(toggle)
にチェックを入れてください。
また、windowsキーボードで右Controlの左にあるメニューキーをfnに割り当てたい場合は
For PC Users > Change PC Application Key(Menu Key) > Application Key to Fn
にチェックを入れてください。
完成
これで目標の通りのキーマップとなりました。
外付けキーボードでもノートのキーボードでも同じキーマップで扱うことが可能になります。
めでたしめでたし。