MOTHWINGキーボードを最近購入した場合、QMK FirmwareとVIAと呼ばれるファームウェアの機能について理解することが重要です。

キーボードの多くの機能はこれらのファームウェア(ファームウェアとは何かという説明は後述します!)に依存しているため、それらを理解することは、キーボードのポテンシャルを引き出すために重要です。

このブログ記事では、QMKとVIAの機能の概要を説明します。

VIAによるキーマップのカスタマイズ方法を知りたい場合こちらのブログ記事(リンク)を参照してください。

QMK FirmwareとVIA

ファームウェアとは?

ファームウェアとは何でしょうか?

非常に簡単に言えば、ファームウェアとは、ハードウェアのメモリに組み込まれた一連の命令であり、ハードウェアがプロセスを実行する方法を指示します。MOTHWINGキーボードに関して説明すると、キーボードの筐体の中に実装されたCPUの記憶領域に書き込まれたプログラムであるというようにご理解いただければよいかと思います。

具体的な働きを説明しておくと、メカニカルキーボードではキーを押下した時点でキーボード内に実装されたCPUがそれを認識します。具体的にはそのキーに対応したピンに流れる電圧の変化がCPUに伝わります。

記憶領域に書き込まれたファームウェアはそのキー押下イベントをリッスンし、キー押下時に内部的にそのイベントを解釈し、最終的にはUSBケーブルを通してキーボードとPCが通信するプロトコルに変換してキーコードと呼ばれるデータをPCに送信します。

キーコードとは、 ABShift といった具体的なキーになります。

QMKとVIA

QMKは、メカニカルキーボードのためのオープンソースのファームウェアライブラリ・フレームワークです。

VIAはQMKに機能を拡張するプロトコル・ライブラリとそれをユーザーが呼び出すためのGUIを指します。

MOTHWINGキーボードには、VIA機能に対応した、QMK製ファームウェアが実装されています。

QMK製のファームウェアは、「CPUのどのピンに電圧の変化が生じたか」という情報を、「PCに送付するキーコード」に変換する役割があります。つまり、物理キーの情報をキーコードに変換しています。

QMKはファームウェアを作るためのフレームワークなので、簡単にキーボードのファームウェアを自分で作成することができます。

キーボードの物理キーの情報と、それをどのように解釈するかという設定値をQMKに与えてビルドすると、自分専用のカスタマイズされたファームウェアを手に入れることができます。

例えば、左上のキーはデフォルトではTabキーですが、これをEscキーとして解釈する、というように実装したうえでファームウェアをビルドし、CPUに書き込むことで実際に自分のキーボードの挙動を変更することができる、ということになります。