HHKB Pro2をさくっとBT化してみた。

[HHKB Pro2]:https://www.pfu.fujitsu.com/hhkeyboard/hhkbpro2/
[HHKB BT]:https://www.pfu.fujitsu.com/hhkeyboard/bt/
[HHKB ble MOD]:https://kbdfans.com/products/hhkb-ble-mod-upgrade-module)

## はじめに
私は[HHKB Pro2]を半年前に中古で購入し、Escキーの近さやキー配列数の少なさに感動しつつ、のびのびと使っていました。
ただ、HHKB Pro2は有線接続であり、やや取りまわしづらく、どうにか無線接続で使えないかなーとあれこれ調べたりしていました。

そんな中見つけた、[「有線接続のHHKBをBT化する基板」][HHKB ble MOD]がようやくおうちに届いたので、今回はその基板を使って、HHKB Pro2を[HHKB BT]のようにBluetooth接続して使えるようにさくっと改造していきます。

『Happy Hacking Keyboard HHKB Professional BT』
![top-banner02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/9b39b083-a7b3-4719-1ef6-b9656e27adf2.jpeg)

画像引用：[Happy Hacking Keyboard HHKB Professional BT | 特長 | PFU](https://www.pfu.fujitsu.com/hhkeyboard/bt/feature.html)

## 用意するもの

+ 「Happy Hacking Keyboard Pro2」もしくは「Type-S」
![DSC_5859.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/17df8c60-6ead-43aa-8e9c-14ed1af26aca.jpeg)
手持ちのHHKB Pro2です。墨・無刻印を中古で購入しました。キートップがいろいろ変わってますが気にしないでください(ﾉ)・ω・(ヾ)
（無刻印ってかっこいい！って思って買ったけど、慣れてないとやっぱり不便）

+  [「HHKB ble MOD upgrade module」][HHKB ble MOD] （以下、BT化基板）
KBDfansで購入。販売価格は\$65でした。$40以上なので送料無料！

![DSC_5756.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/0625443f-041e-ce61-c90e-70059b55930e.jpeg)
LiPoバッテリー用のケーブルと、白色LEDが4つ付いています。


+ 「3.7VのLiPoバッテリー」

      Amazon.comで[uxcell 704070](https://www.amazon.com/dp/B0798C4712)を購入しました。
送料込みで$13.08だったので、1,500円くらい。

販売店が推奨するバッテリーは、
>  ＜寸法＞ 縦80 x 横42 x 厚さ6.6mm
>  ＜容量＞ 2500mAh

です。
厚さに関しては実際の厚さが7mm以下なら大丈夫みたいです。
（ちなみに、uxcell 704070は 72 x 40 x 6.8mm, 3000mAhです）

コネクタ付きのLiPoバッテリーの購入をおすすめします。
BT化基板のセットには接続用のコネクタ付きケーブルがついてくるので、コネクタがついていないバッテリーを買っても平気ですが、繋げるのがちょっちめんどくさいです。
公式の解説動画では「uxcell 654075」を使用していました。

+  「プラスドライバー」
普通の。#1くらいのやつ。

+  「マスキングテープor両面テープ」
バッテリーをキーボード内部に固定するためのもの。

+  （半田ごてセット）
LEDをはんだ付けしないのなら不要です。


## BT化基板について
有線接続のHHKBをBluetooth接続できるようにするモジュール基板です。自作キーボード用パーツの販売等で良く知られる「KBDfans」や、中国の通販サイト「Taobao」で購入できます。
対応している製品はPro2とType-S。
JP配列の改造も可能みたいですが、ファームウェア書き換えのところでつまずくかも。
BT化した後も有線接続は可能で、USBハブ機能もそのまま使えます。

### 増える機能
+  Bluetooth接続（Bluetooth 4.0）

+  キーボード内部のUSB接続端子

     内部にUSBメモリを仕込めます。仕込刀ならぬ仕込メモリ。

+  ファームウェアの書き換え

+  3つのインジケータLED

     CapsLockなどの状態を点灯により表示することができますが、墨筐体だと全く見えません。白筐体だと透けて見えるみたい。はんだ付けにより実装します。

### 無くなる機能
+  キーボード背面のDIPスイッチ

    DIPスイッチは無くなりますが、ファームウェアの書き換えが可能なため、キーマップの自由度は格段に向上します。DIPスイッチだったところは電源スイッチになります。   

## BT化の手順
では、実際にBT化していきましょう！
改造と書きましたが、基板を直接弄ったり筐体に穴を開けたりすることはなく、**キーボード内の基板を交換**し、**バッテリーを取り付ける**だけであっさりBT化できちゃいます。お手軽。
そのため、改造に失敗しても元の基板を取り付けることで元通りに直すことができるので、その面でも安心です。

※ 改造は自己責任で行ってくださいね。

### 1. 元の基板を取り外す
まずはHHKBを分解し、中の基板を取り外します。

HHKBは裏面の3つのねじを外せば簡単に開きます。ねじが外せたら、キーボードの手前側を支点にしてぱかっと開けるようにするとうまくいくと思います。
![DSC_5752.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/ec3901ba-81d0-b75a-5f67-f084d59a5004.jpeg)

基板はねじ1つとツメで固定されているので、ねじを外し、ツメを折らないように取り出します。


基板を取り出せたら、キー部分の接続端子を引っこ抜きます。ツメ等で固定はされていないので、コードを持ってじわじわ抜いていきます。
![DSC_5840.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/450a78f6-7dd8-9538-7eb9-ef7fea76d499.jpeg)

基板を取り外すことができました。

### 2. BT化基板を取り付ける
次に、BT化基板を取り付けます。
取り外しの逆の手順で簡単に取り付けられます。BT化基板の方がちょっと小さい。

付属の白色LEDをはんだ付けする場合は、基板を取り付ける前に行ってください。![DSC_5767.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/3afe76e0-4df6-a1cb-63b2-af9dc708834d.jpeg)
挙動の確認のためにLEDを仮でつけてみたようす。LEDを実装する場合は、足を**2cmくらい切ってから**はんだ付けしてください。（ケースに収まらないため）


### 3. LiPoバッテリーを取り付け、固定する
LiPoバッテリーを取り付けます。
基板左にあるバッテリー接続用のコネクタに、バッテリーを接続します。
＋ーも念のため確認しておくと安心です。
![DSC_5850.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/9724019f-f50c-455e-49b6-d107b5cbbada.jpeg)


バッテリーを繋げられたら、キーボード内部の適当なスペースにバッテリーを固定しておきます。私はマスキングテープで固定しておきました。

![DSC_5851.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/bf3cdad0-f922-b7bb-2aea-b2a1b28b02aa.jpeg)


### 4.  新しいファームウェアを作成する
[ydkb.io](ydkb.io)にアクセスし、新しいファームウェアを作成します。

1. 「KEYBOARD」から「HHKB BLE」を選択し、キーボードのレイアウトを変更する。
2. 「LOAD KEYMAP」から「Pro2 default」を選択し、デフォルトキーマップを読み込む。
3.  右上の「Download」の「DL .bin file」を選択し、「HHKB_BLE.bin」をダウンロードする。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/d66df8d2-e229-afac-12ea-b3ee8217ed39.jpeg)



「Pro2 default」を読み込んだあとに、キーマップをいろいろ弄ることで、自分好みのキーマップにすることができます。

### 5. ファームウェアを更新する

Escを押しながらHHKBを有線接続することで、USB Flash Modeに入ることができます。この状態だとUSBドライブとしてHHKBにアクセスすることができ、格納されているファームウェアファイルにもアクセスすることができます。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/e316e8f4-b1ed-1513-1819-47a211386d63.jpeg)

ファームウェアファイルは「EEPROM.bin」と「HHKB_BLE.bin」の二つで、「HHKB_BLE.bin」にキーマップ情報が格納されているようです。

ダウンロードしてきた「HHKB_BLE.bin」をUSBドライブとして見えているキーボードに入れ、ファームウェアを上書きし、更新します。
更新が完了したら再度Escを押し、USB Flash Modeを抜けてください。

#### Mac環境で出現した謎現象
なぜか良く分かりませんが、マニュアル通りにHHKB_BLE.binを完全に削除し、ダウンロードしたHHKB_BLE.binを入れようとすると「ストレージが不足しています」と表示されて入れることができませんでした。謎です。

### 6. HHKBをペアリングする
ここまできたらほとんど完成です。
BT化基板の電源スイッチをONにすると、自動的にHHKBがペアリング待機状態になるので、接続したいPCでペアリング操作をしてあげてください。

お疲れ様でした！


![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387866/d2248dc4-98cc-f6e3-ae3f-d815d824704f.jpeg)

ちゃんとバッテリー残量も表示されます。素敵！👏


## 取り扱いのメモや気づいたことなど
### Bluetooth接続ができるのは1台のみ
マルチペアリング機能はないので、1台分の接続情報しか保持できません。

#### :warning: 切り替え時の注意 :warning:
HHKBが接続されていない状態でPC側の設定を削除してしまうと、HHKB側に設定が残ってしまい、別端末でHHKBを検索することができなくなってしまいます。接続を解除する時は必ず、「PCとHHKBがBluetooth接続されている状態」で設定を削除してください。
（HHKB側で接続設定を削除するには、ファームウェアの初期化が必要です）

### 内部USBメモリにアクセスする
HHKBを有線接続をした状態で「Fn+U」を押すと、内部のUSBメモリがマウントされるので、PCでアクセスできるようになります。
この状態でもう一度押すと、マウントが解除されます。
このキー割り当ては、ファームウェアの書き換えにより変更することができます。

### ソフトウェアリセット
「左Shift + 左Win/Command + Fn + B」を押すことでファームウェアの初期化を行うことができます。


## BT化HHKB Pro2とHHKB BTの比較
今回私がBT化したHHKB Pro2と、HHKB BTの仕様の比較をしてみます。

|   | HHKB Pro2(BT化) | HHKB BT |
|:-:|:-:|:-:|
|寸法 [^1]| 縦110 × 横294 × 高さ40 | 縦120 × 横294 × 高さ40 |
|質量（電池含む）| 535g | 578g [^2] |
|マルチペアリング| × | ○ |
|LEDインジケータ| △ [^3] | ○ |
|有線接続| ○ | × |
|内部USB端子| ○ | × |

寸法や質量はBT化Pro2の方が勝っています。

[^1]: 高さはキートップ上面まで。
[^2]: アルカリ単三乾電池1本を24gとする。
[^3]: 一般的なBluetooth端末に備わっている赤と青のインジケータを実装するには、LEDを追加で購入したり、設定を調整しなきゃいけなさそう。

## おわりに
費用は約8,000円、手順もシンプルなので30分くらいで済んじゃいます。お手軽ですね。
今回のBT化はめっちゃ便利なので「もうHHKB Pro2は持ってるけど、BTを追加で買うのはさすがに...」って人には特におすすめです！

また、「HHKB BT」は、単三電池を入れるためのちょっとしたでっぱりがあり、ちょっと不恰好になっていますが、BT化Pro2はキーボード内部にバッテリーを備えているので、見た目もそのままです。良き。
また、キーボード自体にUSBメモリを仕込めてしまうのも推しポイント。使い道はいまいち思いつかないけど...

それでは、良いはぴはぴライフを～:sunny:

## 参考にしたぺージ
[「HHKB ble MOD upgrade module」- KBDfans][HHKB ble MOD] ... KBDfansの販売ページ
[「YDKB HHKB Pro2 Type-S JP静电容改蓝牙BLE BT双模替换主控-淘宝网」](https://item.taobao.com/item.htm?id=590221409485) ... Taobaoの販売ページ
[「YD Keymap Builder」](ydkb.io) ... カスタムファームウェアの作成ページ
[「HHKB BLE Mod - Documentation for YDKB」](http://help.ydkb.io/doku.php?id=en:kb-mods:hhkb-ble) ... BT化基板のリファレンスページ
[「Reset Bluetooth - Documentation for YDKB」](http://help.ydkb.io/doku.php?id=ble-series:reset-ble) ... Bluetooth設定のリセット等についてのページ