QMKの使い方|ファームとビルド基礎

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

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

目次

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

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

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

一方で、VIAやVIALはQMKをベースにした、より直感的にキーマップを変更できるツールです。プログラミング不要で、専用のアプリケーション上でリアルタイムに設定を反映できます。

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

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

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

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

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

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

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

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

  • QMK MSYS:WindowsでQMKのビルド環境を簡単に構築するためのツールです。コマンドライン操作の基盤となります。
  • QMK Toolbox:ビルドしたファームウェアをキーボードに書き込む(フラッシュする)ためのGUIツールです。ドライバーのインストールも自動で行ってくれます。
  • テキストエディタ:キーマップを編集するためのソフトウェアです。「Visual Studio Code」や「Sublime Text」など、プログラミング向けのものがおすすめです。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.exe」をダウンロードし、実行します。
  2. インストーラーの指示に従い、デフォルト設定のままインストールを進めます。
  3. インストールが完了したら、デスクトップに作成された「QMK MSYS」のショートカットをダブルクリックして起動します。黒いコマンドプロンプト画面が表示されればOKです。
  4. 以下のコマンドを入力し、Enterキーを押してQMKのセットアップを実行します。必要なファイルが自動でダウンロード・設定されます。 qmk setup
  5. 「QMK is ready to go!」というメッセージが表示されたら、環境構築は完了です。この処理には数分かかる場合があります。

もし途中で「Do you want to clone the QMK firmware repository?」と聞かれたら、「y」と入力してEnterを押してください。これにより、QMKの全ソースコードがPCにダウンロードされます。

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

次に、カスタマイズの土台となるキーマップファイルを作成します。既存のキーボードのテンプレートをコピーするのが最も簡単で確実な方法です。

  1. エクスプローラーでそのフォルダを開き、中にkeymap.cというファイルがあることを確認してください。このファイルが、あなたのキーボードの設計図です。

自分のキーボード名が分からない場合は、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. ビルドが開始され、処理中のログが流れます。これには数分かかることがあります。
  2. 最後に緑色の文字で「.hex firmware is available at:」や「.bin firmware is available at:」と表示され、.hexまたは.binファイルの場所が示されたらビルド成功です。

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

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

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

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

キーボードが自動的に再起動し、編集した新しいキーマップで動作するようになります。変更したキーが意図通りに機能するか確認してください。

もっと簡単に!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は非常に手軽ですが、マクロの複雑な設定やLED制御など、一部の高度な機能には対応していません。基本的なキー配列の変更であれば、こちらで十分対応可能です。

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

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

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

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

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

A. はい、一般的に無効になる可能性が高いです。

QMK対応を謳っている自作キーボードキットなどは問題ありませんが、市販の完成品キーボードのファームウェアを自己責任で書き換えた場合、メーカーの保証対象外となることがほとんどです。改造行為と見なされるため、実行する前にリスクを理解しておく必要があります。

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

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

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

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

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

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

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

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

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

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

目次