Keyboard Quantizer Mini で Windows と Mac で HHKB Professional JP を共用しつつ Mac でドライバを入れずに使う
現在、Windows と Mac で USB 切替器を使って HHKB Professional JP (HHKB) を両方の環境で使っている。HHKB では DIP スイッチを切り替えることで Windows と Mac それぞれに適した配列に切り替わるので、素直に使い分けるなら都度 DIP スイッチを切り替えることになるのだが、当然ながらそんなことはしたくない。
加えて、Mac で HHKB を使う上では専用のドライバをインストールするのだが、そもそもキーボードのためにドライバを入れる意味がわからないというだけでなく、ドライバのサポートが終了しているという問題もある。
# ドライバを入れなくても動作自体はしてくれるものの、キー配列が一部おかしくなる。
これらの解決策としては、Mac で言えば Karabiner Elements などのキーマップをカスタマイズするツールを入れればよい。ただ、個人的に Keyboard Quantizer Mini という機器を知って興味を持ったので、そちらで対応してみた。
Keyboard Quantizer Mini は、USB のキーボードと PC などの間に挟むことで、普通のキーボードを QMK 対応にしてくれるデバイス。自作キーボードのようなキーマップのカスタマイズを市販の好きなキーボードで実現できる。
といっても、VIA や Remap が使えるだけだったら個人的には手を出すほどではなかった。最大の魅力だと感じているのは、独自の設定ファイルを書くことで実現できるさらに細かいカスタマイズ。ファームウェアを実装しなくても設定ファイルだけで結構なことができる。特に、接続している PC の OS によってキーマップを切り替えられることに惹かれた。Windows と Mac でキーボードを共用するのにあたってこの機能が活躍する。
以下が設定例。DIP スイッチは Windows 向けのすべて OFF で固定しておいて、Mac 向けの差分を Keyboard Quantizer で適用している。HHKB のドライバは不要になっている (というか Keyboard Quantizer を挟むとそもそも HHKB として認識されなくなる)。
oa_variant
が OS を指定している部分。macOS
を指定しておけばよいかと思いきや、手元の環境では動作しなかった。
QMK の OS Detection の仕様を見ると、どうやら USB 機器との接続時の挙動が OS ごとに異なることを利用して推測しているようだった。更に Pull Request を見ていくと、どうやら Apple Silicon の Mac の場合も iOS 扱いとなるようだった。Keyboard Quantizer Mini の OS Detection が QMK と同一の実装を使っているのかはわからないが、原理的には同様のようで、手持ちの Apple Silicon の Mac に合わせて iOS
に変更したら動作した。
この点を踏まえて、上記の例では YAML アンカーを使って重複を避けつつ、Intel Mac 向けの macOS
の設定と Apple Silicon 向けの iOS
の設定を定義している。どちらかしか使わないのであれば1つだけ設定するのでも問題ない。
このように、Keyboard Quantizer Mini は full 版のファームウェアで使おうとすると QMK について知っている (または調べられる) ことが前提となるものの、それも含めて楽しめるのであれば面白いデバイスだと思う。