自作キーボード製作記 ~ファームウェア編~
自作キーボード第4回、今回は製作しているキーボードのファームウェアをQMK firmwareというツールを用いて作っていく。
QMK firmwareは以下のページのtutorial->setupの部分の説明に従ってインストールすることができる。QMK MSYSというコマンドツールがインストールされるので"4"の項目まで行えば環境の構築は完了。
./util/new_keyboard.sh
上のコマンドで新しくキーボードのファームウェアを一から作ることもできるが、ファイル構成やキーマップなどを変えることを考えるとすでにあるファームウェアをコピーしてキーマップを書き換えるの方が断然早そうなのでそうすることにした。
QMK MSYS上でqmk farmwareをインストールしたフォルダまでカレントディレクトリを移動させてから
qmk setup
でセットアップを開始。
製作したキーボードのファームウェアを作成する
qmk firmwareで作られるファームウェアのファイルの構成は以下のようになっている
<keyboard_name>(folder)
∟keymaps(folder)
∟<keymaps_name>(folder)
∟keymap.c
∟config.h
∟<keyboard_name>.c
∟<keyboard_name>.h
∟matrix.h
赤字で示しているmatrix.cはqmk firmwareにある他のfirmwareとは異なり、今回特別に使用しているプログラムである。以前の記事で書いた倍マトリックスを行うためのソースファイルである。
config.hではキーボードマトリクスに使用しているピンの指定やLEDに関する設定などを指定する。
<keyboard_name>.c は <keyboard_name>.hをインクルードしているだけなので特にいじらず、 <keyboard_name>.hでは製作したキーマトリックス通りのキーが認識されるよう行列を指定する。
keymap.cは<keyboard_name>.hで行列となったキーの番号とキー入力を対応させる行列を入力したファイルである。
上記のファイルたちを画像の通り104キーに対応するよう書き換えることでファームウェアを作成した。
これらのファイルをqmk firmwareをインストールしたフォルダ、\qmk_firmware\keyboards\<keybord_name>
に格納し、QMK MSYS上で
qmk compile -kb <keyboard> -km <keymap>
のコマンドを実行。
もしすでに製作したキーボードのpro microと接続されているのであれば
qmk flash -kb <my_keyboard> -km <my_keymap>
このコマンドで書き込みも行うことができる。
これでキー通りの入力ができていれば完成。
お疲れさまでした。
[追記]
最後まで読んでいただきありがとうございました
ここで紹介しました104キーのフルキーボードのKiCADデータ、qmk firmwareデータ
はご要望に応じて公開いたします。ご希望の方は下記TwitterのDMまでご連絡いただければと思います