Compile ErgoDox keymap
この前はErgoDox EZのキーマップをGUIで設定しました。
今回はErgoDox EZのキーマップをGUIではなく、自分でコンパイルしてみます。
TL;DR
- ファームウェアリポジトリをダウンロード
- ここに自分用のディレクトリ作成
- 作成したディレクトリに自分の
keymap.c
を設置 /
でmake keyboard=ergodox keymap=自分用のディレクトリ名
を実行.build/ergodox_ez_自分用のディレクトリ名.hex
が作成されるのでTeensy Loader ApplicationでErgoDoxに流し込む
完。
準備
まずファームウェアのリポジトリをダウンロードします。
ErgoDox EZのデフォルトキーマップは以下にあるのでこれを参考にします。
自分用のディレクトリ(lorentzca)を同じpathに掘っておきます。そしてそこに自分で用意したキーマップのファイルを設置しておきます(GUIでのキーマップ作成とソースコードの取得方法はこちら)。
こんな感じ。
新しくディレクトリを掘る必要は無いけれど、管理のしやすさのため掘ってみました。
コンパイルしてみる
ディレクトリツリーのルートに移動し、コンパイルします。
- コンパイルの準備が終わっていること!
- keyboardオプションでキーボードの種類を指定(ergodox以外のキーボードもあるので)
- keymapオプションに先程自分用に作成したディレクトリを指定
$ make keyboard=ergodox keymap=lorentzca
Making ergodox/ez with keymap lorentzca
avr-gcc (GCC) 6.2.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiling: keyboards/ergodox/ez/twimaster.c [OK]
Compiling: keyboards/ergodox/ez/matrix.c [OK]
Compiling: keyboards/ergodox/ergodox.c [OK]
Compiling: keyboards/ergodox/keymaps/lorentzca/keymap.c [OK]
Compiling: quantum/quantum.c [OK]
Compiling: quantum/keymap_common.c In file included from ./tmk_core/common/progmem.h:5:0,
from ./tmk_core/common/action_macro.h:20,
from ./tmk_core/common/action.h:25,
...
Creating load file for Flash: .build/ergodox_ez_lorentzca.hex [OK]
Size after:
text data bss dec hex filename
0 23114 0 23114 5a4a ergodox_ez_lorentzca.hex
できた!
出力の通り、.build/ergodox_ez_lorentzca.hex
にコンパイルされたファイルが作成されました! ✨
※ 他のMakeオプションなどについてはこちら。
適用
適用は先日やったとおり、Teensy Loader Applicationを使って行います。
感想
簡単だった。ドキュメントもそうだけど、すごい丁寧に作られてるんだな〜と思った。
これでGUIよりつっこんだ設定もできるようになったわけですが、そもそもまだ全然まともに打てる状態じゃないのでしばらくはGUIでの設定で充分そう...w
参考リンク
キーマップのディレクトリ構成。
ビルド手順。