
はじめに
最近国内の自作キーボードではキーマップの書き換えに従来の「Via」「REMAP」だけでなく「Vial」を用いるケースが増えてきたように感じます。
しかし開発者向けの情報は増えてきましたが、一般ユーザー向けの使い方の解説はまだあまり多くありません。
そこで今回は私流の「Vialの使い方」を解説していこうと思います。
この記事の対象となる方
- 自作キーボードを使う方(=ユーザー)
- Vialを使って初めてキーボードの設定を行う方
- Vialを使ってみたけど何が何だかわからなくて諦め気味な方
この記事の目的・目標
実際にVial対応のキーボードを使うユーザーが自分自身でお使いのキーボードをある程度好みのキーマップに変更することができるようになることを最終目標とします。
そのため詳細な設定内容や技術的な話は省略し、できるだけ簡単に理解できることを目的としています。
入力方法の種類
まずはVialを使うことでキーボードにどのような設定ができるようになるのか見てみましょう。
Vialでは主に以下の4つの機能を駆使しながらキーボードの設定を行っていくことになります。
レイヤー
キーボードのキー配置(キーマップ)を仮想的に複数の階層として管理できる機能です。
簡単に言えば「同じキーでもレイヤーを切り替えると異なる役割を持つようになる」という仕組みです。*1
例えばレイヤー0では「Q」キーとして動作するけれども、レイヤー1だと「1!」キーに、レイヤー2だと「F1」キーになる、といった設定が可能です。
レイヤーの切り替えをどのように行うかという設定自体も任意のキーに設定可能です。
マクロ
事前にプログラムした通りのキーボード操作をさせることができるのが「マクロ」機能です。
例えば任意のキーを押したときに「Hello, world!」と一発で入力させたりすることができます。
他にもゲームで毎回特定の入力をしたり*2、同じような事務作業を何度も繰り返したり*3と、同じようなキーボード操作を何度もするような場面で役に立ちます。
コンボキー
複数のキーを同時押しした場合に別のキーとして認識させることができるのが「コンボキー」機能です。
例えばそれぞれ独立したキーである「Q」と「W」を同時押ししたときだけ「TAB」キーとして挙動する、といったような設定をすることができます。
格ゲーで弱パンチと中パンチを同時押しすると強パンチになるあの感じです。*4
タップダンス
1つのキーに対して「単押し」「長押し」「単押し2回」「単押し+長押し」の4つのパターンのキー出力を設定することができる機能です。
例えば普通にキーを押すと「Q」、長押しすると「Shift」、2回押すと「F1」、1回押したあとさらにすぐ長押しすると「Ctrl」のような設定を1つのキーに行うことができます。
キー数の少ない玄人向けのキーボードなどで活躍する機能です。
設定方法
では具体的にどのように設定していくのか見ていきましょう。
なおVialは基本的に設定変更を行うとリアルタイムに反映されますのでご注意ください。
WEBサイトへアクセス
まずはPCにキーボードを接続した状態でVialにアクセスしましょう。*5
キーボードを認識させる
ページの読み込みが終わったら「Start Vial」をクリックします。
謎にボタンが有効にならないこともあるので、そういう時は画面を更新してみてください。

するとキーボード選択のポップアップが出ますので、設定したいキーボードを選択し「接続」をクリックします。

キーボードの設定画面が開けば正常に認識できています。

(オプション)日本語配列用の表示設定をする
Vialはデフォルト状態だと認識したキーボードを英語配列キーボードとして扱います。
設定するキーボードが日本語配列の場合は表示を変更しないと意図した通りに設定することが困難になってしまうため、表示設定を行いましょう。
左上の「Keyboard layout」から「Japanese」を選択します。

「ISO/JIS」タブを選択し、日本語配列のキー配列を表示させます。

キーの設定変更
特定のキーの設定を変えるには以下の順で画面をクリックします。
- 設定を変えたいキーボード側のキーをクリックする
- 設定したいキーの内容をクリックする

ちなみにオーディオとかメディアの制御みたいなキーは「App, Media and Mouse」タブの中にあります。

レイヤーの設定
キー設定をするレイヤーの切り替える
キーを設定するレイヤーを切り替える場合は画面左上の「Layer」の横の数字をクリックすることで切替ができます。

レイヤー0を選択しているときはレイヤー0のキーマップを、レイヤー1を選択しているときはレイヤー1のキーマップを設定している、という形です。
レイヤーを切り替えるためのキーを設定する
実際にキーボード側に「レイヤーを切り替えるためのキー」を設定するには「Layers」タブの中のキーを設定する必要があります。

初めて見ると意味の分からない文字が並んでいてチンプンカンプンだと思います。
それぞれ「どうやってレイヤーを切り替えるか」という動作が異なるキーなのですが、全てを使いこなす必要はありません。
今回は私がよく使う4つだけ紹介します。
| キー | 動作 | 備考 |
| MO(x) | そのキーを押している間だけレイヤーxに切り替わる | 市販されているキーボードの「Fnキー」と同じ挙動です |
| TO(x) | そのキーを押すと再度切り替えるまでずっとレイヤーxに切り替わる | マクロパッドなどでよく使います |
| OSL(x) | そのキーを押した次の1キーだけ、レイヤーxに切り替わる | 同時押ししなくていいので指が楽です |
| LTx(kc) | 単押しした際は任意のキーとして動作し、長押ししたときはそのキーを押している間だけレイヤーxに切り替わる | 私はよく親指で押すキーをLTキーにして単押しだとSpaceキー、長押しだとレイヤー切替、といった使い方をします |
特殊キーの設定
「Quantum」タブから設定していきます。
これも初めて見るとチンプンカンプンだと思います。
私も実際に使ってるはこの8つだけなので、これを解説します。

この8つのキーは単押しした際は任意のキー(kc)として動作し、長押ししたときはそのキーを押している間だけShiftキーやAltキーなどに切り替わる、というものです。
| キー | 単押しの動作 | 長押しの動作 |
|
LSft_T(kc) RSft_T(kc) |
任意のキー |
LSftは押している間だけ左側Shiftキー RSftは押している間だけ右側Shiftキー |
|
LCtl_T(kc) RSft_T(kc) |
任意のキー |
LCtlは押している間だけ左側Ctrlキー RCtlは押している間だけ右側Ctrlキー |
|
LAlt_T(kc) RAlt_T(kc) |
任意のキー |
LAltは押している間だけ左側Altキー RAltは押している間だけ右側Altキー |
|
LGui_T(kc) RGui_T(kc) |
任意のキー |
LGuiは押している間だけ左側Windowsキー RGuiは押している間だけ右側Windowsキー ※Windowsの場合 |
(kc)の部分のキーを設定するには実際に設定されたキーの中の小さな四角をクリックすることで他のキーと同様に設定することができます。

マクロキーの設定
画面上部の「Macros」タブから任意のマクロ(M0~M15)を選択して作成していきます。
必要に応じて「Add acction」で動作を追加していくことで、ある程度複雑なマクロも組むことができます。

例えば単に「Hello, world!」と入力するだけのマクロキーを作るだけなら以下の画像のように設定するだけです。
![]()
例えば勤怠管理システムで勤務時間を修正するマクロを作りたければこんな感じです。

マクロが出来たら右下の「Save」をクリックし保存します。

あとは他のキーの設定と同様、「Keymap」タブの中から「Macro」タブを選び、作ったマクロキーをキーボードに設定するだけです。

コンボキーの設定
コンボキーは画面上部の「Combos」タブから設定します。
1~32の最大32種類のコンボキーが設定できるようになっています。

実際の設定は「Key1」~「Key4」に設定されたキーを同時に押すと「Output key」に設定されたキーが出力される、という設定方法になります。
例えば以下の設定の場合、「Q」と「W」を同時押しすると「ESC」キーになります。

コンボキーは直接キーに設定(アサイン)する必要はなく、事前にコンボキー自体の設定がされていればトリガーとなるキーが同時押されただけで自動的にコンボキーとして動作するようになります。
なお特殊キーの項目で説明した「LSft_T(kc)」など単押し長押しで変わる特殊キーをコンボキーにしたい場合は単押し時や長押し時のキーではなく特殊キー自体をコンボキーのkey1~4に含めるようにしてください。
例えば「LSft_T(Q)」と「W」が設定されているキーを同時押ししたときに「ESC」が出力されるように設定したい場合は以下のような設定にする必要があります。

タップダンスの設定
画面上部の「Tap Dance」タブから設定します。

それぞれ以下のような設定項目です。
| 項目 | 意味 | 説明 |
| On tap |
単押し |
いわゆる普通にキーを押した場合の動作 |
| On hold | 長押し | ShiftやCtrlキーのように長押しした場合の動作 |
| On double taps | 2回連続で単押し |
2連続でキーを押した場合の動作*6 |
| On tap +hold | 単押し + 長押し | 一度単押ししたあとすぐに今度は長押しした場合の動作*7 |
| Tapping term (ms) | 単押しと長押しの判定時間 | 単押しなのか長押しなのかを判断する長さ、ミリ秒で設定する |
例えば以下の画像のような設定の場合は次のような意味合いになります。

| 項目 | 設定項目 | 実際の挙動 |
| On tap |
Q |
Qが1回入力される |
| On hold | LShift | 長押しした場合は押している間だけ左側のShiftキーとして動作する |
| On double taps | ESC | ESCキーが1回入力される |
| On tap +hold | MO(1) | 単押ししたあと長押しし続けている間だけレイヤー1に切り替わる |
| Tapping term (ms) | 200 | キーを押した時間が200ミリ秒以下であれば単押し、それ以上であれば長押しとして認識する |
まとめ
ということでざっと簡単に機能を書き出してみました。
本当に簡単にしか説明していないのに、記事がだいぶ長くなってしまったのは申し訳ない限りです。
とはいえ書いてあることを全てキーボードに設定する必要は全くありません。*8
お使いのキーボードを自分好みに設定できればいいんです。
是非自由に自分だけのキーマップを作って、キーボードを楽しんでみてください。
また記事の内容について質問や訂正などありましたらお気軽にコメントまたはX(旧Twitter)までご連絡いただければと思います
宣伝
BOOTHにて自作キーボードの設計・頒布を行っております。
主に日本語配列に拘ったキーボードを設計しておりますので、ご興味がありましたら是非ショップページを覗いてみていただけると嬉しいです!
*1:イラスト製作や動画編集をされている方は編集ソフトの「レイヤー」機能と似たような仕組みと思っていただくとイメージがつかみやすいかと思います。複数のレイヤーをそれぞれ編集しながら一つの作品を作るように、キーボードは複数のレイヤーがそれぞれのキー配置を持ちながら一つのキーボードとして機能します。
*2:ゲームによってはマクロキーを禁止していることもあるので注意
*3:私は毎月の勤怠入力の修正作業をマクロキーでやってたりします
*4:キーボードの設定を煮詰めると段々格ゲー感が出てきます
*5:PCにインストールするローカルアプリ版もあるのですが、今回はより簡単なWEB版の説明に終始します。
*6:16連打したら8回認識するのかな、高橋名人に試してみてほしい
*7:ややこしい
*8:私もタップダンスはややこしいので使ってません