ZMKファームウェア生成ツールを作り始めました
ZMK開発プロジェクト
なぜこのツールを作ろうと思ったのか
自分がZMKで挫折した経験がきっかけでした。
ファームウェアという壁
自作キーボードを作る上で、一番のハードルは「ファームウェア」だと思っています。
- 開発環境の構築が大変
- 設定ファイルの書き方がわからない
- エラーが出ても原因がわからない
特に無線キーボードを作りたい場合、ZMKというファームウェアを使うことが多いのですが、これがまた難しい。
無線キーボードを作りたい人は多い
- ケーブルがないのはスッキリ
- デスクの自由度が上がる
- 持ち運びが楽
でも、ZMKのハードルが高くて諦める人も多いんです。
ZMKって何?
ZMKは、無線キーボード向けのオープンソースファームウェアです。
QMKとの違い
| 項目 | QMK | ZMK |
|---|---|---|
| 接続方式 | 有線のみ | 無線対応 |
| バッテリー | - | 省電力設計 |
| ビルド環境 | ローカル | GitHub Actions |
ZMKの特徴は:
- Bluetooth対応 - 無線接続が標準
- バッテリー管理 - 省電力で長持ち
- クラウドビルド - ローカル環境不要
でも難しい
# ZMKの設定例
behaviors {
ht: hold_tap {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <200>;
// ...続く
};
};こんな設定ファイルを書く必要があります。初心者には厳しい...。
どんなツールを作るのか
コンセプト
「GUIでファームウェア生成、環境構築不要」
初心者でも30分で無線キーボードのファームウェアが作れることを目指します。
主な機能
-
キーボード選択
- 対応キーボードをリストから選ぶだけ
-
キーマップ設定
- ドラッグ&ドロップでキー配置
- レイヤーも視覚的に設定
-
ファームウェア生成
- ボタン一つでビルド
- ダウンロードしてキーボードに書き込むだけ
技術スタック
現時点での計画:
- フロントエンド: Next.js + TypeScript
- UI: Tailwind CSS
- ビルド: GitHub Actions API
- ホスティング: Vercel
現在の開発状況
完了したこと
- 要件定義
- 技術スタック選定
- ワイヤーフレーム作成
これから
- プロトタイプ作成
- キーマップエディタ実装
- GitHub Actions連携
- ベータテスト
今後の予定
MVP(最小機能版)
1〜2ヶ月で最小機能版を完成させる予定です。
最初は対応キーボードを限定して、基本的なキーマップ設定とビルドができる状態を目指します。
ベータテスト
ある程度形になったら、ベータテスターを募集するかもしれません。実際に使ってもらってフィードバックをいただきたいです。
フィードバック募集
「こんな機能が欲しい」「こういう使い方がしたい」などあれば、ぜひ教えてください。TwitterのDMやGitHubのIssueで受け付けています。
さいごに
このツールで、一人でも多くの人が無線自作キーボードを作れるようになれば嬉しいです。
開発の進捗はこのブログで共有していきます。
応援していただけると励みになります!
関連リンク