拙作のrktkというフレームワークを用いたRust製のKeyballファームウェアです。現在Keyball61のみをサポートしています。
動作のためにはRP2040を搭載したProMicroが必要です。AliExpressなどで互換品がお安く買えます。通常のAVR ProMicroでは動かないので注意してください。
また、BLEに対応しておりnRF52840を搭載ボードでも動作しますが、BLE Micro Proでの動作は現状確認していません。 ピンの設定を適切に変更すれば動作するはずですが、本ファームウェアでは過去フラッシュの書き込みにバグがあり書き換えてはいけない領域を書き換えてブートローダが起動しなくなることがあったため自己責任でお願いします。
Zennの記事で紹介した際のkeyball-rs
のコードはlegacy
ブランチにあります。
このコードをライブラリ化したものがrktkです。
詳しくはrktkのページを参照してください。キーマップについてはQMKの機能のメジャーな所に相当するものは大体実装してありますが、ディスプレイ、バックライトは現状カスタマイズすることができません。
- 左右間の通信が安定しない
ビルドには以下のツールが必要です。予めインストールしておいてください。
-
このリポジトリをクローンします。
git clone https://github.com/nazo6/keyball-rs
-
ビルドするディレクトリに移動してビルドします。
cd keyball-rs/keyball61/keyball61-rp2040 cargo run --release
この際、デバイスがブートローダモードで接続されていれば自動でUF2ファイルがコピーされます。
また、UF2ファイルが
target/thumbv6m-none-eabi/release/keyball61-rp2040.uf2
に生成されるため、これを手動でコピーしても構いません。
キーマップはkeymap.rsで定義されています。これを編集することでキーマップを変更することができます。
rktkではソースコードでキーを変更する以外にも、以下のWebアプリを使うことでキーマップや設定を変更することができます。