初めに
初めまして。普段はWebエンジニアのお仕事している身分です。
WebエンジニアやっていてQiita投稿したことないので、まさかの自作キーボード関係が初記事になりました。
keyballという素晴らしいキーボードを使って半年経ったのですが無線化でもっと快適にしたいと思い動きました。有志の方々が備忘録を残してくださっているおかげでだいぶ敷居が下がってBMPの導入がしやすくなっていますが、やはりいざチャレンジすると色々と壁にぶち当たってしまったので他の方の参考になればと思い、自分も記事を残すことにしました
参考リンク
BMPファームウェアの参考
https://github.com/yu-zyu/ble-micro-pro-keyball61/tree/main
自動マウスレイヤーの参考
https://github.com/kamiichi99/keyball/blob/main/qmk_firmware/keyboards/keyball/readme.md
BMP + 自動マウスレイヤーのファーム
こちらをBMPに焼いた後、remapなどで、レイヤー4にBTN_1とBTN_2を設置してください。
トラックボール操作中はレイヤー4が有効になっています。
uf2ファイルだけ欲しいかたはこちら
https://github.com/koheishinpuku/keyball/blob/main/keyball_keyball61_c_bmp.uf2
ハードウェア周り
今回のハードウェア周りは以下になります。
- keyball61
- BLE Micro Pro x 2
- コンスルーピン x 4 (右と左で2つ使うので)
- モバイルバッテリー2つ(https://www.maxell.jp/consumer/mpc-cb5000p.html)
- 低電流対応のものを買わないと動かない可能性があります
- この製品は奇跡的にkeyball61の横幅とジャストサイズになります
大体みなさんはボタン電池や単4電池ボックスを作ったりしてコンパクトな構成をしていますが、電源実装やトラックボールユニットへの電圧供給など色々面倒だったので、モバイルバッテリーを使って代用しています。
他にもkeyball自体がもともと軽量なのもあって重量増加による安定感を出したかったため、モバイルバッテリーが最適かなというのもあります。
見た目
詰まったところ
その1 BMP自体のファームウェア更新
公式サイトの手順でいくとこの部分になります。
https://sekigon-gonnoc.github.io/BLE-Micro-Pro/#/getting_started?id=ble-micro-pro-web-configurator%e3%82%92%e4%bd%bf%e3%81%86
まずそもそもkeyballはBLE Micro Pro Web Configuratorのキーボードの種類はないのでここでは、ブートローダーとアプリケーションの更新のみで使用します。
気をつけて欲しいところがありまして、ドキュメントにも記載があるのですが
2つのファームウェアのバージョンは<major>.<minor>.<revision>の3つの数字の組み合わせで表されていて、ブートローダとアプリケーションのメジャーバージョンとマイナーバージョンは一致させる必要があります。
この部分です。
適当に選ばないで先頭二つの数字が一致していればOKです。
こういう組み合わせはOK
ble_micro_pro_bootloader_1_1_0
ble_micro_pro_vial_1_1_2
これはダメ
ble_micro_pro_bootloader_1_0_0
ble_micro_pro_vial_1_1_2
その2 keyballのファームウェア更新
keyballでBMPをセットアップするには以下の二つの作業が必要です
- BMPにQMKfirmwareでビルドしたファームを焼く
-
KEYMAP.JSN
とCONFIG.JSN
をコピー
こちらに関してもBMPのドキュメントを見れば手順などは載っているのですが、それぞれ作業方法が微妙に違うので間違えないようにしましょう。
BMPにQMKfirmwareでビルドしたファームを焼く
-> リセットボタンを押しながらPCと接続すると、BLE Micro Proと認識されるので、この状態でuf2ファイルをコピーしましょう
`KEYMAP.JSN `と` CONFIG.JSN`をコピー
-> 普通にPCと接続されたら外部機器としてマウントされるのでただただドラッグ&ドロップをするだけで大丈夫です
地味にこれを忘れていて全然ファームウェアが焼けなくてBMPが調子悪いのかと思っていました・・・。
その3 console.pyでエラー出ててQMKfirmwareで全然ビルドできない!!
これ結構困りました。エラーばっかり吐いてビルドできないし、なんでやねん状態でした。
まあ環境によってはいろんなエラーが出るかもなのですが、自分の場合以下のところが原因で全然できませんでした。
https://github.com/sekigon-gonnoc/qmk_firmware/blob/1edb40cc60e7a1e2b152278008830b8e1dc30eea/lib/python/qmk/cli/console.py#L262
Xを見た感じでも他に同じ様子の方がいたのですが、256〜261行をコメントアウトして対応していたので自分も真似をしました。
特にコメントアウトしても問題なく使用できているので、多分大丈夫かなと思っています。
その4 keyballが無線で動いたけど、自動マウスレイヤーが欲しい
もともと有線で使っていた時はkamidaiさんという偉大なお方が配布してくださっていた自動マウスレイヤーのファームを少しいじって使わせていただいていたのですが、これと同じ機能が使いたいけど、まだ無線化でkeymapを公開しているものがありませんでした。
なのでkamidaiさんのものとBMP先駆者の方々のファームウェアを合体させまして、実装しました。
GitHubで公開しておきますので少しでも参考になればと思います。
QMKfirmware訳わかんないよ!って方もいるかなと思うので、ビルドしたファイルもGitHub上に置いておこうかと思うのでぜひ使っていってもらえると。
まとめと感想
ノリと勢いで取り掛かって意外と時間がかかったのですが、やってよかったと思いました。
TRRSケーブルとPCを繋ぐケーブルがなくなったのも大きいですが、やはりセパレートタイプのキーボードは右手左手が独立していることが理想系ではあると思うのでかなり配置の面での使い勝手が良いです。
チャレンジできる方はぜひ無線化をおすすめいたします!