はじめに

色々と書き連ねるよりもまずはこちらの画像を見ていただこう、これがHHKBをMacBookProに置いた状態だ。

写真 2017-08-31 8 17 36.jpg

なぜこれを尊師スタイルと呼ぶのか、それはリチャード・ストールマンがラップトップ上にHHKBを置いてタイピングしている画像が元になっている1
ソフトウェア業界およびプログラマとしての貢献に対する畏敬の念を込め、彼のことを尊師と呼ぶことからこの名前が付けられた(と言われている、と私は解釈している)2

環境

準備

なにはともあれまずはHHKBを購入しよう、私が購入したものは HHKB Professional2 標準の白
Bluetooth®内蔵のProfessional BTや高速タイピング性と静粛性を向上させたProfessional2 Type-Sも選択肢としていたが、
初めてのHHKB購入ということで水が合わなかった際のことも考え、エントリーとして標準モデルを選択、無刻印はハードルが高すぎたため敬遠

実践

購入したHHKBをMacBookProに直置きして完成!
・・・というわけにもいかず、色々と問題があるため解決していこう。
MacBookProのキーボード上に物理的にHHKBを配置することでMacBookPro本体への影響がないとは断定できません、実践される場合は自己責任でお願いします。

Karabinerでキーボード切替・無効化

HHKBをMacBookProのキーボード上に置くことでHHKBの下面がキーボードと干渉してしまう。
それもHHKBをMacBookProの中央に置くと上手い具合にEscキーやEnterキー、電源キーといった押されたくないキーと干渉してしまう。
そこでKarabinerを使ってHHKBがMacBookProに接続された時点でMacBookProの内蔵キーボードを無効化しよう。

スクリーンショット 2017-10-20 8.29.35.png

こうすることで内蔵キーボードが無効化され、HHKBの入力のみが認識されるようになる3
ProfilesタブにてHHKBと内臓キーボードそれぞれでKarabiner設定を切り替えることができるため、HHKBが接続された場合はHHKB設定を、MTGなどでMacBookPro持参で席を移動する場合など4
HHKBを接続していない時は内蔵キーボードの設定を有効化、ということが可能になる。
KarabinerアイコンがメニューバーにProfiles名とセットで表示されるため、HHKB設定の場合は"HHKB"と表示される。

スクリーンショット 2017-10-20 8.30.42.png

これでHHKBを心置きなく使えるわけだが、どうもHHKB付属のUSBケーブルがモニターと干渉して邪魔くさい。

変換名人とUSB巻取りケーブル

MacBookPro上にHHKBを置いてみたはいいが、HHKB付属の太いUSBケーブルがモニターと干渉して気になる。
特にターミナルを触っているとプロンプトを覗き込むことになってしまう、これはよろしくない。
ということでL字型のUSBアダプタとケーブルが細く取り回しが効くペラペラのUSB巻取りケーブルを使ってこの問題を解決しよう。

20170831081546.jpg

写真 2017-08-31 8 17 06.jpg

変換名人のおかげでHHKB背面のUSBポートからHHKB本体に沿って左にUSBケーブルを接続できるようになった。
そしてUSB巻取りケーブルのおかげでMacBookPro側のUSBポートへスムーズに接続でき、余計なケーブルでデスク上を散乱させることもなくなった。

HHKB側のインタフェースとしてUSBのMini-Bを使用しているが、この規格の上記2製品は家電量販店ではなかなか見つからないので注意が必要だ5、というか見つからなかった。

Karabinerでキーマッピング

ここまで物理的にHHKBとMacBookProとの接続具合がよろしくなってきた、次は指先とMacBookProとのインタフェースを考えよう。
普段はScalaとES2015でSPAの開発を行っているため基本はIDEとターミナルとブラウザを使っているが、
メモをとったりこういった記事の原稿はターミナル上でEmacsを使っている。
ということでOS自体もEmacsライクなキーバインドで操作できれば望ましい、そこでまたもやKarabinerの出番だ。

私が実践しているのはこちらだ。

スクリーンショット 2017-10-20 8.30.19.png

先に述べたキーボードの切替とEmacsモードの設定、そして日本語入力を行う際の英数/かな切替だ。
他にもキー押下を認識するミリ秒設定などもParametersタブで設定可能だが今回は割愛する。

蛇足だがMacBookProの内蔵キーボードを使う場合は以下のように設定している。

スクリーンショット 2017-10-20 8.52.26.png

自分にはカーソルキーやCapsLockが必要ないので無効化している。
あんなの飾りです。偉い人にはそれが分からんのですよ。

bashのbind変更

最後に、先程述べた通り普段ターミナルを使うことが多い私だが、HHKBに変えてからDeleteキーを使うことがほぼ無くなった。
基本的にC-dとC-hを使うことになり、特にC-hを個人的には多用している。
その際、C-jがEnterに割当てられているため6、C-hのつもりがC-jをTypoすることが多々あった。
本番作業等でこのTypoは致命的とも言える状況を生み出してしまう可能性があったため、以下のようにC-jのキーバインドを外しておいた7

$ bind -r "\C-j"

これを.bashrcなどに書いておくと、C-jのキーバインドが外れる。

最後に

HHKB吸振マットをHHKBに貼り付けた状態でMacBookProに置いたらどういう感触になるのか、試してみたいところである。


  1. 彼の名前を取ってRMSスタイルなどとも呼ばれる 

  2. 彼の風貌、そしてあまりのタイピングの早さから指先を写真に収めることが出来なかったため尊師という名前が付いた、という説もあるとかないとか 

  3. ただし物理的にキーが干渉したままで問題ないのか、という罪悪感は解消できない 

  4. MacBookProと一緒にHHKBも持っていくという猛者には当てはまらないが 

  5. そろそろ新しいUSBインタフェースに変更してもらいたいところではある 

  6. 試しにC-mもEnterに割当てられているため同様に外してみたのだが、そうするとEnter自体が効かなくなった・・ 

  7. そもそもDeleteキーは使わないのにEnterキーは使うのか、という直球ど真ん中の指摘は否定できない