145 人が閲覧(直近 30 日) 開発

Vialとは?使い方・VIAとの違い・Web版とファーム書き込み手順【v0.7.5対応】

Vialとは?使い方・VIAとの違い・Web版とファーム書き込み手順【v0.7.5対応】

Vialは、QMKで動く自作キーボード・メカニカルキーボードのキー配列やマクロを、パソコンの画面から書き換えるための無料のオープンソースソフトです。キー割り当ての変更はその場でキーボードに保存され(マクロ・タップダンス・コンボはSaveを押した時点で保存)、ファームウェアを作り直す必要はありません。なお英単語の vial は薬剤を入れる小瓶(バイアル)の意味で、この記事で扱うのはキーボード用のソフトです。

以下は2026年9月時点の最新版v0.7.5を前提に、公式ドキュメントとソースコードで確かめた内容です。

まとめ:Vialの要点

  • 正体:QMKのフォーク「vial-qmk」(ファームウェア)と設定アプリ「vial-gui」の組み合わせ。ライセンスはGPL-2.0で、ソフトは無料です。
  • 使い方:Vial対応ファームのキーボードをUSBでつなぎ、画面上段のキーを選んで下段から割り当てを選ぶだけ。キー割り当ては即座に、マクロなどはSaveでキーボードへ保存されます。
  • Web版:vial.rocks をChrome・Chromium・Edgeで開けば、インストールなしで同じ操作ができます。
  • VIAとの違い:Vialはキーボードの定義をファームに内蔵するので、中央リポジトリへの登録を待たずに使えます。タップダンス・コンボ・キーオーバーライドもGUIで設定できます。
  • 注意点:VIA用ファームのままでは動かないか機能が限られます。Vial対応ファームへの書き換えが前提です。

Vialの正体:vial-qmkとvial-guiの2層構成

Vialは1本のソフトではなく、キーボード側とパソコン側の2つで成り立っています。公式サイト(get.vial.today)の説明は「Windows・Linux・Mac対応のGUIと、キーボードをリアルタイムに設定するためのQMKフォーク」です。

構成要素 役割 リポジトリ
vial-qmk キーボードに書き込むファーム vial-kb/vial-qmk(vialブランチ)
vial-gui デスクトップ版とWeb版の設定アプリ vial-kb/vial-gui
vial.json キーの物理配置の定義(ファームに内蔵) 各キーボードの keymaps/vial

アプリの最新版はv0.7.5(2025年8月2日公開)で、ダウンロードページでは今も「beta」と表示されています。直前のv0.7.4(2025年7月12日)でCaps Word・Layer Lock・PDF(layer)などのキーコードと、QMK設定のFlow Tap・Chordal Holdが加わり、v0.7.5ではColemak DH配列の表示が追加されました。2026年9月時点でv0.7.5より新しいリリースは出ていません。

VIA・ZMK Studioとの違い

VIAとの違い:定義JSONの置き場所とGUIで触れる機能

VialとVIAの差は「キーボードの定義をどこに置くか」に集約されます。VIAは、キーボードのソースがQMK本家にマージされ、keymaps/viaがVIA側のユーザースペースにマージされ、定義JSONをVIAのリポジトリへプルリクエストする、という3条件を満たして初めて自動認識されます。Vialは vial.json をファームに埋め込むため、キーボードをつなげばアプリが配置を読み取ります。

項目 Vial VIA
設定アプリ デスクトップ版+Web版 vial.rocks Web版 usevia.app
ファーム vial-qmk(QMKフォーク) QMK本家
キー配置の定義 ファームに内蔵 VIAのリポジトリに登録
タップダンス・コンボ GUIで設定可 公式説明に記載なし
セキュリティロック あり 公式説明に記載なし
ライセンス GPL-2.0 GPL-3.0(Webアプリ)

VIAのWebアプリもGPL-3.0で公開されているので、オープンソースかどうかは両者の違いになりません。VIAの公式説明が挙げる機能はキーマップ・マクロ・RGB設定で、Vialはそこにタップダンス、コンボ、キーオーバーライド、Alt Repeat Key、QMK Settings、マトリクステスターのタブが加わります。VIA用の定義JSONは vial.json の作成元として利用できますが、公式ガイドは内容の確認・編集と、Vialアプリの「Load dummy JSON」による表示確認を案内しています(QMKの info.json は流用できません)。

ZMK Studioとの違い:無線対応と設定可能な機能

分割型の無線キーボードでよく使われるZMKにも、再書き込みなしでキーマップを変える「ZMK Studio」があります。ZMKはZephyr RTOS上のMITライセンスのファームで、無線を前提に設計されています。ZMK StudioはUSBとBluetooth(BLE接続はLinuxのWeb版とネイティブアプリのみ)で編集できますが、公式の機能表ではタップダンス・マクロ・コンボの設定は「Planned(予定)」のままです。

有線のQMK系キーボードでタップダンスやコンボまでGUIで詰めたいならVial、nRF52840などの無線マイコンで組むならZMKです。VialはQMKのフォークなので、ZMKのキーボードでは使えません。

Vialの使い方:アプリ版とWeb版の始め方

アプリ版のダウンロードと起動(Windows・macOS・Linux)

公式のダウンロードページに、Windowsのインストーラーとポータブル版、macOSのdmg、LinuxのAppImageが並んでいます。WindowsとmacOSは実行するだけです。LinuxではAppImageに実行権限を付けてから起動します。

chmod +x ~/Downloads/Vial*.AppImage
~/Downloads/Vial*.AppImage

起動後にVial対応キーボードをつなぐと自動で検出され、上部に Keymap・Layout・Macros・Lighting・Tap Dance・Combos などのタブが並びます。タブはキーボードのファームが対応している機能の分だけ表示されます。

Web版vial.rocksの対応ブラウザ

Web版のvial.rocksは、ブラウザからUSB機器と通信するWebHIDを使います。ページには最新のChrome・Chromium・Edgeを推奨すると書かれており、WebHIDに対応していないブラウザでは「Start Vial」を押してもエラーになります。会社のPCでアプリをインストールできない場合や、一度だけ設定を変えたい場合はWeb版で足ります。

Linuxで認識されないときのudevルール

LinuxではキーボードのHIDデバイスに一般ユーザーが書き込めず、Vialが検出しないことがあります。公式マニュアルは、Vialファームだけに一致するudevルールを /etc/udev/rules.d/59-vial.rules に書く方法を案内しています。

KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
sudo udevadm control --reload
sudo udevadm trigger

以前のマニュアルはファイル名を 99-vial.rules としていましたが、systemd側の変更(systemd issue #39056)に合わせて 59-vial.rules に改められました。以前の手順で設定して最近認識されなくなった場合は、ファイル名の番号を変えてください。

日本語配列(JIS)への表示切り替え

初期状態のキーの表示はUS配列です。メニューの「Keyboard layout」から「Japanese (QWERTY)」を選ぶと、記号キーの表示がJIS配列の刻印に合わせて変わります。変換・無変換・円記号も、それぞれ KC_HENK・KC_MHEN・KC_JYEN として割り当てられます。OSの入力設定がJISなのにVialの表示がUSのままだと、記号キーの割り当てを取り違えやすくなります。

キーマップの編集とレイヤー切り替えキー

編集は、上段のキーボード図で変えたいキーをクリックし、下段のパレットから割り当てるキーを選ぶだけです。変更はすぐキーボードに書き込まれ、保存ボタンはありません。設定一式は File メニューの「Save current layout…」で .vil ファイルに書き出せます。ファームを書き直す前や別のPCへ移る前に保存しておくと、「Load saved layout…」で元に戻せます。

レイヤーは既定で4枚まで使えます(ファームの設定で最大32枚)。上部の番号でレイヤーを切り替えて編集し、下段パレットの Layers タブから切り替えキーを割り当てます。

キーコード 動作
MO(n) 押している間だけレイヤーnを有効化
TG(n) 押すたびにレイヤーnをオン・オフ
TO(n) レイヤーnだけを有効にし他を無効化
TT(n) 長押しでMO、5回タップでTG
OSL(n) 次の1キーだけレイヤーnを有効化
LT n (kc) 長押しでレイヤーn、タップでキーkc
DF(n) 既定レイヤーを変更(電源断で戻る)
PDF(n) 既定レイヤーを変更(電源断後も保持)
Layer Lock MO・LT・OSL・TTで入ったレイヤーを固定

レイヤーは重ねた状態で複数同時に有効になり、番号の大きいレイヤーが優先されます。下のレイヤーへ戻るキーはMOではなくTOで作るのが原則です。▽の表示は「透過」で、下のレイヤーの割り当てがそのまま使われます。LM(レイヤー, 修飾キー) のようにパレットにないキーコードは「Any key」機能で直接入力できます。

マクロ・タップダンス・コンボ・キーオーバーライドの設定

マクロ:既定16個、記録機能は下書き用

Macros タブで M0〜M15 の16個(既定値)を編集できます。右下の「Add action」でキーの押下・タップ・解放・待ち時間を並べるか、「Record macro」でキーボードから直接記録します。公式マニュアル自身が記録は「あまり信頼できない」と書いているので、記録したものを Add action で整える使い方が確実です。編集後は Save を押すまで反映されません。作ったマクロは、キーマップ画面で下段の Macro タブから割り当てます。

タップダンス:1キーへの4動作の割り当て

Tap Dance タブの各スロットに、On tap(タップ)、On hold(長押し)、On double tap(2回タップ)、On tap + hold(タップ後に長押し)の4動作と、タップと長押しを分ける時間 Tapping term を設定します。たとえばタップでWindowsキー、長押しでレイヤー1という割り当てができます。設定後にSaveを押し、Keymap画面で対象の物理キーを選んで、下段のTap Danceから設定したスロットを割り当てます。スロット数はマイコンのEEPROM容量から自動で決まります。

コンボ(同時押し):最大4キーで1つの動作

Combos タブでは、最大4つのキーの組み合わせに1つの出力を割り当てます。コンボ判定時間(combo term)内に全キーが押されると発動し、キーマップのどこかに割り当てる必要はありません。「A+SでEsc」「=とBackspaceでDelete」のように、手の位置を動かさずに使う記号やEscを作るのが定番です。判定時間は QMK Settings の Combo 項目で変えます。Combosタブの編集後はSaveを押して設定を保存します。

キーオーバーライドとAlt Repeat Keyの動作例

Key Overrides は「修飾キー+キー」の組み合わせを別の組み合わせに置き換える機能で、Shift+1で「!」以外を出す、といった変更ができます。Alt Repeat Key は直前のキーの「逆の動作」を出すキーで、Ctrl+Shift+→(次の単語を選択)の後に Ctrl+Shift+← を出すような定義ができます。Alt Repeat Keyの設定画面はv0.7.4で加わりました。

QMK Settingsで調整するタイミング

QMK Settings タブでは、Tapping term などのタップ・ホールド設定、Auto Shift、コンボ、ワンショットキー、マウスキー、Grave Escape、Magicキーの細かい値を変えられます。「長押しのつもりがタップになる」「速く打つと修飾キーが誤爆する」といった症状は、キーマップより先にここの値を疑ってください。

Vial対応ファームの確認と書き込み

対応状況の確認:keymaps/vialフォルダの有無

自分のキーボードがVialに対応しているかは、vial-qmkリポジトリの keyboards/ 以下で、そのキーボードに vial という名前のkeymapフォルダがあるかで判断できます。公式のルールでVialへ移植したkeymapは必ず vial と名付けるので、名前で一意に探せます。GitHubのコード検索では、vial-qmkに vial.json が528件あります(2026年9月27日時点)。フォルダが無い場合も、メーカーが独自に配布していることがあるので販売ページを確認してください。

書き込み方法:マイコンごとの使い分け

書き込み手順はVialではなくキーボードのマイコンとブートローダーで決まります。

マイコン・ブートローダー 書き込み方法
ATmega32U4(Pro Micro・Caterina) QMK Toolbox か qmk flash
STM32(DFU) QMK Toolbox か qmk flash
RP2040(UF2) ドライブとして見える領域へ .uf2 をコピー
Vial専用ブートローダー(vibl) Vialアプリの Firmware updater で .vfw

QMK ToolboxはWindowsとmacOS向けのアプリです。VialアプリのFirmware updaterタブは、vibl搭載のキーボードをつないだときだけ表示されます。RP2040は Raspberry Pi Pico W にも載っているマイコンで、BOOTSELボタンを押しながらUSBを挿すとUF2ブートローダーに入ります。リセットのダブルタップで入れるのは、ファームでその機能を有効にしたボード(Pro Micro RP2040は既定で有効)だけです。リセットボタンが無いキーボードでも、ファームでBootmagicが有効なら、マトリクスの[0,0](多くはEsc)を押しながらUSBを挿すとブートローダーに入れます。

自作キーボードをVialに対応させる手順(vial-qmkでのビルド)

ビルド環境の準備:QMK本家とは別フォルダにclone

まずQMK本家の手順でQMK CLIを入れます。WindowsはQMK MSYS、macOSとLinuxは curl -fsSL https://install.qmk.fm | sh です。そのうえでvial-qmkを本家の qmk_firmware の外側にcloneします(中に入れ子にすると不具合が出ると公式が明記しています)。Git が必要です。

git clone https://github.com/vial-kb/vial-qmk
cd vial-qmk
make git-submodule
qmk doctor
make vial_example/vial_atmega32u4:default

qmk doctor で「upstream が設定されていない」という警告が出るのは、本家リポジトリではないためで問題ありません。ビルドは qmk compile ではなく make を使ってください。qmk compile を別の場所で実行すると本家QMKのファームがビルドされます。qmk env の QMK_HOME が vial-qmk を指しているかも確認し、違えば qmk config user.qmk_home=<vial-qmkのパス> で直します。

keymaps/vialに置く4つのファイル

既存の keymaps/default をそのまま keymaps/vial にコピーし、次の3ファイルを足します。

# keymaps/vial/rules.mk
VIA_ENABLE = yes
VIAL_ENABLE = yes
/* keymaps/vial/config.h */
#pragma once
#define VIAL_KEYBOARD_UID {0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX}
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
  • rules.mk:2行とも必須で、VIA_ENABLEを消してはいけません。キーボード直下の rules.mk には書かず、keymaps/vial 側に書きます。
  • config.h:UIDは vial-qmk の直下で python3 util/vial_generate_keyboard_uid.py を実行して生成します。UIDは機種ごとに1つで、個体ごとに変える必要はありません。UNLOCK_COMBOは解除に使うキーの行・列で、上の例は公式ガイドの配列におけるEsc[0,0]とEnter[2,13]です。座標は機種ごとに異なるため、自分のキーボードのマトリクスに合わせて置き換えてください。
  • vial.json:キーの物理配置の定義です。VIA用の定義JSONを流用できます。

最後に make <キーボードのパス>:vial でビルドし、前章の方法で書き込みます。

「firmware is too large」への対処

Vialは既定で全機能を有効にするため、Pro MicroのようなAVRマイコンではフラッシュやEEPROMが足りなくなりがちです。公式の例では The firmware is too large! 30768/28672 (2096 bytes over) と表示されます。削る候補は次のとおりです。表のconfig.h向け設定は略記で、実際には各行の先頭に #define を付けます(例:#define DYNAMIC_KEYMAP_LAYER_COUNT 2)。x は希望するスロット数の整数に置き換えてください。

設定 書く場所 削れるもの
LTO_ENABLE = yes rules.mk コードサイズ(最適化)
QMK_SETTINGS = no rules.mk サイズ・RAM・EEPROM
DYNAMIC_KEYMAP_LAYER_COUNT 2 config.h EEPROM
DYNAMIC_KEYMAP_MACRO_COUNT x config.h EEPROM
VIAL_TAP_DANCE_ENTRIES x config.h EEPROM
VIAL_COMBO_ENTRIES x config.h EEPROM
TAP_DANCE_ENABLE = no など rules.mk 機能ごと無効化

QMK_SETTINGSを切るとタップ・ホールドの時間などをGUIで変えられなくなり、Vialの利点の多くを失います。先にLTOと使わない機能の無効化を試してください。最後の手段としてPro Microの標準ブートローダーCaterina(約3,500バイト)を512バイトのnanoBootに替える方法もありますが、ISPライターが必要で、配布先の利用者も同じ交換を強いられます。

vial-qmkが追従しているQMKの版

vial-qmkは本家QMKを定期的に取り込むフォークです。コミット履歴を見ると、vialブランチに最後に統合された取り込みは2025年6月21日時点の本家(作業ブランチ merge-2025-06-21、2025年7月12日統合)です。2025年12月28日時点の本家を取り込む merge-2025-12-28 ブランチは、2026年9月27日時点でvialブランチより445コミット先行したまま統合されていません。QMK本家は2025年8月以降も破壊的変更を入れているため、本家の最新版向けに書かれたキーボード定義をコピーするとビルドが通らないことがあります。公式ガイドもQMKの版に合わせた修正が要る場合があると注意しています。

セキュリティロックの仕組みとVIAL_INSECUREを避ける理由

Vialには、悪意のあるソフトが入ったPCにキーボードのファームやマクロを勝手に書き換えられないための「ロック」があります。キーボードはロック状態で起動し、アプリの Security → Unlock を選ぶと、config.hで指定したキーを数秒間押し続けるよう求められます。ロック中は次の操作ができません。

  • マクロの変更
  • ブートローダーへの切り替え(ファームの書き換え)
  • RESETキーコードの割り当て

解除中はPCを信頼している前提になるため、監視ソフトが入った会社のPCでは解除しないよう公式が注意しています。再ロックはキーボードの抜き差しか Security → Lock です。

rules.mkに VIAL_INSECURE = yes を書けばロック自体を無効にできますが、この設定のキーボードはvial-qmkの本体リポジトリに受け入れられません。解除キーの設定が面倒という理由だけでINSECUREにするのはやめるべきです。公式ガイドは、解除キーを2つ以上にし、複数レイアウトのキーボードではどのレイアウトにも存在するキーを選ぶよう求めています(例はEscとEnter)。

認識されない・書き込めないときの切り分け

症状 まず疑う原因 対処
アプリにキーボードが出ない VIA用・通常QMKのファーム Vial対応ファームを書き込む
Linuxだけ出ない hidrawの権限 59-vial.rulesを置く
Web版だけ動かない WebHID非対応ブラウザ Chrome・Edgeで開く
マクロが保存できない ロック中 Security → Unlock
ビルドで容量超過 全機能が有効 LTO・機能の削減
書き込みツールが検出しない ブートローダーに入っていない リセットかBootmagic

光り方を変えたいのにLightingタブが出ない場合は、ファームの照明機能とvial.jsonのlighting設定を確認してください。RGB制御が有効でも、Vial側の設定が不足している場合があります。PC側からキーボード以外のRGB機器とまとめて制御したい場合は OpenRGB のような別系統のツールを使います。

よくある質問

Vialは無料ですか?対応OSは?

無料です。GPL-2.0のオープンソースで、アプリはWindows(インストーラー・ポータブル版)、macOS(dmg)、Linux(AppImage)向けに配布されています。Web版のvial.rocksはOSを問わず、WebHID対応ブラウザで動きます。

VIA対応キーボードはそのままVialで使えますか?

公式マニュアルによると、VIA用ファームのままではVialに認識されないか、一部の機能しか使えません。デスクトップ版には File → Sideload VIA JSON や Download VIA definitions といったVIAの定義を読み込むメニューがありますが、タップダンスなどVialの機能を使うにはVial対応ファームへの書き換えが必要です。対応ファームはメーカーの配布物か、vial-qmkの keymaps/vial から入手します。

Vialで変更した設定はどこに保存されますか?

キーボード本体に保存されます。キー割り当ては即座に保存されますが、マクロなどの編集にはSave操作が必要です。保存済みの配列は別のPCにつないでも保持されます。バックアップとして File → Save current layout で .vil ファイルに書き出しておけば、ファームを書き直した後に読み込んで戻せます。

Vialのweb版(vial.rocks)の使い方は?

Chrome・Chromium・Edgeで vial.rocks を開き、「Start Vial」を押して表示されるデバイス一覧からキーボードを選びます。キーマップ編集などの画面はアプリ版と同じです。違いは、最初にブラウザへUSB機器へのアクセスを許可することと、VIA定義の読み込み(Sideload VIA JSONなど)がデスクトップ版にしかないことです。

Bluetoothの無線キーボードでもVialは使えますか?

Vialが使えるのは、Vial対応のQMKファーム(vial-qmk)で動くキーボードです。無線の自作キーボードで多いZMKファームには使えず、その場合はZMK Studioでキーマップを変えます。

関連記事

お気に入りに入れた記事の一覧

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.09.28 テックブログ タイムズカーの不正アクセスと約660万件の流出|免許証画像を退会者まで残さない保管設計
  2. 2026.09.25 コラム 最低賃金引き上げ【令和8年度】47都道府県の改定額・発効日と企業の対応手順
  3. 2026.09.25 コラム 障害者雇用の助成金一覧:月いくら・支給要件と申請書類を勤怠データで揃える方法
  4. 2026.09.28 テックブログ anthropic skillsとは?公式19スキルの中身とClaude Code・APIでの導入手順
  5. 2026.09.05 コラム 犯罪収益移転防止法の本人確認:2027年4月の対面IC読み取り義務化と改修要件

RELATED POSTS 関連記事

目次