Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
8
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@toshikimiyagawa

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

最近は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

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

完成

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
8
Help us understand the problem. What are the problem?