QMK Firmwareが焼けるマクロパッド「YMD09」を買った
自分でファームウェア(QMK Firmware)を焼けるマクロパッド「YMD09」を購入したのでメモしておく。
Teamsのミュートショートカット(Ctrl+Shift+M)を押せるマクロパッドを探しており、最初はStream DeckかKoolertronのマクロパッドを買おうかと思っていた。だが、Stream Deckは値段が高く、かつ設定がPCに保存されるそうなので却下した。リモートワーク用のPCにも使いたいので、通常のキーボードとして認識してくれることが望ましい。
CORSAIR elgato STREAM DECK XL ライブコンテンツ作成コントローラー メーカー保証2年 USB3.0 LCDボタン:32個 10GAT9901
- 発売日: 2019/07/12
- メディア: Personal Computers
Koolertronのマクロパッドはその点申し分ないが、設定ソフトウェアがプロプライエタリなため購入に踏み切れなかった。
その後見つけたのがYMD09だ。YMD09は9キーのマクロパッドであり、キーボード向けのオープンソースなファームウェア「QMK Firmware」をインストールできる。しかも、QMKの設定を簡単に変更できるVIA(or Remap)にも対応しており、使い勝手もよい。 さらに、完成品にもかかわらず約3000円と値段も安く、購入に踏み切った次第だ。
手元に届いた状態でキーボード用ファームウェアが既に焼かれていたが、今となっては何が入っていたのかよくわからない。 分解した後、Reset用のスルーホールをショートさせてブートローダーを起動し、以下のページからダウンロードできるVIAのファームウェアをQMK ToolboxでYMD09にインストールした。
あとは、以下のページを読みつつ設定を進めた。
salicylic-acid3.hatenablog.com
salicylic-acid3.hatenablog.com
設定をしていく中で一つ問題が生じた。レイヤーのインジケータとしてRGB LEDを使いたかった(レイヤー1だったら青く光らせるなど)のだが、VIA、Remapでは設定不可だった。ググったところ、QMKの設定を変更すれば対応できるとのことだった。QMKの設定変更というと難しく感じるが、QMKの内部機能に手を入れる必要はない。設定ファイルを編集すればよいだけだ。具体的には、VIAが有効になっているファームウェアのkeymap.cを編集すればよい。詳細は下記ページに譲るが、レイヤー変更のたびに呼ばれる関数 layer_state_set_user
の中で、LEDカラー設定関数rgblight_set_layer_state
を呼ぶ。上記設定の場合、LED(正確にはRGBLIGHT_LAYER_SEGMENTS
で指定したLED)の色以外はVIAで(すなわちファームウェアの再インストールなしに)設定できるので、VIAによる柔軟性を維持できる。
参考のため、編集したファイルを以下のgistにおいておく。
qmk_firmware/keyboards/ymdk/ymd09/keymaps
以下に新しくディレクトリを作成し、以下のファイルを置いて書き込めば使用可能だ。デフォルトだとLEDがまぶしすぎたため、RGBLIGHT_LIMIT_VAL を128に設定している。
言うまでもないが、マクロパッドはAutoHotkeyと親和性が高い。 マクロパッドを買うような人は既にインストールしていることと思うが、念のため宣伝しておく。