9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OS XAdvent Calendar 2014

Day 8

これでストレスフリー!MacBookと外付けキーボードを同じキーマップで利用する方法

Posted at

最近はMacを利用するエンジニア増えてきましたね。
私も2年近く前からMacを使っています。

「MacBookを使ってるけど、家や社内ではもっぱら外付けキーボード」
そんな人も少なくないのではないでしょうか。

弊社メンバーも半分弱は外付けキーボード利用しています。
外付けキーボードを使う際に困るのが、macのキーボードとwindowsのキーボードではkeymapが違うこと。
特に私はemacsキーバインドを多用するので、そんなの我慢できるわけありません。
というわけで、今回はキーマップのカスタマイズ方法の紹介です。

目標のキーマップ

もちろんノートを利用するときにも支障がないようにというのは大前提。
外付けキーボード、macキーボードで以下のようなキーバインドにすることが目標となります。

IMG_0944.png

IMG_0946.jpg

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を選択し、
以下の通り入力し保存します。

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

にチェックを入れてください。

完成

これで目標の通りのキーマップとなりました。
外付けキーボードでもノートのキーボードでも同じキーマップで扱うことが可能になります。
めでたしめでたし。

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?