YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

qmkコマンドでkeymap.cからキーマップの図を生成する

はじめに

こんにちは、Google Cloud Operations担当者です。最近のCloud Ops関連のリリースではCloud ProfilerのHistory Viewがお気に入りです。

最近は自作キーボードのパーツショップの開店に向けて仕入れなどをほそぼそと行っています。海外からの仕入れはいろいろと難しいことがたくさんある!今月末には開店したいなと思います。

それとは別に自作キーボードエンジョイ勢として、新しいキーボードを組み立てたり、キーマップの変更を楽しんだりしています。

キーマップの作成は普段は直接エディターで keymap.c を編集しているんですが、大胆に変更を加えたあとはキーマップを覚えきれておらず、いちいち keymap.c を確認しにいっていました。しかしそれが非常に面倒だと思っていたところ、こちらのPull Requestがあったので、早くmasterに入らないかなと思っていたところ、ついに取り込まれたので早速試してみました。

qmk c2json コマンド

github.com

このPull Reqeustによって qmk_firmware に取り込まれているキーボードの標準的なキーマップ(コンボやマクロを多用していないようなもの)の keymap.cQMK Configuratorで使用できる keymap.json に変換できるようになりました。まだPyPIでダウンロードできる qmk コマンドには取り込まれていないので、本記事執筆時のmasterのHEAD(bc79e51)で試してみます。

$ cd ${QMK_FIRMWARE_ROOT}
$ python -m venv .venv
$ .venv/bin/pip install -r requirements.txt
$ .venv/bin/python ./bin/qmk c2json -o keymap.json -km ymotongpoo -kb crkbd/rev1 keyboards/crkbd/keymaps/ymotongpoo/keymap.c
Ψ Wrote keymap to /home/ymotongpoo/personal/qmk_firmware/keymap.json

venvのくだりは個人の趣味でOS直に入っているPythonの環境を汚したくないだけなので、気にしない人はこのあたり無視していきなり pip install して大丈夫です。ここで生成した keymap.json を QMK Configurator に読み込ませてみると表示されました!これは助かる!

f:id:ymotongpoo:20201007122030p:plain

これをPDFにするなり印刷するなりして見えるところに置いておけばいつでもキーマップを確認できますね。

f:id:ymotongpoo:20201007121613p:plain

参照

config.qmk.fm