ZMKベースの自作キーボードの設定変更をしたい。でもPCを開く時間が取れないのでスキマ時間を活用したい。または出先でスマホに繋いでいるときにその場でキーマップや設定を最適化したい。そんなことありませんか?
それなら、スマホだけで完結できるのが理想です。スマホは常時起動しているPCのようなもの。キーボードの設定変更やファームウェアの書き換えも、スマホだけでできないかな、と。
そこで本記事では、Androidスマホを使ってXiao BLEベースの自作キーボードにZMKのキーマップやファームウェア設定を変更し焼くまでの手順を解説します。
手順
以下の手順は、
- Xiao BLEを使った自作キーボード(Corne Xiao)
- Androidスマホ(Google Pixel 8a)
の組み合わせで動作検証しています。
それ以外の組み合わせでは具体的な手順が異なるかもしれません。適宜読み替えてください。
1. ZMKのGitHubリポジトリを準備する
まず、ZMKのGitHubリポジトリを用意します。公式のZMKリポジトリや、使っている自作キーボード用のZMK Configリポジトリをフォークして、自分専用のリポジトリを作成します。
- GitHubにアクセスし、ZMKのリポジトリをフォークします。
- フォークしたリポジトリをGitHub上で編集できるようにします。
2. Keymap Editorで設定を変更する
次に、Keymap Editorと1で作成したGitHubリポジトリを連携させ、キーマップやBehavior(キーを押したときの動作)などを更新し、GitHubへ保存します。
- Keymap Editorにアクセスします。
- 左上のメニューからGitHubリポジトリを指定します。
- 必要なキー配置やファームウェア設定を変更します。
- 設定を完了したら「Save」して、GitHubリポジトリにコミットします。
3. ファームウェアをビルドしてダウンロードする
GitHubに変更をコミットすると、GitHub Actions が自動的にファームウェアをビルドしてくれますので、スマホにダウンロードします
- 自分のGitHubリポジトリを開きます。
- Actionsタブを開き、ビルドの進行を確認します。
- 数分待つとビルドが完了し、Artifacts 欄にファームウェアが出力されます。
- Artifacts欄 にあるファームウェアをスマホにダウンロードします。
5. スマホと自作キーボードをUSB接続し、ファームウェアを書き込む
あとはファームウェアを焼くだけです。以下手順はXiao BLEベースで書いていますので、他のマイコンを使っている場合はそのマイコン用の手順に読み替えてください。
- USBケーブルでスマホと自作キーボードを接続します。
- Xiao BLEのリセットボタンを2回押し、ブートローダーモードに入ります。
- スマホ上に「USBストレージ」としてXiao BLEが表示されます。
- スマホのファイルマネージャーを開きます。
- ダウンロードしたファームウェアをXiao BLEのUSBストレージにコピーします。
- コピー完了後、Xiao BLEが自動的にリブートされ、新しい設定が適用されます。
なお最後のリブートのとき、スマホ上では「書き込みに失敗しました」とエラーメッセージが表示されることがあります。これはXiao BLEのリブートの挙動によるもので、実際は正しく書き込まれています。エラーメッセージは無視しても問題ありません。
以上で手順は終了です。もし左右分割キーボードを使っている場合、左右両方のファームウェアを焼き直すのを忘れないようにしましょう。
注意点
- USBケーブルは必須です。忘れると作業できません。
- Xiao BLEのリセットボタンは小さいです。2度押しするにはペンやピンのような細い棒があると便利です。
- USBケーブルの抜き差しが多いです。マグネットUSBケーブルを使うと楽です。
- キーマップだけの変更ならZMK Studioを使いましょう。ファームウェアを書き換えはそこそこ手間なので、キーマップのみならZMK Studio、それ以外の設定も変更するならKeymap Editor、と使い分けるのがおすすめです。
まとめ
ZMKは単なるファームウェアではなく、GitHubやGitHub Actions、Keymap Editorなどのクラウドネイティブなエコシステムが完成しているのが魅力です。
PCなしでも、スマホだけでキーマップを変更し、ファームウェアを書き込める環境が整っています。この仕組みを活用すれば、どこでも気軽に自作キーボードの設定を調整できます。
せっかく丹精を込めて作った自作キーボードなので、スキマ時間を使って、キーマップも設定も、どんどんアップデートして自分色に染めていきたいですね。
最後まで読んでいただいてありがとうございました。
コメント