QMK firmware
正式名称は Quantum Mechanical Keyboard Firmware 。
自作キーボード界隈では、デファクトスタンダードになっているファームウェアのフレームワークです。
実際、非常に作り込まれているフレームワークで、通常のキーボードに必要な機能に加えて、キーマップのレイヤ機能やマクロ機能、バックライトのアニメーションまでサポートしています。
2020年12月29日の時点で、このフレームワークを使用したキーボードは軽く500を超えます(リポジトリのkeyboardsディレクトリでls | wc した結果が587で、実際にはさらにサブディレクる)。すごいです。
しかも、本家のリポジトリに含まれているものの多くは、 QMK Configurator を使ってキーマップを変更できるので、エンドユーザに対しても親切なフレームワークになっています。
ただ。
- リポジトリが大きすぎ
- forkしたまま開発を進めている派生リポジトリも多い
- C/C++ (; - ;)
- makeやプリプロセッサを駆使しているため、IDEの静的解析が働かず、ちょっと踏み込んだことをやろうとすると、どうしたらいいのかわからない
- 具体的にいうとRGBLIGHTを使うとしばらく動いた後、フリーズしてしまうのだけど、その原因がわからない。orz
といった弊害もあって、特にバリエーションが増えがちなmoduloアーキテクチャとは相性が良くありません。
ということで、当研究所では現状ではQMK firmwareを使いつつ、新たな新天地として、Keyberon への移行を目指して、Rustの勉強をしつつ研究を重ねています。