Skip to content

nazo6/rktk-keyball-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rktk-keyball-rs

拙作のrktkというフレームワークを用いたRust製のKeyballファームウェアです。現在Keyball61のみをサポートしています。

動作のためにはRP2040を搭載したProMicroが必要です。AliExpressなどで互換品がお安く買えます。通常のAVR ProMicroでは動かないので注意してください。

また、BLEに対応しておりnRF52840を搭載ボードでも動作しますが、BLE Micro Proでの動作は現状確認していません。 ピンの設定を適切に変更すれば動作するはずですが、本ファームウェアでは過去フラッシュの書き込みにバグがあり書き換えてはいけない領域を書き換えてブートローダが起動しなくなることがあったため自己責任でお願いします。

昔のコード

Zennの記事で紹介した際のkeyball-rsのコードはlegacyブランチにあります。 このコードをライブラリ化したものがrktkです。

機能

詳しくはrktkのページを参照してください。キーマップについてはQMKの機能のメジャーな所に相当するものは大体実装してありますが、ディスプレイ、バックライトは現状カスタマイズすることができません。

既知の不具合

  • 左右間の通信が安定しない

ビルド(RP2040)

依存

ビルドには以下のツールが必要です。予めインストールしておいてください。

  • Rust (rustupの使用を推奨)
  • uf2deploy: cargo install uf2deploy
  • (オプション) flip-link: cargo install flip-link

手順

  1. このリポジトリをクローンします。

    git clone https://github.com/nazo6/keyball-rs
  2. ビルドするディレクトリに移動してビルドします。

    cd keyball-rs/keyball61/keyball61-rp2040
    cargo run --release

    この際、デバイスがブートローダモードで接続されていれば自動でUF2ファイルがコピーされます。

    また、UF2ファイルがtarget/thumbv6m-none-eabi/release/keyball61-rp2040.uf2に生成されるため、これを手動でコピーしても構いません。

カスタマイズ

キーマップ

キーマップはkeymap.rsで定義されています。これを編集することでキーマップを変更することができます。

Remapper

rktkではソースコードでキーを変更する以外にも、以下のWebアプリを使うことでキーマップや設定を変更することができます。

https://rktk-client.nazo6.dev/

About

Keyball firmware made with rust and embassy

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published