読者です 読者をやめる 読者になる 読者になる

macでHHKBのキーを変更した

Happy Hacking Keyboard(HHKB)はキーが少なくて素敵だけど、macだとキーが少なすぎて直感とは違うキー配置になってしまう。 ディップスイッチを使うことで、キー配置を少しいじれるけど柔軟とは言い難く限界がある。

Karabainerを使ってキーの配置をいじってみた。 HHKBのみをキーを変更したいので、HHKBのデバイスをKarabiner の private.xml 設定方法 - Qiitaを参考にして登録する。 僕の環境では以下のようになった。

  <devicevendordef>
    <vendorname>PFU</vendorname>
    <vendorid>0x0853</vendorid>
  </devicevendordef>

  <deviceproductdef>
    <productname>HHKB</productname>
    <productid>0x0100</productid>
  </deviceproductdef>

僕の環境では(ディップスイッチの設定にもよると思う)2つのMetaキーがOptionキーになっていて、左AltがFnに、右AltがCommandキーになっている。 以下ではMetaキーをCommandに、右AltをOptionキーに割り当てている。

僕の使用方法ではOptionはEmacsでAltキーとしてしか使わないので、これぐらい使用頻度が少ない位置にして、Commandキーを使いやすくしたほうが良い。

<?xml version="1.0"?>
<root>
  <devicevendordef>
    <vendorname>PFU</vendorname>
    <vendorid>0x0853</vendorid>
  </devicevendordef>

  <deviceproductdef>
    <productname>HHKB</productname>
    <productid>0x0100</productid>
  </deviceproductdef>

  <item>
    <name>Swap Command and Option in HHKB</name>
    <identifier>private.hhkb</identifier>
    <device_only>DeviceVendor::PFU, DeviceProduct::HHKB</device_only>
    <autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen>
    <autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::COMMAND_R</autogen>
    <autogen>__KeyToKey__ KeyCode::COMMAND_R, KeyCode::OPTION_R</autogen>
  </item>
</root>

HHKBだけ、キー変更が有効なことを確認した。概ね満足。 但し、元々Karabinerの設定でCommandキーを組み合わせで押さない場合は英数、かなキーとして振る舞う設定をしていたのだけど、今回新しく割り当てたコマンドキーではそのように振る舞ってくれなかった。 内部の設定の適用順序があるのだろうか?

f:id:kg86:20161121152744p:plain

もしかすると以下の記述が関係ある?

Karabinerでは設定を再帰的に反映することは出来ません。 一つの設定が反映された後は他の設定は無視されます。 マニュアル - Karabiner - OS X用のソフトウェア