QMK-MSYSを使ってWindows上に最速でqmk環境を構築する

5 min read読了の目安(約4600字

友達にqmk環境をセットアップしてもらう時に見つけた方法を紹介します。多分これが一番早いと思います。

1 QMK MSYSをインストールする

公式サイトにいきます。
latest version ↓(赤枠の部分)からgithubのページに飛びましょう。

そして、QMK_MSYS.exeをダウンロードします。

ダウンロードが完了したら開きましょう。

画像の様に、インストーラが起動すると思うので、指示にそってインストールします。基本は全てyesで問題ないです。
そして起動するとこんな真っ黒い画面になるかと思います。恐れることはありません。

2 QMKの設定を行う

インストールが完了したら、まずqmkのsetupを行ましょう。その黒い画面で、以下のコマンドを実行します。
qmk setup
すると、以下のように表示されると思うので、yを押下します。

すると、cloning into ..みたいな感じでqmk_firmwareの本体がダウンロードされてきます。なんやかんやで結構かかると思いますが、気長に待ちましょう。

以下のように、QMK is ready to goと出たらインストール完了です。簡単ですね。

3 ファームウェアを作成してみる

それではキーボードのファームウェアを焼いてみましょう。
上の画像の中ほどにあるQMK homeに自分が今いるディレクトリ(カレントディレクトリと言います)を変更してみましょう。変更するにはcdコマンドを使用します。
cdという文字に続けて、QMK homeの右側に記載されている文字列をコピーして貼り付けてエンターを押します。

これでディレクトリを変更できました。それでは試しに何かファームウェアを焼いてみましょう。
今回は国内だけでなく世界的にも人気のあるfoostanさんのcrkbdのファームウェアを焼いてみましょう。
ファームウェアを焼くにはmakeコマンドを使用します。makeに続いて、crkbddefaultのファームウェアを焼きたいので、make crkbd:defaultと入力します。

なにやらいっぱい[OK]の文字が出てきますね。ここではいろんな設定ファイルを組み合わせてファームウェアをコンパイル(人間が読める言語をマイコンが読める言語に変換すること)しています。

そのまま少し待っていると、下の画像のように

 * The firmware size is fine - 21684/28672 (75%, 6988 bytes free)

と出てくると思います。
これでファームウェアの完成です!

4 ファームウェアをマイコンに焼いてみる

ファームウェアをキーボードに転送する方法は

  1. QMK toolboxを使う(ソフトのインストールが必要だが、こちらの方が簡単)
  2. このままコマンドラインから書き込みコマンドをたたく

の二つの方法があります。
1についてはいろんな方がネットでやり方を公開されているので、今回は省略します。
QMK toolbox 使い方等で検索するとたくさん出てくるかと思います。
ということで、今回は2のやり方について説明します。

こちらも特に難しくはありません。先ほどのmakeコマンドにつけて、:flashというコマンドのオプションをつけるだけでqmkが書き込みモードに入ってくれます。
それでは実行してみましょう。
今回も今回とてfoostanさんのcrkbdのファームウェアをありがたく使用させていただきます。


このコマンドを打つと、先ほど作成したファームウェアがマイコンに書き込んでも大丈夫かをチェックした後、QMKがマイコンの接続を待っている状態になります。
この状態でマイコンもしくは自作キーボードを接続し、基板にリセットボタンが付いているものはそれを、ついていない場合はマイコンのRSTというピンとGNDというピンをピンセット等でショートさせてマイコンに書き込みましょう。

ログが少し多くて全て入りきっていませんが汗
下の方にavrdude.exe done. Thank you.と記載されると書き込み完了です。

お疲れ様でした!!!

すごく簡単にキーボードのファームウェアを焼く環境ができました!

Tips キット製作者のqmkレポジトリを追加する

gitを多少使える方はこのtipsは読み飛ばしてもらって結構です。

qmkにマージされていないファームウェアを使った自作キーボードキットも存在します。
そういう場合、その人が公開しているファームウェアを別にダウンロードする必要があります。

そして、そのファームウェアはほぼ100%の確率でgithubで公開されています。

本来であれば独自のファームウェアをダウンロードすることになり、無駄なファイルが多くなってしまいますので、gitのリモートレポジトリを複数管理する方法を用います。この方法を使うことで、複数のgitレポジトリをコマンドで切り替えて管理することが出来ます。

まず、QMK_MSYSを開きましょう。

その後、以下のコマンドを打ちます。
git remote -v
すると、このような表示が返ってきます。

これはリモートレポジトリというもので、基本はこのoriginと名付けられたものからqmk_firmwareの変更点等を取得してきます。

今回は私が作成したOwnlyというキーボードのファームウェアを取得していきましょう。こちらのファームウェアはまだqmk本体にマージされていない(同梱されていない)ので、別にダウンロードしてくる必要があります。

今回使用するファームウェアはこちらです。こちらのレポジトリをリモートレポジトリとして管理してみましょう。
もし他のどなたかが作成されたキーボードのファームウェアを使用する場合は、以下に名付けたものとレポジトリのurlは適当なものに置き換えてください。

まず、私のファームウェアのディレクトリをリモートレポジトリとして追加します。

$ git remote add diwamoto https://github.com/Diwamoto/qmk_firmware.git

これでリモートレポジトリが追加されます。それでは実行してみましょう。

追加した後、もう一度リモートレポジトリを確認してみると、正常に追加されていることがわかりますね。
次にそのリモートレポジトリから現在のファームウェアとの変更点をダウンロードしましょう。(本来の意味とは違いますが、今は便宜的にこのように説明しています。)

以下のコマンドを順に実行します。

git fetch diwamoto ownly
git checkout diwamoto/ownly

するとこうなります。

ちょっと私のファームウェアの状況がよくないようで、少しおかしい表記になっています(恐らく本家ファームウェアと私のファームウェアのバージョンがあっていない)
この状態でも差分はダウンロードできていますので、ダウンロードしてきたOwnlyのファームウェアを作成して見ましょう。

コンパイルされているのがわかります。あとは先ほど説明したように、キーボードに書き込みましょう。

この記事は
Ownly + hako violet(Tribosys 3204 + krytox GPL105) + taihao keycapと
Crkbd + gateron silent red(krytox 205 + krytox GPL 105) + aliで買った安いキーキャップ
で書きました。