見出し画像

Vertex Arc60であそぼ。(Vial編)

はじめに

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

Vertex Arc60とは

猫山王が今回手掛けるのは、2022年末から2023年にかけてClickClackから発売されたArc60というキーボードである。お値段はUSD270ほどのエントリーレベルのキーボードでありながら、PCBはHotswapとSolderedのそれぞれ1枚ずつの計2枚付いてくる謎にお買い得なキーボードである。マウント方式はガスケットマウントを採用しており、エントリーレベルながらも打鍵音への拘りが随所に見られ、打鍵音に関しては猫山王一番のお気に入りのキーボードである。デザイン性も非常に高く俗にいうEndgameなキーボードの一種ではなかろうか。猫山王のArc60は2023年9月のR2で購入したPeacockカラー、つまり孔雀ちゃん色のキーボードである。本当はWKLモデルが欲しかったが、GBが始まったと同時に孔雀ちゃん色のWKLモデルは完売となってしまって泣く泣くWKモデルにした苦い思い出が今となっても走馬灯のように蘇ってくる。見た目は違えど、打鍵音は変わらないと言い聞かせて心を落ち着かせる日々が続いている。あまりにも打鍵音が良いので、Split Spacebar(3-1-3)のHotswapとSolderedのPCBをそれぞれ1枚ずつ買い足して、PCBはTsanganのHotswapとSoldered、Split Spacebar(3-1-3)のHotswapとSolderedの計4枚体制で東西南北の全方位の守りをガッチガチに固めたカルテット布陣を構えている。Arc60の本来の打鍵音の良さを楽しむのであれば、PlatelessのSolderedで発揮されるが、Solderedは一度はんだ付けてしまうと外すのもひと苦労の一方通行の修行でなかなか勇気が出せず、猫山王はいまだHotswapしか試していないチキン修行僧である。PlatelessのSolderedの貴重な打鍵音については、カスタムキーボード界の父 Alexotos氏が惜しみなく披露してくれているので、熱心な修行僧は是非この機会にArc60のPlatelessの打鍵音のe-learningをご視聴頂いて至高の官能的なサウンドを堪能いただきたい。

いかがでしたでしょうか。Alexotos氏は一体何台のArc60を持っているんだろうか?実に羨ましい限りである。お聴き頂いた通りPlatelessは一点の曇もない最高の打鍵音を楽しめるが、HotswapであってもPlatelessと遜色ない打鍵音が楽しめる。カスタムキーボード最高である。ちなみに、猫山王のArc60でのスイッチ遍歴は、Gateron Oil King → Durock Black Lotus → Prevail Epsilon → Cherry MX Black HG → HMX Macchiato (いまここ)である。このあとHMX Xinhai → HMX Hyacinth V2の流れを予定しているが、HMX Macchiatoで完全にスタックしてしまっている。HMX Macchiatoも良いが、猫山王的にはPrevail Epsilonがイチ押しで、何となくハイヒールのコツコツサウンドが最近の好みである。猫山王は普段はアルミニウムプレートを好んで使用しているが、気分を変えて打鍵音を楽しめるようにPCプレートも予備でストックしている。
さてArc60のVial対応に話は戻して、Arc60はデフォルトでVialに対応している正にVial信者御用達のカスタムキーボードであり、猫山王が熱狂的なVial信者となるきっかけとなった中毒性の高い危険なキーボードでもある。Vial職人猫山王がなぜにArc60のVialのFirmwareを作成したのかというと、様々なシーンで快適に使いこなすためにも避けては通れない問題、つまり「レイヤー数がもっとあれば問題 」を解決するためである。60%キーボードであれば、レイヤー数が4つもあれば何とでもなるのだが、重度のレイヤー依存症の猫山王からすると不安で夜も眠れない日々が続いて、これまで精神衛生上非常によろしくない状況であった。とはいえ、官能的な打鍵音を奏でる大好きな孔雀ちゃん色のキーボードがFirmwareの書き換えによって文鎮化するかもしれないという恐怖との比較衡量に思いのほか時間を要し、Arc60のVial対応のFirmwareの内作化が今になってしまった。まぁ、打鍵音だけを楽しむのであれば文鎮化したとしてもエアタイピングにより引き続き打鍵音を堪能することはできるのだが、猫山王の思想としては使ってなんぼのキーボードであるが故に、文鎮化したキーボードは道具としての意味をなさなくなった時点で意気消沈からのご臨終となり、その時点で単なる不便そのものとなってしまい、不便を克服する快楽どころの騒ぎでは無くなってしまう。

Vertex Arc60でVialの楽しみ方

それでは、Vial職人猫山王が文鎮化覚悟で実際に行ったArc60のVial修行を綴っていく。猫山王のVial修行の奮闘記は今回で4回目となるので、ポイントを押さえた省エネバージョンでお届けする。そのため、猫山王が過去に実施したClaw44Planck v7Noe ErgoのVial化の導きの書も参考にされたし。
また、Firmwareの書き込みは文鎮化するリスクが非常に高い難易度最高潮の修行であり、環境の違いや失敗・挫折により修行僧の大切なArc60ちゃんが文鎮化したとしても一切の補償・対応は致しかねる。そのため、カスタマイズおよびその使用は自己責任ということをご理解の上でこれ以降の修行をお願いしたい。ちなみに、前回Vial化したNeo Ergoは人類史上初のVial化のようで、海外からのアクセスや問い合わせも多く大盛況となっている。

Vial職人猫山王のVial化したArc60のFirmwareの仕様は以下の通りである。

・レイヤー数 16
猫山王は重度のレイヤー中毒患者であり、「レイヤー数がもっとあれば問題 」を解決するためにもDefaultのレイヤー数の4→16へ爆増させた。ちなみにArc60のレイヤー数の限界値は19である。

・LED
搭載されているLEDはたった1つで心許ないが、いつものようにレイヤー毎に色が変わる仕様とした。

・RGB Light
Defaultと同じRGB Light仕様である。本当はRGB Matrix仕様にしたかったのだが、後述の.uf2形式のファイル作成のためのコンパイル時の容量問題により泣く泣くRGB Lightとなっている。Vial職人としていずれはこの容量問題を克服して、光の魔術師仕様のRGB Matrix化に取り組む所存である。

・Vialでの設定項目
タップダンサーやコンボ柔術の使い手への対応は当然のこと、QMK Settingsでありとあらゆる設定変更を可能とする食べ盛りの修行僧にもしっかりと対応した機能盛り盛り満腹丸仕様とした。Defaultからの追加という観点であれば、Space CadetやAuto Shiftなどのマニアックな機能の追加くらい。

・VialのGUI上でのレイアウト
スプリットバックスペース、ISOエンター、スプリット左シフト/右シフト、ANSI、Tsangan - WK/WKL/HHKBなど、修行僧のArc60のレイアウトとの完全一致を目指した見た目重視のハッタリ仕様とした。ただし、猫山王が持っていない64-keyのPCBへは対応していない。

1.参考となるArc60のVial FirmwareのSource codeのコピー
vial-qmkのリポジトリ内にArc60のVial FirmwareのSource codeが公開されている。下記にリンク先を貼っておくので参考にされたし。おそらく、arc60フォルダがSoldered PCB、arc60hフォルダがSplit Spacebarではないhotswap PCBのSource Codeと思われる。これらのSource  codeを参考に修行僧お好みのVialに対応したFirmwareに書き換えれば良い。

とまぁ、ここまでは楽勝モードであるが、ここからが今回の修行の醍醐味ともいえる一番の快楽を感じられる超重要ポイントである。先ほどのSource codeを参考に作成したファイルをいつも通りコンパイルするといつも通りの.bin形式のFirmwareが出来上がる。Arc60の場合は、こいつがどうにもこうにも全くもって役に立たないファイルで、伝家の宝刀QMK Tool Box様を使っても書き込めず、アサインしたResetボタンを押してDFUモードにしてArc60が外部ストレージとしてファイル内が丸見えとなった状態で.bin形式のファイルをドラッグ&ドロップしたとて、修行僧のArc60ちゃんはうんともすんとも言わない完全無欠なゴミファイルとして生まれてきたのがこの.bin形式のファイルである。これはArc60に搭載されているMCUのAPM32F103CBT6が諸悪の根源で、APM32F103CBT6の場合は書き込むファイルは.bin形式のファイルではなく、.uf2形式のファイルである必要がある。なんで.uf2形式のファイルが生まれてこないんだと叫びたくなる。猫山王調べによると.uf2形式のファイルを作成する方法は以下の2つの方法がある。

①コンパイルして生成されるファイルを.uf2ファイルとする方法
②コンパイルして生成された.binファイルを.uf2ファイルに変換する方法

ちなみに猫山王が今回選んだのは①の方法である。
コンパイルして生成されるファイルを.uf2ファイルとするためには、info.jsonファイル内のbootloaderの記載を"stm32duino"から"uf2boot"に変更する必要がある。たったこれだけではあるが、持ち前の根性と日頃の不便さを克服するための修行で培った不屈の精神力を持ってしてもここに辿り着くのに3時間ほど掛かってしまい、いつもながら時間を溶かしてしまった。ちなみに、QMKの公式サイトでの記載はこちらにあり、"This is currently only supported on F103."と、まるでAPM32F103CBT6が特異点そのものといえる代物である。とはいえ、コンパイルが通って.uf2ファイルが生成された時の快楽はまさに不便を克服して得られる何物にも代えがたい心地の良いものであった。以下、正解呪文の記載例。

"processor": "STM32F103",
"bootloader": "uf2boot",

②の.binファイルを.uf2ファイルに変換する方法は何パターンかあるにはあるのだが、便利ツールのお力をお借りして瞬時に変換する方法によるとAPM32F103CBT6のbootloaderのアドレスが必要となる。APM32F103CBT6の仕様書を解読する限りにおいては、bootloader領域のアドレスは0x4001なのだろうというところまで予想はできたが、万が一このアドレスを間違えているとそれこそ猫山王の大切な孔雀ちゃん色のArc60は文鎮化して即身成仏となるので、このハイリスク・ローリターンの橋を渡れぬまま現在に至っている。②の確実な方法をご存知の修行僧は是非そのやり方を教えて欲しい。

2.さあ、コンパイルしよう
コンパイルの呪文はいつもの呪文で何も怖くない。ほんの一例ではあるが、Vial教団のコンパイルのお作法コマンドを記載しておく。

cd vial-qmk
make vertex/arc60s:vial

ここで、RGB Matrixを有効にして.binファイルとしてコンパイルした場合は、猫山王の設定ではFirmwareのサイズは53KB程度なのでAPM32F103CBT6の記録領域の128KBからすると楽勝モードであるが、先の理由により.uf2ファイルとしてコンパイルすると何故か容量問題に直面してコンパイルエラーのアリ地獄にはまってしまった。そのため、.uf2ファイルとしてコンパイルするのであれば、光の魔術師仕様のRGB Matrixではなく、ひよこちゃん仕様のRGB Lightをお勧めする。

重度のレイヤー中毒患者の16レイヤー仕様

実際にレイヤー数爆増のVial Firmwareを作成してみて

猫山王はVial教団の熱狂的信者で、Vial友の会の会員を公言しているだけあって、Vial化したキーボードの使用感は当然に最高である。Vialを一度でも利用してしまうと、他のキーマップのツールには戻れないといっても過言ではない。そのくらい最高なのである。そのため、Arc60のレイヤー数を爆増させるというチャレンジはVial職人として当然の至上命題であったといえる。
Arc60はデフォルトでVial対応しているとはいえ、レイヤー数が4つでは重度のレイヤー中毒患者の猫山王としては心許ない仕様である。自称Vial職人である以上、新しいチャレンジと困難に立ち向かうことがVial教祖様への忠誠心でもあり、不便さを克服することにより得られる快楽がそこにあるというVial教祖様の神のお告げに従い、Vial職人としてArc60のレイヤー数爆増に取り組んだ次第である。Firmwareを触るにあたり、いつものルーティンのごとく機能盛り盛り満腹丸仕様となり、これでようやく安眠することが出来るようになった。
とはいえ、Arc60の最大の特徴はその打鍵音である。エントリーモデルながら極上の打鍵音を奏でるレイヤー数爆増仕様の孔雀ちゃん色のArc60は向かうところ敵なしの無敵のスターマリオ状態といえよう。
自作キーボードは敷居が高いと思われている方にとって、一日で一番手に触れているものはキーボードということで、不便さを克服することにより得られる快楽の世界への入門のための勇気づけとなれば幸いです。
なお、今回の奮闘記はポイントを絞った記載となっているので、猫山王の大切な孔雀ちゃん色のArc60のソースコードを下記に貼り付けておく。熱心な修行僧の今後の研究に役立てていただければ幸いである。また、このソースコードが世界中に拡散して、Vial友の会の会員がネズミ算式に爆増するのを願うばかりである。

Source code

Please note that using attached source code is requiring to take full responsibility for your own action. Establishing QMK Build Environment beforehand is also required to compile this source code. Unsuccessful flash results in a bricked PCB and your fantastic keyboard life with Vertex Arc60 ends up at this moment.

Refer to my github for source code of Vial port

VERY IMPORTANANT
My environment is as followed;
- 60% Hotswap/Soldered PCB
- Windows
- Drag-and-drop .uf2 format file to flash firmware

I am not responsible for any loss, any damage, any disadvantage or bricked PCB caused by using the information and source code on my page. Please consider the risks and "TAKE FULL RESPONSIBILITY FOR YOUR OWN ACTION".

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