見出し画像

Claw44であそぼ。⑪(Vial/Tap Dance編)

はじめに

一日で一番手に触れているものはキーボードという思い込みから、不便さを克服することにより得られる快楽を毎日満喫するために小さなキーボードの導入を思い立ち、2022年12月にClaw44の購入を決意。プログラミングと自作キーボードの知識ゼロから始めた自作キーボード素人によるClaw44カスタマイズの奮闘記を綴っていきたいと思います。

VialのTap Danceとは

猫山王はVial教団の熱狂的な信者であり、Vial友の会の会員としてVialの普及に尽力していることはご存知のことであろう。Claw44にVialを導入して以来タップダンス界のひよこちゃんのピヨピヨ仕様で停滞したままであるが、Vialでのタップダンスの楽しみ方をまとめてみたいと思う。迷子になったら公式サイトを合言葉に、以下の公式サイトの該当ページを熟読することをお勧めする。

英語の説明も非常に簡単で基本的にはGUI上で操作ができるので猫山王の詳細解説は不要と思うが、Vialのタップダンスの素晴らしさをお伝えしてVialの布教活動に役立てられればと思う。

VialでのTap Danceの楽しみ方

VialのタップダンスはGUI上で設定ができる類まれな優秀な機能を搭載しているが、FirmwareをVial対応すれば即利用可能という訳ではない。「Claw44であそぼ。⑧(Vial編)」でVialのタップダンスの機能の有効化について記載している。タップダンスの基本的な機能については、「Claw44であそぼ。③(Tap Dance編)」も参照にされたし。

1.rules.mkファイルの内容を書き換えよう
Vialでタップダンスの機能を有効にするためには、keymaps/vialフォルダ下のrules.mkファイルに「Claw44であそぼ。⑧(Vial編)」に記載の必須呪文に加えて、推奨呪文のうちタップダンスに関する以下の記載が必要である。

TAP_DANCE_ENABLE = yes

2.さあ、コンパイルしよう
Vial対応済みのソースコードであれば上記の呪文を追記してQMK MSYSでのコンパイルで準備完了。Vial友の会のコンパイルのお作法として、Vial友の会の会員のみが使用を許されたコンパイル用のコマンドを記載しておく。ここで、[keyboard_name]はVialのソースコードが格納されている任意のフォルダー名で、Claw44であればdailycraft/claw44が考えられる。

cd vial-qmk
make [keyboard_name]:vial 

3.Tap Danceを設定しよう
ここからはGUI上でのタップダンスの設定が如何に簡単にできるかを力説していく。webブラウザーまたは専用アプリでVialにアクセスして、Tap Danceタブをクリック。設定可能なタップダンスの数だけ数字タブが並んでいるのがお分かりいただけるだろう。デフォルトは8つで最大32まで増やすことができる。猫山王のClaw44は最大の32の設定ができる重度のMAXタップダンス中毒症候群のフラダンス仕様にしてある。とはいえ、5つしか利用していないので完全に宝の持ち腐れであり、ひよこちゃんのピヨピヨ仕様たる所以である。ここでやらめったにタップダンスの設定数を増やし過ぎて容量が心配で不安で夜も眠れない小心者の修行僧や任意の数を設定したい修行僧は、config.hに以下の呪文を追加することでタップダンスの設定数を思いのままにコントロールできる。

#define VIAL_TAP_DANCE_ENTRIES XX // XXは任意の数字

話を元に戻して、猫山王のTD(0)の設定を参考に設定画面を見ながら解説していく。

数字の0のタブをクリックするとTD(0)の設定画面に移動する。上から順番に各項目の日本語訳を記載しておく。

On tap   ←1回短押し(Tap)の挙動の設定
On hold    ←1回長押し(Hold)の挙動の設定
On double tap ←2回連続短押し(Double Tap)の挙動の設定
On tap + hold ←1回短押し+1回長押しを連続したときの挙動の設定
Tapping term     ←これ以上だと長押しと判定される時間

各項目をクリックして、それぞれの動作で実現したいキーをアサインすれば良い、それだけである。キーのアサインについては各項目ごとにAnyキーも設定でき、何の制約もなく思い通りのキーがアサインできる。つまり、QMK Firmwareのタップダンスは、HoldにはCtrl・ Alt・Winキーといった修飾キーやレイヤー移動しか設定できなかったり、単キー入力をHoldに設定できなかったり、修飾キー+単キー入力を設定できなかったりするが、Vialのタップダンスではこれら全てが設定できる何でもありの無双状態といえる。これが猫山王がVial教団の熱狂的な信者となった最大の理由である。ここまで無双状態でのタップダンスの設定を可能とするものは、VialとKEMOVE DK61のAPEX以外に知らない。これら以外に無双状態でのタップダンスの設定を可能とするFirmwareやキーボードをご存知の修行僧の方がいらっしゃれば是非教えてください。
また、VialであればTapping termについてもGUI上で個々のタップダンスの設定毎にいじくることができ、それもリアルタイムで反映されるので実験しながら修行僧のニーズに合ったドンピシャなTapping termの設定がこの上なく容易に行える。Tapping termを変更する場合には、右下のSaveをクリックするのを忘れないようにしなければならない。不便さを全て取っ払って、快楽のみを味わう事ができる素晴らしい操作性ではないか。

4.設定したTap Danceをアサインしよう
上記で設定したTD(0)については、KeymapタブのクリックからのTap DanceタブのクリックでアサインしたいキーにTD(0)を設定すれば完了の楽勝モードである。

5.さらに高度なTap Danceの設定をしよう
keymaps/vialフォルダ下のrules.mkファイルに「Claw44であそぼ。⑧(Vial編)」に記載の必須呪文の以下の記載を加えることで、タップダンス界の上級修行層が好むより高度なタップダンスの設定もGUI上で可能となる。

QMK_SETTINGS = yes

webブラウザーまたは専用アプリでVialにアクセスして、QMK Settingsタブをクリック、Tap-HoldタブをクリックするとPermissive Hold、Ignore Mod Tap Interrupt、Tapping Force Hold、Retro Tappingなどのタップダンスに関するより高度な呪文が記載されているのがお分かりいただけるであろう。

これらはタップダンス界の絶対王を目指す上級修行僧がタップダンスの修羅の国における修行での極限状態を脱するための処方箋であり、チェックマークを付けることで処方箋の効用を開放することができる。簡単に各処方箋の効用の日本語訳を付けておくが、タップダンス界のひよこちゃんのピヨピヨ仕様の猫山王はこれらの処方箋を常用していない。なんとも情けないヘッポコ素人である。

Permissive Hold
→Holdを設定している場合に、ついついTapping termより短に時間内に次のキーを押してしまい、前のキーがHoldとして取り扱われず困っている修行僧のためにHoldとすることができる処方箋

Ignore Mod Tap Interrupt
→修飾(Mod)キーをHoldに設定している場合に、Hold→Tapとして取り扱われて困っている修行僧のためにTap→Tapとすることができる処方箋

Tapping Force Hold
→Holdしてオートリピートにより文字が永遠に入力されて困っている修行僧のためにオートリピートをオフとすることができる処方箋。ただ、この機能は現在QUICK_TAP_TERMに置き換わっていてGUI上で有効にしてどのように機能するのか謎。というかTapping Force Holdを有効にしても変化がないように思ったのは猫山王が鈍感なのか、機能が理解できいないのか謎

Retro Tapping
→Holdを設定している場合に、Holdしても次のキーを押さなければ、Tapとして取り扱うことができる処方箋

上記以外にもいざという時のためにTap Code Delay、Tap Hold Caps Delay、Tapping Toggleの処方箋も用意されているが、猫山王はこれら処方箋の効用を理解できていない。研究を続けてこれらの効用が判明すれば公開しようと思うが、これらの効用についてご存知の上級修行僧の方がいらっしゃれば是非教えてください。

6.番外編
「Claw44であそぼ。⑧(Vial編)」でも紹介しているが、Vialの公式サイトでVial用のタップダンスの呪文例の記載があった。実際この呪文をkeymap.cファイルに追加しても全く反映されずに、結局のところはwebブラウザーまたは専用アプリでGUI上でタップダンスの設定をする必要があるのでゴミ呪文といえる。Scotto氏のE-learningでもVialのタップダンスの呪文には問題があって機能しないとコメントされている。そのためか、現時点ではVialの公式サイトからも記載は削除されているが、今後の機能改善を祈願して当時掲載されていたゴミ呪文を以下に記載しておく。

In your keymap.c file, add the keycode TD(0) to the layout - tap dances in Vial go from 0 to 31. Further down, add:

void keyboard_post_init_user(void) {
vial_tap_dance_entry_t td = {
TG(1),
KC_CAPSLOCK,
KC_NO,
KC_NO,
TAPPING_TERM };
dynamic_keymap_set_tap_dance(0, &td); // the first value corresponds to the TD(i) slot
}

実際にVialでTap Danceを利用してみて

QMK Firmwareであれば、毎回呪文を更新してその都度コンパイルの嵐の修行が必要となる。一方で、キーボード初心者にとっての高根の花のタップダンスであるが、Vialではありとあらゆる設定がGUI上で完結でき、猫山王のようなキーボード初心者であってもいとも簡単にタップダンスの機能を享受することができる。そのため、修羅の国での修行を必要としない快楽に満ち溢れた平穏なキーボード生活を満喫できている。とはいえ、Vialのタップダンスは全知全能の神ではなく欠点もある。それはタップダンスの設定は4つのパターンしかできない。タップダンス界の絶対王を目指す上級修行僧であれば当然にTriple Tap(3回連続の短押し)やDouble Tap&Hold(2回連続の短押し後にすぐに長押し)さらにはタップダンスの無限の可能性を模索すべく連打回数を闇雲に増やす必要があり、これらの設定はVialでは実現不可能である。また、Permissive Hold、Ignore Mod Tap Interrupt、Tapping Force Hold、Retro Tappingなどの処方箋についても、QMK Firmwareでは個々のタップダンス毎に効用を開放できるが、Vialであれば全てに適用されてしまう。タップダンス界の上級修行僧にとってみればVialはきめ細やかな設定に対応できないといえる。タップダンスやってるよ、と自慢げに話したとしてもそもそもがVialでとなると、タップダンス界の上級修行僧からは白い目で見られるかもしれない。とはいえ、猫山王のようなキーボード初心者の日常使用には十分に耐えうる仕様で憧れのタップダンスを操っているという満足感を味わうことができる。タップダンスの修羅の国での修行に耐えてタップダンス界の絶対王を目指すか、Vialで平穏なTap Danceの日々を過ごすかはそれぞれの修行僧の価値観に依るところである。
今回はVialでのタップダンスについて、ほとんど公式サイトの日本語訳となってしまったが操作方法を中心に力説してみた。また、普段は目にすることのないタップダンスのマニアックな処方箋や今は亡きゴミ呪文の理解を通じて、改めてタップダンスの素晴らしさとVialでの操作性についてより具体的にイメージいただき、Vial教団へ入信の後押しとなりタップダンスを夢見る修行僧にとって一助となれば幸いです。
自作キーボードは敷居が高いと思われている方にとって、一日で一番手に触れているものはキーボードということで、不便さを克服することにより得られる快楽の世界への入門のための勇気づけとなれば幸いです。


この記事が気に入ったらサポートをしてみませんか?