YMDK YD60MQを使った自作キーボード

自作60%キーボード

2022年7月、数年前からブームになっていた自作キーボードをやってみた。 自作キーボードといってもいくつかやり方があって、コアなファンは基板を自分で起こしているようだが、とりあえず初心者の私は既成品の基板、スイッチとケースを組み合わせて簡単に動くものを作ることができた。 既成品の基板を使っても、ファームウェアでキーマップやマクロの設定はできるほか、基板によってスイッチの配置の組み合わせがある程度自由に選べ、またキースイッチとケースの色を自由に組み合わせることができ、自作PCと同じような組み合わせる楽しさを味わうことができる。

コンセプト

部品選定

基板

基板とケース、プレートとスタビライザーがセットになったお得セットがAliexpressで売っていたので、それを使うことにした。 初心者なので、ケースと基板が合わなくてつらい思いをしたりすることが回避できるかなと思ったのだが、Aliexpressはそう甘くなかった。 セットになっている基板とケースは干渉してそのままでは使えなかったのだ。 幸い、ケースが加工しやすいプラスチックだったので、干渉している部分すべてをニッパーで切り取ることでケースに入るようにできた。

プレートは、キースイッチを安定させるために固定する盤で、実現したいレイアウトに応じたものを選ぶ必要があるようだった。 今回私が使いたかったレイアウトはそこまで一般的なものではないようで、最下段に大きめの穴が空いていてある程度自由にスイッチを配置できるものを選ぶことになった。 ホコリが入りやすそう。 本当は光らない基板で良かったのだが、希望のレイアウトに対応するプレートが光る基板とのセットしかなく、単体で買うと多少割高になったので、とりあえず最初の自作キーボードということで光ってもよいことにした。 もちろんキーコンビネーションでLEDはON/OFFのほか、光り方も変更できる。

スタビライザーは、長めのキーの下に入っている棒の部分の部品で、今回セットになっているのを買ったので別途調達する必要はなかった。

Gift Keyboard 60% Full Kit 61 64 ANSI ISO GH60 Clear Plastic Case QMK Underglow RGB Non Hotswap PCB — $40.95

YMDK YD60MQの16連LED
基板裏側の16連RGB LED。最大輝度で直視すると、しばらく網膜に焼き付く明るさ。

キーキャップ

キーボードの見た目を大きく左右することになるキーキャップ。 かわいい感じで、かつ今回の基板とレイアウトの組み合わせで使用する長さのキーがすべて揃っているものを探すことになる。 今回はMAプロファイルで、丸っこい感じでかわいい形で、色もきれいなキーキャップを見つけた。 耐久性の高いPBTではあるものの、二色成形ではなくてレーザー刻印のものだ。

MA Night Sunset PBT Keycaps — $39.44

MA Profile keycaps
MAプロファイルのキーキャップ。一部ちょうどよい色のキーキャップがセットに含まれていなかった。

スイッチ

キータッチに影響があるキースイッチは、Tecsee Purple Pandaというものを選んだ。 PandaとついているのでおそらくPanda系スイッチを意識したものだろう。 PMEと書いてあり、pre-lubed/グリス塗布済みのものなのだと思う。 今回のレイアウトでは65個必要なので、70個入りを購入。

Tecsee Purple Panda PME Tactile Linear Switches POM Stem 68g Spring Swithes For Mechanical Gaming With 5Pins — $30.90

Tecsee Purple Pandaスイッチ
Tecsee Purple Pandaスイッチ。MX互換。

以上で合計 $111.29

組み立て

組み立ては簡単だが、後戻りが大変な箇所がいくつかあるので注意が必要。 スタビライザーを取り付けて、スイッチをプレートに取り付けて、基板にスイッチをはんだ付けする。 ケースに入れるとリセットを押しにくいので、ケースに入れる前にファームウェアの書き込みをしておくと良さそう。 今回、実際にファームウェア書き込み前にケースにネジ止めしてしまったのだが、初期導入されているファームウェアが親切だったので、スペースバー右の、今回スイッチ未実装のパタンと左上Escの同時押しでリセットでき、手戻りにはならなかった。

利用した基板が複数のレイアウトに対応していて、微妙に位置がずれたパタンが多数あるので、実際にキーキャップを載せた状態のスイッチを使ってスイッチの位置決めを行った。 ここがずれてしまうと、キーキャップが乗らなくてどうにもならなくなってしまいそう。

上方向キーのみ、キーのプラスチック足の片方が基板にはまる場所がなかったため、切断する必要があった。 MXキースイッチには5ピンと3ピンがあるとのことで、物理的な固定のためのプラスチックの足の有無が違うらしい。 今回のスイッチは5ピンで、概ねこれで問題ないのだが、この部分だけは3ピンが必要なのであった。

ファームウェア書き込み

キーボードのレイアウトを好みに調整する方法として、ファームウェアを完全に自分好みに調節できるQMKを用いる方法と、そのうえのキーマップだけをグラフィカルなツールで置き換えるVIAの2種類方法が存在するようだ。 今回はQMKのファームウェアのキーマップを変更して書き込むことにした。 キーボード定義がすでにレポジトリにあれば、QMK Configuratorというウェブサイトをつかうことで、完全ノーコードで好きなレイアウトを作ることができる。

Aliexpressの商品ページに貼られていたリンクでは、ファームウェアの生成にはベンダーが用意したURLのQMK ConfiguratorでYD64MQを選べ、と書いてあった。 オープンソース版のQMK Configuratorでは、YD60MQが8-led/16-ledの2種類選べるものの、YD64MQはリストになく、このちょっと古そうなQMK Configuratorを使わざるを得ないかと考えていた。 ところが、実際届いた基板は594d:604d YMDK YD60MQで認識されたので、オープンソースのQMK Configuratorが利用できた。 YD64MQとYD60MQは同じものの違う呼び方なのかもしれない。

レイアウトで工夫した点としては、念のためSunに接続したときにOBPに行けるようにFn+Caps LockL1/Stopが押せるようにしておいたところと、ボリューム調整 (Mute, VolDown, VolUp)をFn+P[]にしたところ。 あとはおおむねQMK Configurator提案のデフォルトのレイアウトで、RGB発光の調節やリセットも行えるようになっていた。

Layer 2 (fnキー押し込み時)のレイアウト
Layer 2 (fnキー押し込み時)のレイアウト

QMKは、私が普段使っているLinux環境でもDockerまたはpodmanさえあれば簡単にビルドできて、このYD60MQの16 LED版、キーマップdefaultをビルドするなら、

./util/docker_build.sh ymdk/yd60mq/16led:default

を実行することでymdk_yd60mq_16led_default.hexがビルドされる。

書き込みはキーボードが採用しているマイクロコントローラの種別により手順が異なるようだが、YD60MQの場合、USBでキーボードを接続し、QK_BOOTキーを押す、または基板のリセットのパタンを一瞬ショートさせたあとで、

dfu-programmer atmega32u4 erase --force
dfu-programmer atmega32u4 flash ymdk_yd60mq_16led_default.hex
dfu-programmer atmega32u4 reset

でそれぞれ消去、プログラム、リセットが行えた。 dfu-programmerはOpenSuSE Tumbleweedだとzypperで利用可能。

その後

その後、上記レイアウトでしばらく使ってみて、全く問題なく便利に使えていたものの、さらなる便利さを求めて以下の変更をQMKに入れて使ってみている。

こんな感じで、組み立てたあとでも、ファームウェアで各種工夫を入れることでどんどん便利にできるのが良いところ。

おわりに

実際使ってみると、Purple PandaスイッチとMAプロファイルキーキャップの組み合わせは、打鍵時のカチカチ音がないIBM 5110と表現したくなる重さと打鍵感であった。 思っていたより音は大きくて、このまま出社勤務になったときに作業場所に持っていって文句言われないかはあまり自信がない。