⌨️

Keyball39のBMP(BLE Micro Pro)をVial対応した話

2024/07/16に公開
2

更新履歴

2024/8/21

本家とスクロール方向をあわせたuf2、スクロール方向を逆にしたuf2をリリースページに置きました。

2024/8/20

ビルド済みのuf2を作成し、リンクを貼りました。

はじめに

Keyball39をBLE Micro Proで無線化していたのですが、開発者のせきごんさんがVialに対応した新しいファームウェアを作ったとのことで、早速乗り換えてみることにしました!

https://x.com/_gonnoc/status/1720096184981917825

ところが、既存のファームウェアをのせかえるだけではうまくいかず、かなり試行錯誤しました・・・なんとか動くようになったので、他の方の参考になればと思い、記事に残すことにしました!
一からやってきたことについて書き起こすのが厳しかったので、だいぶざっくりとした内容になっています。BMPによる無線化の経験がある方、自分でファームが組める方など、一定のスキルがある方向けになっていますので、ご了承下さい🙇

ファームウェアの置き場

https://github.com/ukoasis/vial-qmk/tree/ukoasis/keyball39-bmp

ファームウェアの導入

https://github.com/ukoasis/vial-qmk/blob/4efe38165a428c2ba7d41b791d8f2608d455dcc3/keyboards/keyball/lib/keyball/keyball.c#L201-L202

ビルド済みのuf2ファイルを利用する

👇のページにある keyball_keyball39_bmp.uf2 もしくは、keyball_keyball39_bmp_invert_scrolling.uf2をダウンロードしてください

https://github.com/ukoasis/vial-qmk/releases/v1.2.0

  • keyball_keyball39_bmp.uf2
    • スクロール方向が本家と同じ
  • keyball_keyball39_bmp_invert_scrolling.uf2
    • スクロール方向が本家と逆

ソースからビルドする

ソースをチェックアウトしてビルドしてください

git clone -b ukoasis/keyball39-bmp https://github.com/ukoasis/vial-qmk.git
cd vial-qmk
make -j8 keyball/keyball39:bmp:uf2 

公式サイトの手順で、左右のBMPにファームウェアを焼いてください

BMPの設定

https://github.com/ukoasis/vial-qmk/releases/tag/v1.2.0

にある、left_config.bin,right_config.binを公式サイトの手順に沿って書き込みます。

環境によって遅延が気になるなど、自分の環境に合わせて修正したい場合、jsonファイルを用意して、config.binを以下の手順で作成します

jsonファイルからconfig.binの作成

vial.json, 左手用のconifg.json, 右手用のconfig.jsonを用意します。私が作成したconifgは以下の場所にあるので、それを利用して書き換えると最初は簡単です。慣れている方は自分で作る、または、持っているものを修正して用意してください。

私が作成した設定ファイルはkeymapの中に入っている以下の3ファイルです。

https://sekigon-gonnoc.github.io/bmp-vial-config-generator/

こちらのサイトで、vial.jsonのフォームにvial.jsonをコピペ。次にconfig.jsonのフォームにright.config.jsonをコピペして、Download config.binを実行。これで、右手側のconfig.binを作成されます。
続けて、vial.jsonは変更が無いので、left.config.jsonをconfig.jsonのフォームに上書きしてコピペ。Download config.binを実行して、左手側のconfig.binを作成します。

あとは、同様に公式サイトの手順に沿って書き込みます。

ハードウェア周り

自分の環境は以下の通りです。

  • Keyball39
  • BLE Micro Pro x 2
    • ピンヘッダーを利用
    • バッテリーはモバイルバッテリーを使うので、12ピンのものを利用
  • モバイルバッテリー x 2
    • cheero Slim 5000mAh IoT機器対応 【USB-C ver.】を利用
    • 薄さと軽さに惹かれてTNTORのモバイルバッテリーを使っていましたが、ボールが無い方のキーボードで、給電が不安定になってしまうことが多かったので、cheeroに変更しました

さいごに

自分の環境だとなかなか接続が安定せず、仕事で利用するのが厳しい状況でしたが、bmp-vial-1.2.0がリリースされてから、問題なく仕事で使えるようになりました。改めて開発者のせきごんさんに感謝です 🙏
ファームウェアは公開しているので、修正や改変など自由に利用してください!ただ、利用者が現状、筆者のみなので、予期せぬ動作になる可能性があります。利用は自己責任のもとでお願いします🙇

もし、こちらのファームウェアが役に立ったと思われた方はZennのLike、GitHubのStarをつけていただけると励みになります!!!

実装は以下のコードを参照させていただきました!ありがとうございます!

https://github.com/Yowkees/keyball

https://github.com/sekigon-gonnoc/vial-qmk

https://github.com/burakiyo/qmk_firmware

また、BMPとVial周りに必要な情報として、以下の記事を参考にさせていただきました!ありがとうございます!

https://zenn.dev/komatsuh/scraps/d9243455d36457

Discussion

ukoasisukoasis

Keyball44の記事作成ありがとうございます!!
自分がKeyball39しか持っていないので、Keyball44で動かしていただいた方の記事はありがたいです!!
自分は詰まりすぎていて、詰まったところが共有できていなかったのですが、記事にまとめていただいたので、これから実装する人にも役に立つはず 👏