QMK Firmwareでの自分のソースコード管理

QMK Firmwareの自分のキーマップの管理方法について、自分なりの形ができたためメモを兼ねて書いてみる。基本的にはMacの話だが、Windowsでも同様のことは可能だと思う。 画像なし、文章のみ。

個人的な問題点

  • キーマップなどの情報をkeyboardフォルダ配下で管理するように設計されているが、自分のキーマップはQMKにプルリクするつもりがない。
  • keyboard配下のフォルダは階層が深い。深い位置でgit管理したくない。
  • QMK最新版を取得する時は別フォルダで管理したいが、そのたびにローカルクローンを作成したくない。

理想の環境

  • 自分のソースコードはDocument配下でgit管理。
  • QMK本体とは違う場所にあるkeymapのソースをビルドしたい。→課題!

課題の解決方法

  • keyboardフォルダ配下にフォルダのショートカットを作成してビルドするイメージ。
  • ただし通常のショートカットではビルドできないため、シンボリックリンクを使用する。

シンボリックリンクを作成する方法

シンボリックリンクはTerminal.appからコマンドで作成する。コマンドは以下。

$ ln -s (実ファイルのフルパス) (リンクを作成するフルパス)
$ ln -s ~/Document/keyboard/crkbd /QMK/qmk_firmware_hogehoge/keyboard/crkbd

“-s”をつけ忘れると「ハードリンク」が作成される。間違えて作成した場合はゴミ箱へ捨てて作り直せば良い。

参考

https://webrandum.net/alias-symbolic-link/ https://atmarkit.itmedia.co.jp/ait/articles/1605/30/news022.html

シンボリックリンク作成までの手順

  • 自分のソースコードをgitで管理し、Document配下にクローンを作成する。
  • QMK最新版を取得する。
  • QMKのkeyboard配下のフォルダを全て削除する。
  • 以下の流れでシンボリックリンクを作成する。(極力手打ちしない方法)
  • keyboard配下に作成したいシンボリックリンクのフォルダを作成する。
    • Terminal.app を起動し、”ln -s “を入力する。
    • Terminal.app に対して、Document配下のフォルダをD&D。後ろにスペース追加。
    • Terminal.app に対して、keyboard配下のフォルダをD&D。
    • keyboard配下に作成したフォルダを削除
    • Terminal.app のコマンドをenterで実行
    • QMKのmakeコマンドを実行し、ビルドできることを確認

最後に

自分用のメモを兼ねて記事に書いてみた。書いて気になった点を挙げておく。

  • QMKの最新版を別フォルダで管理するのであれば、それごとにローカルクローンを作成した方がいいのではないか。バージョン別にその時ビルドできた環境が残るメリット。(QMK Firmwareのバージョンを分けたい気持ちが強いのでそこまでしなくてもいいかな?微妙)
  • キーボード単位にシンボリックリンクを作成するのではなく、keyboardフォルダ自体のシンボリックリンクの方が手間が減りそう。

ソースコード(キーマップ)をgitで管理できるのはやっぱり大きい。キーマップの変更をバージョン管理できるし、キーマップ以外の部分でがっつり変えたいときはブランチを分けて試すことができる。

ちなみにQMK Firmwareではハイフンのついたフォルダ名はビルド出来ないようなので別ブランチの名前(もしくはcloneするフォルダ名、またはシンボリックリンク名)にはハイフンを入れず、アンダースコアなどで対応した方が良い。

以上