LoginSignup
3
2

keyball61をBMPで無線化しつつ自動マウスレイヤーを使いたかったお話

Last updated at Posted at 2024-02-18

初めに

初めまして。普段は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が有効になっています。
スクリーンショット 2024-02-20 14.56.59.png

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自体がもともと軽量なのもあって重量増加による安定感を出したかったため、モバイルバッテリーが最適かなというのもあります。

見た目

意外と収まりが良いです。
スクリーンショット 2024-02-19 22.55.33.png

厚みは1.5倍くらい増える感じです。
スクリーンショット 2024-02-19 22.55.58.png

詰まったところ

その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を繋ぐケーブルがなくなったのも大きいですが、やはりセパレートタイプのキーボードは右手左手が独立していることが理想系ではあると思うのでかなり配置の面での使い勝手が良いです。

チャレンジできる方はぜひ無線化をおすすめいたします!

3
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2