QMKファームウェアの使い方|ビルドから書き込みまで5ステップで解説

結論:初心者ならまずVIA/Vialを使い、より細かいカスタマイズをしたくなったらQMKに移行するのが最も効率的です。

QMKは自由度が非常に高い反面、環境構築や設定に手間がかかるため、最初から使うより段階的に移行したほうが失敗しにくいです。

目次

QMKファームウェアとは?VIAやVialとの違いも解説

QMKファームウェアは、カスタムキーボードのキー配列や機能を自分好みに変更するためのオープンソースソフトウェアです。キー入力の挙動をプログラムレベルで制御できるため、市販のキーボードでは不可能な高度なカスタマイズを実現します。

例えば、特定のキーを長押しした時だけ別のキーとして機能させたり、複数のキー入力を一つのキーに割り当てるマクロを作成したりできます。自由度が高い反面、設定には専門的な知識が少し必要です。

一方で、VIAやVialはQMKをベースにした、より直感的にキーマップを変更できるツールです。プログラミング不要で、リアルタイムに設定を反映できます。VIAは現在、インストール不要のWebアプリ(usevia.app)としてブラウザから使うのが主流です。ただしいずれも、キーボード側のファームウェアがVIA/Vialに対応していることが前提となります。

QMKとVIA/Vial、あなたに合うのはどっち?

どちらを選ぶべきか迷う方のために、それぞれの特徴を比較表にまとめました。手軽に始めたいならVIA/Vial、究極のカスタマイズを求めるならQMKがおすすめです。

項目QMK FirmwareVIA / Vial
設定方法C言語(keymap.c)の編集とビルドが必要GUI(VIAはブラウザ、Vialは専用アプリ)でリアルタイムに変更
自由度非常に高い(マクロ、LED制御など全て可能)QMKの機能の一部に限定される
難易度高い(環境構築やコマンド操作が必要)低い(プログラミング不要)
設定反映変更の都度、ファームウェアの書き込みが必要即時反映(書き込み不要)
おすすめな人・キーボードの機能を極限まで追求したい人
・プログラミングに挑戦したい人
・手軽にキーマップを変更したい初心者
・複数の配列を試したい人

この記事では、最も自由度の高いQMKファームウェアのビルドと書き込み方法に焦点を当てて、初心者でも再現できるよう丁寧に解説します。

QMKファームウェア導入の前に|必要な準備と注意点

QMKのビルド作業を始める前に、必要なツールと環境を整えましょう。事前の準備をしっかり行うことで、後のトラブルを大幅に減らすことができます。

なお大前提として、ファームウェアを書き込めるのはQMKが対応しているキーボードだけです。自作キーボードキットやQMK/VIA対応を謳う製品が対象で、一般的なメーカー製ゲーミングキーボード(Logicool GやRazerなど)には書き込めません。お使いのキーボードが対応しているかは、QMKリポジトリのkeyboardsフォルダか販売元のページで確認してください。

必要なソフトウェア・ツール一覧

以下のソフトウェアを公式サイトからダウンロードし、PCにインストールしてください。すべて無料で利用できます。

  • QMK MSYS:WindowsでQMKのビルド環境を簡単に構築するためのツールです。コマンドライン操作の基盤となります。Macの場合はHomebrewからbrew install qmk/qmk/qmkでCLIを導入できます。
  • QMK Toolbox:ビルドしたファームウェアをキーボードに書き込む(フラッシュする)ためのGUIツールです。ドライバーのインストールも行えます。
  • テキストエディタ:キーマップを編集するためのソフトウェアです。「Visual Studio Code」など、プログラミング向けのものがおすすめです。Windows標準のメモ帳は文字コードの問題を起こす可能性があるため避けてください。

必要なハードウェアと予備部品

作業にはPCと対象のキーボード本体の他に、以下のものがあると安心です。

  • PCとキーボードを接続するUSBケーブル:データ転送に対応したケーブルが必要です。充電専用ケーブルではキーボードが認識されないため注意してください。
  • リセット用具(ピンセットやクリップ):キーボードを書き込みモード(DFUモード/Bootloaderモード)にする際に、基板上のリセットボタンや特定のピンをショートさせるために使います。金属製のものを用意しましょう。
  • (任意)予備のマイクロコントローラー:万が一、書き込みに失敗してマイクロコントローラー(Pro Microなど)が故障した場合に備えて、予備があると精神的に安心です。必須ではありません。

全体の所要時間と作業時の注意点

全体の所要時間は、初めての方で約1時間〜2時間が目安です。環境構築で30分、キーマップ編集とビルドで30分、書き込みとトラブルシューティングで30分程度を見込んでおくと良いでしょう。

作業中は以下の点に注意してください。

  1. 公式ドキュメントを併用する:QMKは常にアップデートされています。この記事と合わせて、QMK公式ドキュメント(英語)も参照することをおすすめします。
  2. バックアップを取る:編集する前のキーマップファイル(keymap.c)は必ずコピーしてバックアップを取っておきましょう。いつでも元の状態に戻せるようにしておくことが重要です。
  3. 焦らず一つずつ確認する:エラーが出ても慌てず、メッセージをよく読んでください。ほとんどのエラーは、タイプミスや手順の見落としが原因です。

【5ステップ】QMKファームウェアの使い方|ビルドから書き込みまでの全手順

ここからは、QMKファームウェアをビルドし、キーボードに書き込むまでの具体的な手順を5つのステップに分けて解説します。Windows環境での「QMK MSYS」を使った方法を基本とします。

STEP1:QMKビルド環境をセットアップする

最初に、お使いのPCでQMKファームウェアをビルド(プログラムをコンパイルして実行ファイルを作ること)できる環境を構築します。QMK MSYSを使えば、必要なツールを一括でインストールできます。

  1. QMK公式サイトから「QMK MSYS」のインストーラーをダウンロードし、実行します。
  2. インストーラーの指示に従い、デフォルト設定のままインストールを進めます。
  3. インストールが完了したら、スタートメニューから「QMK MSYS」を起動します。黒いターミナル画面が表示されればOKです。
  4. 以下のコマンドを入力し、Enterキーを押してQMKのセットアップを実行します。必要なファイルが自動でダウンロード・設定されます。 qmk setup
  5. 「QMK is ready to go」というメッセージが表示されたら、環境構築は完了です。この処理には数分かかる場合があります。

途中でQMKファームウェアのリポジトリをクローン(ダウンロード)するか聞かれたら、「y」と入力してEnterを押してください。これにより、QMKの全ソースコードがPC(標準ではユーザーフォルダ\qmk_firmware)にダウンロードされます。

STEP2:自分のキーボード用のキーマップファイルを用意する

次に、カスタマイズの土台となるキーマップファイルを作成します。デフォルトのキーマップを自分専用にコピーするのが最も簡単で確実な方法で、専用のコマンドが用意されています。

  1. QMK MSYSで以下のコマンドを実行します。<keyboard>の部分は自分のキーボード名(例:crkbd)に置き換えてください。 qmk new-keymap -kb <keyboard>
  2. キーマップ名を聞かれるので、自分のユーザー名など好きな名前を入力します(デフォルトのままでもOKです)。
  3. 成功すると、qmk_firmware\keyboards\<キーボード名>\keymaps\<入力した名前>にデフォルト配列のコピーが作成され、フォルダのパスが表示されます。
  4. エクスプローラーでそのフォルダを開き、中にkeymap.cというファイルがあることを確認してください。このファイルが、あなたのキーボードの設計図です。

自分のキーボード名(QMK上での正式な名前)が分からない場合は、qmk_firmware\keyboardsフォルダ内を探すか、キーボードの販売元の商品ページ・ビルドガイドで確認できます。

STEP3:キーマップファイル(keymap.c)を編集する

いよいよ、キーボードの配列をカスタマイズする工程です。STEP2で作成したkeymap.cファイルを、VS Codeなどのテキストエディタで開いて編集します。

ファイルを開くと、const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ... };という記述が見つかります。この{ ... }の中身がキー配列を定義している部分です。

基本的なキーの変更方法

キーの割り当ては、KC_A(Aキー)、KC_ENT(Enterキー)のような「キーコード」で指定します。例えば、AキーとBキーの位置を入れ替えたい場合は、KC_AKC_Bの記述を入れ替えるだけです。

// 変更前
KC_A, KC_B, KC_C,
// 変更後
KC_B, KC_A, KC_C,

主要なキーコードは公式ドキュメントのキーコード一覧で確認できます。最初は、Caps LockをCtrlキーに変更する(KC_CAPSKC_LCTLに変更)など、簡単な変更から試してみるのがおすすめです。

レイヤー機能を使ってみよう

QMKの強力な機能の一つが「レイヤー」です。Fnキーを押している間だけ、数字キーをファンクションキー(F1, F2…)として機能させる、といった設定が可能です。

keymap.c内で、[0]_BASEと書かれている部分が基本レイヤー、[1]_RAISEと書かれている部分がFnキーなどを押したときのレイヤーです。レイヤーを切り替えるためのキーコード(MO(1)など)を基本レイヤーのどこかに配置し、対応するレイヤーの配列を定義します。

STEP4:編集したキーマップをビルド(コンパイル)する

キーマップの編集が完了したら、それをキーボードが読み込める形式のファイル(ファームウェアファイル)に変換します。この作業を「ビルド」または「コンパイル」と呼びます。

  1. QMK MSYSで以下のコマンドを実行します。<keyboard>はキーボード名、<keymap>はSTEP2で付けたキーマップ名です。 qmk compile -kb <keyboard> -km <keymap>
  2. ビルドが開始され、処理中のログが流れます。初回は数分かかることがあります。
  3. 最後にエラーなく[OK]で処理が終わり、qmk_firmwareフォルダ直下に<キーボード名>_<キーマップ名>.hex(または.bin.uf2)ファイルが作成されていればビルド成功です。

もしビルド中にエラー(赤色の文字)が出た場合は、keymap.cの記述にミスがある可能性が高いです。エラーメッセージをよく読み、カンマの抜けやスペルミスがないか確認しましょう。

STEP5:ファームウェアをキーボードに書き込む(フラッシュ)

最後に、ビルドして作成されたファームウェアファイルをキーボード本体に書き込みます。この作業を「フラッシュ」と呼び、QMK Toolboxを使用します。

  1. QMK Toolboxを起動します。
  2. 「Open」ボタンを押し、STEP4で作成された.hexまたは.binファイルを選択します。
  3. キーボードをPCに接続します。
  4. キーボードをリセット(DFU/Bootloader)モードにします。方法はキーボードによって異なりますが、主に以下の方法があります。
    • 基板の裏にある物理的な「リセットボタン」を短く押す(自作キットで最も一般的)。
    • 特定のキーを押しながらUSBケーブルを接続する(左上のキーまたはEscが定番。SpaceBの機種もあります)。
    • 基板上の「RESET」と「GND」と書かれた2つのピンをピンセットなどで一瞬だけ接触させる(ショートさせる)。
  5. 正しくリセットモードになると、QMK Toolboxのログウィンドウに黄色い文字で「*** DFU device connected」や「*** Caterina device connected」といったメッセージが表示されます。
  6. このメッセージが表示されたのを確認したら、「Flash」ボタンをクリックします。
  7. 書き込みが始まり、数秒後に「Flash complete」といったメッセージが表示されれば成功です。

キーボードが自動的に再起動し、編集した新しいキーマップで動作するようになります。変更したキーが意図通りに機能するか確認してください。なお、RP2040系のマイコンを使うキーボードでは、リセットするとUSBドライブとして認識され、.uf2ファイルをドラッグ&ドロップするだけで書き込める場合もあります。

もっと簡単に!GUIで完結する「QMK Configurator」の使い方

コマンドライン操作やC言語の編集に抵抗がある初心者の方には、Webブラウザ上で完結する「QMK Configurator」がおすすめです。ビルド環境の構築が不要で、直感的にキーマップを作成できます。

  1. QMK Configuratorにアクセスします。
  2. 「KEYBOARD」のドロップダウンメニューから、お使いのキーボードを選択します。
  3. 画面に表示されたキーボードレイアウト上で、変更したいキーをクリックします。
  4. 画面下のキーコード一覧から、割り当てたい機能のキーをドラッグ&ドロップで配置します。
  5. レイヤーの追加や変更も、画面のレイヤー切り替えを使いながら同様に行えます。
  6. カスタマイズが完了したら、「COMPILE」ボタンをクリックします。ビルドが開始され、しばらくすると「FIRMWARE」ボタンが押せるようになります。
  7. 「FIRMWARE」ボタンをクリックすると、.hexまたは.binファイルがダウンロードされます。
  8. ダウンロードしたファイルを、前述の「STEP5」と同様の手順でQMK Toolboxを使って書き込めば完了です。

QMK Configuratorは非常に手軽ですが、タップダンスのようなカスタムコードが必要な高度な機能には対応していません。基本的なキー配列やレイヤーの変更であれば、こちらで十分対応可能です。作成したキーマップは「EXPORT KEYMAP」でJSONファイルとして保存しておくと、後から再編集できて便利です。

QMKでつまずきやすいポイントと解決策

QMKの導入では、いくつかの定番のつまずきポイントがあります。エラーが出ても焦らず、以下の対処法を試してみてください。

ビルドエラーが出てしまい、ファームウェアが作成できない

最もよくあるトラブルがビルドエラーです。原因のほとんどはkeymap.cファイルの記述ミスです。

  • 解決策1:エラーメッセージを読む
    QMK MSYSに表示されるエラーメッセージには、エラーが発生したファイル名と行数が記載されています。その箇所を中心に、カンマ(,)の抜け、括弧({})の閉じ忘れ、キーコードのスペルミスがないか確認してください。
  • 解決策2:元のファイルと比較する
    バックアップしておいた変更前のkeymap.cと、編集後のファイルを見比べてみましょう。差分を確認できるツール(WinMergeなど)を使うと、間違いを見つけやすくなります。
  • 解決策3:デフォルトのキーマップでビルドしてみる
    まず、何も編集していないデフォルトのキーマップ(default)でビルドができるか試してみましょう。(qmk compile -kb <keyboard> -km default)これで成功するなら、問題はあなたの編集したkeymap.cファイル内に限定されます。

キーボードをリセットモードにできない・PCが認識しない

ファームウェアの書き込みには、キーボードをリセットモードにする必要がありますが、ここで手こずるケースも多いです。

  • 解決策1:リセット方法を再確認する
    キーボードによってリセット方法は様々です。リセットボタンの場所、ショートさせるピンの位置、特定のキーの組み合わせなど、お使いのキーボードの公式ドキュメントやビルドガイドで正しい方法をもう一度確認してください。
  • 解決策2:USBケーブルとポートを変える
    使用しているUSBケーブルがデータ転送に対応しているか確認してください。また、PCの別のUSBポートに接続すると認識されることがあります。特にUSBハブを介している場合は、PC本体のポートに直接接続してみてください。
  • 解決策3:ドライバーを再インストールする
    QMK Toolboxのメニューから「Tools」→「Install Drivers」を実行し、ドライバーを再インストールしてみてください。これにより認識の問題が解決することがあります。

【応用編】QMKをさらに使いこなすためのヒント

基本的なキーマップの変更に慣れたら、さらに高度な機能に挑戦してみましょう。QMKの真価は、その圧倒的なカスタマイズ性にあります。

マクロ:定型文やショートカットを1キーで実行

マクロ機能を使えば、複数のキー入力を登録し、1つのキーを押すだけで実行できます。例えば、メールの署名やよく使うコードスニペット、Photoshopの複雑なショートカットなどを登録すると作業効率が劇的に向上します。

タップダンス:キーの連打や長押しで機能を切り替える

タップダンスは、1つのキーに複数の機能を割り当てる機能です。例えば、セミコロン(;)キーを「1回タップでセミコロン」「2回タップでコロン(:)」「長押しで別のレイヤーに移動」といった動作に設定できます。キーが少ない小型キーボードで特に威力を発揮します。

RGBライティングの制御

キーボードにRGB LEDが搭載されている場合、QMKで光り方を細かく制御できます。特定のレイヤーに移動したときに色を変えたり、Caps Lockがオンのときに特定のキーだけ色を変えたりと、視覚的なフィードバックとして活用できます。

これらの高度な機能については、QMK公式ドキュメントに豊富なサンプルコードと解説があります。ぜひ挑戦して、あなただけの最強のキーボードを作り上げてください。

QMKに関するよくある質問(FAQ)

最後に、QMKファームウェアの書き換えに関してよく寄せられる質問にお答えします。

Q. 手持ちの市販ゲーミングキーボードにQMKを入れられますか?

A. 基本的にできません。QMK対応のキーボードが必要です。

QMKを書き込めるのは、QMKがサポートしているマイコン・基板を使ったキーボードだけです。自作キーボードキットや、Keychron QシリーズのようにQMK/VIA対応を公式に謳う製品が対象で、Logicool GやRazerなどの一般的なメーカー製キーボードには導入できません(これらは各社の専用ソフトでカスタマイズします)。

Q. ファームウェアを書き換えると、メーカー保証は無効になりますか?

A. 製品によっては無効になる可能性があります。

QMK対応を公式に謳う自作キーボードキットやカスタムキーボードでは、ファームウェアの書き換えは想定された使い方です。一方、それ以外の完成品キーボードのファームウェアを自己責任で書き換えた場合、メーカーの保証対象外となることがあります。実行する前に製品の保証規定を確認し、リスクを理解しておきましょう。

Q. 設定を間違えた場合、元の状態に戻せますか?

A. はい、元のファームウェアを書き込めば戻せます。

キーボードのメーカーが純正のファームウェアファイルを提供している場合は、それをQMK Toolboxで書き込むことで工場出荷時の状態に戻すことができます。また、自分でビルドする場合も、編集前のデフォルトのキーマップでビルドしたファームウェアを書き直せば、初期状態の配列に戻すことが可能です。キー入力自体が効かなくなっても、リセットモードには入れるので書き込みで復旧できます。

Q. もっと簡単な代替手段はありますか?

A. はい、VIAやVialが簡単な代替手段です。

記事の冒頭で説明した通り、お使いのキーボードがVIAまたはVialに対応している場合、それらを使うのが最も簡単です。VIAならブラウザでusevia.appを開くだけで、リアルタイムにキーマップを変更できます。QMKのようなビルド作業は一切不要です。まずはご自身のキーボードが対応しているか確認してみることをお勧めします。

まとめ:QMKであなただけの理想のキーボード体験を

この記事では、QMKファームウェアを使ってキーボードをカスタマイズするための準備から、ビルド、書き込みまでの全手順を詳しく解説しました。

  • QMKは自由度が非常に高いが、対応キーボードと設定の知識が必要。
  • 初心者はまずGUIツールの「QMK Configurator」やVIA/Vialから試すのがおすすめ。
  • コマンドラインで本格的に挑戦するなら「QMK MSYS」で環境を構築する。
  • 手順は「環境構築→キーマップ準備→編集→ビルド→書き込み」の5ステップ。
  • エラーが出ても焦らず、メッセージを読んで一つずつ対処することが成功の鍵。

最初は難しく感じるかもしれませんが、一度手順を覚えてしまえば、キー配列を自由自在に変更できるようになります。キーボードは毎日使う最も身近な入力デバイスです。QMKを使いこなし、あなたの指に完璧にフィットする、世界に一つだけのキーボードを作り上げてみてください。

関連記事

目次