この記事について
記事の情報は2026年4月時点のものになります。
ファームウェアの焼き替えなしにUnicodeマクロを割り当てたい!!
Vialは、対応するファームウェアを搭載したキーボードのキーマップやマクロをWebアプリやデスクトップアプリから変更することのできるツールです。 Vialでは、
- キーマップの書き換え
- Tap Danceの設定
- Comboの設定
- Key Overrideの設定
- Alt Repeatの設定
- その他QMK設定の調整
などを行うことができます。
ですが、QMKで利用できるUC(2192)を割り当てて→を呼び出すような文字コードを直接指定するタイプのUnicodeマクロをVialのアプリ側から普通に割り当てることはできません。
この制限を回避しようという記事です。
Info
事前にrules.mkでUNICODE_ENABLE = yesを定義するのを前提としておきます。
初めに試した方法
基本的にはvialの機能を活用する方針で試しました。
- 事前にCustom keycodesによってUnicodeと紐づいたキーを登録しておく →後から増減するのが難しい
- 手動で
→ならRAlt→Numpad2→Numpad1→Numpad9→Numpad2のようなvialマクロを用意する →UNICODE_MODEの切り替えに対応できない
という問題があり、いずれの方法でも満足のいく割り当てはできませんでした。
最終的にたどり着いた方法
最終的にはAnyキーによって割り当てを行う方法に落ち着きました。
QMKのキーコードはどれも16進数と対応しており、UC(xxxx)の形式も最終的には16進数と対応します。
Unicodeと紐づいているキーコードは、16進数のUnicodeに0x8000を足した値になっています。
以下では文字入力からキーコードを出力することができます。
入力欄には文字または16進/10進コードを指定できます。複数文字入力時は先頭のコードポイントを計算します。
ここで出力されたコードをAnyキーのキーコードとして使うことで、Unicode文字を好きに割り振ることができるようになります!