keyboard

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の勉強をしつつ研究を重ねています。