最強HHKBへの道 〜Pro2のBluetooth接続化 & USB-C端子化〜
Happy Hacking Keyboard!!
「最強HHKBへの道」と題してHHKBのカスタマイズに関する記事を今後いくつか投稿していこうと思う。その手始めに行うのがHHKB Pro2のBluetooth接続化とUSB-C端子への換装だ。
前置き
さて、ここで聡い人はお気づきだと思うがHHKBを開発・販売している株式会社PFUからBluetooth接続ができる且つUSB-C端子接続の「Happy Hacking Keyboard Professional HYBRID Type-S」が発売しているのだ。
普通に考えたら改造なんて要らない。
しかし、待ってほしい。まずはこれをご覧いただきたい。
ダサくない!?
そう尋常じゃなくダサいのだ。シンプルイズベストなデザインが尊重されている現代において単三電池ケースがぽこっとはみ出ているのはどうしても受け入れがたいものがある。
このデザインはもちろん賛否両論で物議を醸した。もちろん私は反対派である。バッテリー寿命がキーボード本体寿命と比べて圧倒的に短いために単三電池を採用した所以だと公式には発表された。とはいえ、バッテリーを裏蓋から交換できるようにするなどやりようはあったはずだ。このデザインはどう考えても手抜きにしか見えなかった。
PFUが投げ出した「旧式デザインを維持したまま、Bluetooth接続とUSB-C端子を搭載したHHKBを実現する」ことを目標に今回のカスタマイズに挑戦することとした。
必要なもの
HHKB Pro2のBluetooth化とUSB-C端子化を行うにあたり必要なものはそれなりにある。先に書いておくと「この改造に必要なものを全て集めるとHHKB Pro Hybrid Type-Sを買うより高くつく」点に注意が必要だ。多額の費用を投じても実現するという強い気持ちが必要不可欠になる。既にHHKB Pro2を所持している人以外にはあまりオススメできない。
1.Happy Hacking Keyboard Professional 2
23,000円ほど。
なにはともあれHHKB本体が必要だ。余談だが個人的には無刻印の墨モデルを推奨している。文字入力時にキーボードを見るような人はそもそもHHKBを選択しないだろう。つまりはそういうことだ。
2.HHKBカスタマイズ基盤
約9,000円ほど。
様々なカスタムキーボードの基盤を開発・販売しているYANG氏のタオバオページからHHKBカスタマイズ用の基盤を購入できる。基盤にはオリジナルと同じmini USB版と今回使用したUSB-C版が存在する。少し値段は高くなるがUSB-C版を購入しよう。
なおタオバオの利用には専用のアカウントが必要になる上、上記商品は日本への発送を行っていない。商品購入にはタオバオ新幹線のような代行サイトもしくは転送サイトの利用が必要不可欠となる。
また代行/転送サービスは商品破損に対する保証が効かない。中身が繊細な電子基板であることを考えるとこれは非常にリスキーだ。そこで私はAliexpressの利用を推奨する。値段は高くなるが代行/転送サービスを使うことを考えると値段は対して変わらない上に購入保証がついてくる。
SchoolDIYStoreというストアがYANG氏の基盤を販売している。円安の影響で値段が跳ね上がってしまっているがUSB-C版で12,000円〜14,000円程度で購入できるだろう。
3.3.7V リチウムポリマー電池(2000mAh〜2500mAh推奨)
値段はピンキリ。1,000円〜3,000円程度。
Bluetoothを無線で動かすためにはバッテリーが必要だ。上記タオバオやAliexpressでバッテリーを追加オプションとして販売しているが、これを購入してしまうと航空輸送の安全規約に引っかかってしまい日本に届かなくなる。別途自分でAmazonや秋葉原などでバッテリーを仕入れる必要がある。
なおバッテリーにはサイズ制限がある。横80mm 縦45mm 厚さ7mm程度が限界とのこと。大きすぎるサイズを購入してしまうとHHKB本体内に格納できなくなるので注意しよう。
HHKB Pro2を改造する
必要なものが揃ったらあとは改造するだけだ。手順は以下の通り。
1.届いた基盤を開封する
中国から改造用の基盤が届いたら破損や梱包漏れがないか必ず確認を行う。もし破損やその他の瑕疵があった場合はAliexpressからセラーへ問い合わせを必ず行おう。
余談になるがこの基盤にはオリジナルのHHKB同様にUSB2のハブ機能が実装されている。それどころかHHKB本体内に向けたUSB-A端子も追加されており、見えない場所にUSBメモリーを差し込むことも可能だ。利用頻度は高くないがいざという時のため準備しておいても損はない。
基盤サイズの都合、大きなUSBメモリーは使用できない。USB2であるため転送速度も遅い。上記SANDISK製のような小型でフラット、且つ32GB〜64GB程度の容量で十分だろう。
2.バッテリーに接続端子を結線する
購入したバッテリーによっては最初から端子がついている場合もあるが、私が購入したものはサイズ違いの端子がついていたため付け替えを行った。
3.HHKBの基盤を付け替える
前準備が終わったらHHKBの基盤付け替えに入る。ここからが本番だ。
なんてことはない、ただの分解作業だ。内部の基盤は右上側に1点のネジで固定されているため、これを外す。あとはUSB端子側を先に持ち上げればスルッと本体ケースから外れてくれるだろう。
ここからは逆の手順プラスαで新しい基盤を取り付けていく。HHKB内にUSBメモリーを搭載する人はこの段階で基盤に差し込んでおくと良い。
4.リチウムポリマー電池を接続する
次にBluetooth接続時に無線駆動できるようバッテリーを取り付ける。基盤に電流が流れないよう予めバッテリー利用のスイッチをOFFにしておこう。スイッチは基盤左上、元DIPスイッチがついていた箇所に搭載されている。OFF側にスライドしているか必ず確認すること。
基盤をよく見ていると右側に「Wireless Charger Receiver」と書かれたコネクタが搭載されている。実はこの基盤、Qi充電用のユニットも追加できるのだ。ただし効率はとても悪く実用的ではない。私は見送ったが挑戦したい人は別途Qi充電用のパーツを購入しても良いだろう。
また基盤にはHHKBの様々な状態をお知らせするLEDライトも取り付けられる。使用している本体が白色であれば光が本体ケースを透過して見えるようなのだが、墨色を利用している場合は見えなくなるため取り付ける必要はない。バッテリーを無駄に消費してしまうだけだろう。
5.最後の仕上げ
無事基盤の換装を終えれば、後はキーボード部分との接続ケーブルを再度取り付けてケースカバーを閉じるだけだ。
ケースカバーを閉じるとHHKB Pro2はBluetooth接続ができ、USB-Cケーブルを挿し込めるようになる。オリジナルのmini USBと端子形状やサイズは異なるものの、手持ちのUSB-Cケーブルでは本体無加工で差し込むことができた。もし引っかかったりする場合はヤスリでケース側の穴を少しだけ広げればいいはずだ。
またYANG氏の基盤では本体DIPスイッチ部分にBluetoothの有効/無効スイッチが取り付けられている。一部キーの入れ替え、置き換えはどうするのか?という疑問が湧いてくるが、専用サイトでカスタムバイナリを作ることで対応できる。一部キーのみならず全てのキーを入れ替えられるのだ。
キー配置を自由にカスタマイズする
既に本体はBluetooth接続化とUSB-C端子化が完了しており、今回の目標は達成されている。しかし、ここからがYANG氏基盤の真骨頂。逸る気持ちを抑えながら以下のサイトへ移動しよう。
キーレイアウトを作成する
このサイトではYANG氏が開発している様々なカスタマイズキーボード基盤に対して好きなキーレイアウトを設定できる。左上の切り替えメニューから「HHKB BLE」を選択しよう。
YANG氏の基盤では合計7階層のキーボードレイアウトを実装、切り替えられる。オリジナルのHHKB同様にFnキーを押して切り替えても良いし、好きなキーにレイアウト切り替えボタンを配置しても良い。
キーの入れ替えは入れ替えたい場所を選択し、下側に表示されている一覧から好きなキーを選ぶだけだ。入れ替え候補も標準キーだけでなくメディアコントロールキーやマウスアクション、レイアウトチェンジキー、基盤組み込みマクロ実行キーなど様々なものが用意されている。
参考程度に私がセッティングしたレイアウトを掲載しておく。
個人的にはどうしてもHHKB独自のdeleteキー配置がしっくり来ないため、右上3つのキー配置を変更した。Fn押下時も基本レイアウトを活かしつつ、メディアコントロールやディスプレイ輝度変更、音量調整機能の他、電源メニュー表示や基盤マクロをいくつか登録した。
基盤実装マクロの中でいくつか重要なキーが存在する。以下のキーは忘れずどこかのキーに設定しておこう。改造HHKBを便利に使えるようになる。
Reset
HHKBの状態を初期化する。接続不良や誤動作が起きた場合に使う。誤動作防止のため設定キーと「左Ctrl」の同時押下で実行される。Lock Mode
HHKBを即座に超省電力モードに切り替える&復帰に必要な特定キー以外無反応にする。利用後に必ず使うキーだ。復帰は「F」キーと「J」キーの2つを3〜5秒以上押下して行う。Switch between Bluetooth Device
マルチペアリング制御。接続している別のデバイスへ切り替える。A→BもしくはB→Aとして機能する。上記サンプルでは「Fn+Tab」に指定。Bluetooth Clear
HHKBのBluetooth接続情報を削除する。別の機器とペアリングし直す際に行う。誤動作防止のため設定キーと「左Ctrl」の同時押下で実行される。Inner USB
本体に組み込んだUSBメモリーにアクセスする。
レイアウトデータをダウンロードする
キーレイアウトの設定が終わったらレイアウトデータをダウンロードする。YDKB画面の右上にある「Download」をクリックすると「DL.bin file」と書かれたメニューが見つかるので、そこからデータをDLできる。
ダウンロードされたデータは「HHKB BLE.bin」というファイル名になっている。このデータを改造HHKBのファームウェア置き場にコピーすればキーレイアウトの置き換えが完了する。
改造HHKBにレイアウトデータを登録する
ダウンロードしたキーレイアウトデータの登録は改造HHKBを有線で特殊な接続をした場合にアクセスできる格納エリアに保存して行う。登録にはWindowsもしくはMacが必要なため、パソコン環境の前で行おう。
まず最初にパソコン側へUSBケーブルを接続する。次にESCキーを押下した状態で改造HHKBにUSBケーブルを接続する。するとパソコン環境上に改造HHKBのファームウェアとキーレイアウトデータを保存する小容量のドライブとして認識される。
このドライブにダウンロードした「HHKB_BLE.bin」を格納すればファームウェアとレイアウトデータの更新は完了する。ただし利用OSによってデータの格納方法に違いがある(各OSのファイル管理方法の違いにより手順が若干異なるらしい)ため注意が必要だ。
Windowsの場合
Windowsの場合はバイナリファイルをそのままドラッグ&ドロップして上書きするだけで良い。上書き後はESCキーを押す、もしくはドライブを取り外すとHHKBが再起動。キーレイアウトの更新が行われる。Macの場合
Macの場合は先にドライブ内にある「HHKB_BLE.bin」ファイルを完全に削除しなければいけない。ファイルをゴミ箱に入れ、完全に削除してから新しいデータを格納しよう。格納後はWindowsと同様、ESCキーを押す、もしくはドライブを取り外せば良い。
Macと改造HHKBをBluetooth接続する
MacOSでの接続方法を例として記載していくが、基本的な流れはWindowsでも変わらないため参考にしてほしい。
ペアリング方法
改造HHKBをBluetooth接続する場合、まずはOFFにしているバッテリー利用スイッチをONに切り替えよう。ONに切り替えなくともUSB-Cケーブルを接続しておけばBluetooth接続も併用できるが、ワイヤレスでなくなるため意味がなくなる。
バッテリー利用をONにし、Bluetooth管理画面を開くと「HHKB BLE」というデバイスが接続待ちの状態で表示される。改造HHKBは本体に接続先情報が記録されていない場合は常にペアリング待ち状態となっているようだ。
あとは「接続」ボタンを押すだけでペアリングが完了する。設定したキーレイアウトでHHKBが動作するか確認しよう。
電池残量の確認方法
最新のMacOS(Monterey)やWindowsを使用している場合、電池残量はBluetooth接続機器リストから確認できる。
古いMacOSを利用している場合、Bluetooth接続機器リストにバッテリー残量が表示されない場合がある。その場合は改造HHKBの基盤組み込みマクロに実装されている「バッテリー残量コピー」機能を使おう。
「LShift」+「RShift」+「V」を押す、もしくはキーレイアウトで「Battery %」を設定したキーを押すと「バッテリー残量-1」というフォーマットでテキスト入力が行われる。
他の機器にペアリングしなおす
YANG氏の改造基盤は2台までのマルチペアリングに対応している。
キーレイアウト設定で「Switch between Bluetooth Device」を設定した場合にのみ利用できる。残念ながらデフォルトのキーボードショートカットは存在しないため複数台で利用予定がある人は必ず設定しよう。
このキーを押下すると接続先が「A→B」もしくは「B→A」と切り替わる。接続機器が未登録の場合は先述した接続待ち状態となるので、新しい端末からペアリングを行えば良い。
もし3台以上の端末で利用したい場合、登録済みの接続情報を削除して新しく登録しなおす一手間が必要だ(これはどのBluetooth機器でも同様)。
HHKBがパソコンなどと接続されている状態の場合はBluetooth管理画面から登録を削除する。リストから「HHKB BLE」を選択し、登録解除ボタンを押せばパソコン/HHKBともに接続先情報が削除される。
もし手元にペアリング済み端末がない場合はキーボードショートカットから「Bluetooth Clear」を実行する。
「LShift」+「RShift」+「LControl」+「R」を押す、もしくはキーレイアウトで「Bluetooth Clear」を設定したキーと「LControl」を押すとBluetooth接続情報がクリアされペアリング待ち状態へと移行する。あとは接続したい機器から改造HHKBとのペアリングを行えば良い。
その他の使い方について
基本的な使い方を記載したが、それ以外の詳細な使い方や改造基盤の機能などを詳しく知りたい場合もあるだろう。そのようなニーズに応えるために全ての機能をここに網羅することは難しいため、以下の公式ドキュメントを参照してほしい。
前編英語のドキュメントだがChromeやSafariのページ翻訳機能を使えば問題なく判読できるようになる。
最後に
HHKBの改造方法、それの設定と利用方法をここまで記載してきた。最後に私自身の所感を残しておきたい。
Bluetooth接続について
正直なところ、かなり満足している。接続が途切れることもなければ、バッテリー残量も確認できる。何より単三電池ボックスという受け入れがたい最悪なデザインを見ることもない。
YANG氏の改造基盤に使われているBluetoothモジュールは技適取得済みの「MDBT40」が使われており日本国内の利用も問題ない。加えてLow Energyに対応しているため消費電力量も極めて少ない。バッテリー駆動に優しいBluetooth接続なのだ。
バッテリー消費と寿命について
Bluetooth Low Energyに対応しているとはいえバッテリーの寿命は気になるだろう。これは搭載したバッテリー容量によって異なるものの2000mAhのバッテリーではおおよそ2週間程度は持つ。1000mAhで約1週間と考えて差し支えはないだろう。
改造HHKBはUSB接続している間にバッテリーを充電してくれる。またバッテリー充電中でもBluetooth接続はできるためモバイルバッテリーを接続して充電しながらiPhoneやiPadなどのモバイル端末に接続して使うということもできる。汎用性が高い。
リチウムポリマー電池の充電寿命はおよそ500回と言われている。月に2回〜3回充電するとすれば1年間で約30回。単純計算で16年超持つ計算だ。先に接続先の機器側がヘタってしまう可能性が高い。仮にHHKB側のバッテリーがヘタってしまっても新しいバッテリーを購入して接続し直せば良い。キーボード寿命に対してバッテリー寿命が短いという問題はそれほど大きな問題ではないことが分かった。
また改造基盤には省電力モード機能が実装されている。省電力モードは3段階あり、以下のような挙動を取る。
キーボードのキーを押さずに15秒間アイドル状態が続くとと基本的な省電力モードになり、すべてのLEDがオフになる。このモードではキー入力判定は30msごとにスキャンされる。いずれかのキーが押されると基本的な省電力モードから復帰する。
キーボードのBluetoothが90秒間接続されていない場合、または2.5時間以上アイドル状態の場合にBluetoothがオフになり、超省電力モードになる。いずれかのキーを3〜5秒間押し続けると超省電力モードを終了して復帰する。
ロックモードを使用すると、キーボードが即座に超省電力モードになる。通常の超省電力モードとの違いは復帰方法。ロックモードでは「F」と「J」を同時に3〜5秒間押し続けると超省電力モードから復帰する。
使い勝手について
とても大きな魅力が改造HHKBにはある。Bluetooth接続やUSB-C接続ができるPro2という時点で使い勝手はかなり高いが、そこに加えてキーレイアウトの自由自在な改変はHHKBユーザーが夢見る機能の1つだ。
DIPスイッチによるキーレイアウトの入れ替えは非常に限定的であった。Happy Hackingと銘打ってはいたが実際のところは籠の中の鳥、檻の中の自由といったところだった。HHKBを改造することで籠や檻は取り払われ真のキーボードハッキングが実現したことは大変喜ばしい。
デスクトップ上のケーブルを減らせることもメリットとして大きい。キーボードの相方としてLogicoolの「MX Master3」を使っていればUSB-Cケーブル1つでキーボードもマウスも充電できる。
今回の改造を実現するにあたり投資した金額は小さいものではなかったが、新しく「HHKB HYBRID TYPE S」を購入するよりは安上がりだ。もしPro2を所有していて「HYBRID TYPE S」の導入を考えている場合はHHKBを改造するという手段も考慮に含めてみるのはどうだろう?
この記事が気に入ったらサポートをしてみませんか?