自作キーボード沼1年目で触ったキーボードたち

この記事は キーボード #2 Advent Calendar 2020 9日目の記事です。

昨日は id:yskoht さんの Keyboard Layout Editor JSONの使い方 でした。

adventar.org

2020年は私にとって、自作キーボード入沼の年となりました。 それはもう深いところまで沈んでしまい、気がついたらキーボード設計までしてしまいました。

そんな沼に沈むまでの1年間に触ったキーボードを振り返りたいと思います。

ほぼ全編自分語りな上に、無駄に長い記事になってしまいましたので、お時間のあるときにどうぞ。

ErgoDox EZ (2018年10月)

f:id:f1p038:20201207192438j:plain
ErgoDox EZ (Cherry茶軸)

「1年目」と言っておきながらだいぶ過去から始まりますが、 私がキーボードに興味を持ったのは、ErgoDoxをTwitterで見かけたときだったと思います。

それまではデスクトップPCではメンブレンキーボード、ノートPCでは付属キーボードを使っており、特に不満は感じていませんでした。1 ですが、ふと目にした左右に割れてるキーボードの写真に衝撃を受け、またキーマップを自由に変えられることにも強い興味を持ちました。

使ってみたい……!という気持ちと、いきなり3万円以上をキーボードに突っ込むのは怖い、という気持ちの間でだいぶ長いこと悩みましたが、思い切って購入。

しかし結論から言うと、このErgoDox EZはあまり使いこなせませんでした……。

理由としては、

  • 想定以上に大きかった
  • Cherry茶軸を選んでみたが、タクタイル感があまり好きになれなかった
  • 使いやすいキーマップを作れなかった

あたりが挙げられます。

特にキーマップについては、日本語配列として使いたかったものの、当時の私では日本語キーボードの右手側にある多数の記号(|@[]など)をうまく配置できるキーマップを作ることができなかったのが致命的でした。ErgoDoxに関する記事も大多数がUS配列として使うことを前提としていましたからね……

といった感じで、1-2週間くらい触ってみたあとは元のメンブレンキーボードに戻ってしまいました。

Planck EZ (2019年11月)

キースイッチとキーキャップを交換したPlanck EZ

ErgoDox EZ活用に失敗したちょうど1年後、唐突に40%キーボードであるPlanck EZによってキーボード沼へ落ちました。

TwitterかどこかでLet's splitを見かけて、40%キーボード繋がりでPlanckを知ったのだったと思います。

格子状にならんだキーと、数字キーすらないストイックなキー数、それでいてふつうに使えるという噂を聞いて、これまた興味を惹かれて購入。

そしてこちらは、数字キーと記号キーをレイヤーに押し込める方法で、日本語配列でも問題なく使えるキーマップを作ることができました。 ErgoDoxよりはるかにキー数少ないのに……。 キースイッチに選んだCherry黒軸の打鍵感も気に入り、一気に常用できるキーボードとなりました。

ちなみに当時使っていたキーマップはこんな感じ。 現在使っているキーマップはここから、数字を2段目に持ってきたり、Enterを親指に持ってきたりするなど細かい調整を加えていますが、おおよそこの配列がベースとなっています。

f:id:f1p038:20201208005425p:plain
Planck EZで使っていたキーマップ

その後AliExpressでキーキャップとキースイッチを購入し、小指だけ赤軸にして変荷重にしたり、キーキャップを変えたりと、一気にキーボード沼に沈んでいきました。

Chidori (1月)

Chidori
Chidori (Gateron Ink Black/Red, MDA Big Bang)

Let's splitからPlanckを知ったので、Planck EZの次は自作キーボードに手を出したいなと考えていました。

Planck EZで40%キーボードが十分実用できると分かったのでサイズは40%で、かつ分割型のキーボードキットとして、Corne Cherryを作りたいなと思っていました。しかし見つけたときはちょうど品切れで買えず。

買えるタイミングを待っていたのですが、その前に昨年度のアドベントカレンダーka2hiro_ さんのChidori紹介記事 を読み、電子部品むき出しのフォルムに一目惚れしてポチりました。

はんだごてなどの道具も新しく揃えて組み立て。 はんだ付けは大学の実験で少しやったことがある程度でしたが、組み立て自体は特に問題なく完了しました。 その後ファームウェアの書き込みに手間取ったりしましたが、どうにか動作させられたときの感動はひとしおでした。

完成後も、I2Cについて調べてOLEDを追加する改造を加えています。 TRRSジャックからもI2Cが出ているので、さらにRTC、気圧計、CO2センサなどを付けて遊べそうだなあとも考えています。

Corne Chocolate (2月)

Corne Chocolate
Corne Chocolate (Kailh Choc赤軸, 3DプリントキーキャップRSX)

やっぱりCorneが気になるなあというのと、職場でも自作キーボードを使いたいという思いから、Corne Chocolateを組み立てました。

組み立てに関しては、やはりUnderglow/Backlight LEDとして使われているSK6812MINIのはんだ付けが鬼門でした。 というかどこかがはんだ付け不良になっているようで、未だに全部点灯しません。 ま、まあ職場で使うから光らなくてもいいし……

キーキャップは monksoffunkさんの3Dプリントキーキャップを使用。 とても薄く仕上がり、またキーキャップとOLEDカバーがツライチになってとても見栄えがよくなりました。 最近はスイッチの選択肢の多さからCherry MX互換スイッチのキーボードばかり選んでいますが、Chocのこの薄さはいいなあと常々思います。

f:id:f1p038:20201208210131j:plain
横から見たCorne ChocolateとChidori

DUMANG DK6 (3月)

DUMANGで遊んでいたらなんかできてた配列。親指キーの配置がちょっと気に入っている

昨年度のアドベントカレンダーと雷さんの紹介記事 を読んで気になっていたDUMANGキーボードを購入しました。2

思いついたキー配列を気軽に試せて楽しいです。キーマップ設定アプリがUS配列にしか対応しておらず、日本語配列で使うにはちょっと厳しかったり、マクロの設定がQMKほどは自由度がなかったりしますが、そこさえ目をつむれば十分常用できると思います。 しばらくの間配列をいじって遊んでいました。

ちなみに上の写真で試した配列が、後述のyacc46制作のきっかけとなりました。 このDUMANGキーボードはSU120でのプロトタイピングより前の段階で試行錯誤するときにも活用しました。

Kyria (5月)

Kyria (Gateron Ink Silent Black, ENJOYPBT ABS Dolch)

この頃Self-Made Keyboards in JapanのDiscordサーバーに入ったのですが、ROM専として色々と見ていたところで splitkb.comのKyria を見つけて購入しました。

海外ストアからの直接購入3、さらにストアではケースが品切れだったため、公開されているケース図面を使ってアクリル板を近所のファブでレーザーカットしてもらうなど、そこそこ入手までのハードルが高いキットでした。

Corneよりもさらに攻めたColumn-Staggered配列や、親指まわりのキーが多いところが使いやすく、さらに左右にロータリーエンコーダや大画面OLEDを備える楽しさもあり、非常に満足度の高いキーボードでした。 後述のyacc46も、このKyriaからの影響を多大に受けています。

ちなみにこの頃、 Sassa95さん作の理系キーキャップ を購入し、Artisanキーキャップ沼にも足を突っ込みました。 電子部品かわいいです。

さらに、キースイッチのルブにも挑戦しました。 きっかけはKyriaに使用したGateron Ink Silent Blackスイッチで、サイレントスイッチによくあるという軸のカサつきが少し気になったことでしたが、 ルブしたスイッチの感触に慣れてしまった今ではもうルブしていないスイッチでは満足できなくなってしまいました。恐ろしい……

f:id:f1p038:20201208215939j:plain
遊舎工房ルブステーション

Nomu30 (7月)

Nomu30 (Gateron赤軸, DSAキーキャップ)

ちっちゃい!かわいい!

しかし、親指酷使配列・40%に慣れきってしまったため、まだ使いこなせていません。いつかちゃんと使ってみたい。

SU120でプロトタイピング (8月)

f:id:f1p038:20201208002937j:plain
SU120で作ったyacc46プロトタイプRev.1 (MDA ORTHO VoID)

Kyriaの使い勝手がいいので、これと似たキーボードをもう1台組み立てるか、または自分で設計するかして家と職場にそれぞれ置いておきたいなと考える時期がしばらく続いていました。 そんなある日、唐突にキーボード設計したい欲が高まり、1キーごとの基板をビスケットで接続することで自由な配列を作ることができるキーボード基板SU120を入手しました。

キーボード設計のコンセプトとしては、気に入っていたKyriaの代わりとして使える、より自分好みのものを作ろうという考えのもと、

  • 指の可動域に合わせたColumn-Staggered配列
  • 親指キーは指を伸ばさなくても押しやすいようにT字に配置
  • ロータリーエンコーダを左右に1つずつ配置したい
  • 小指の付け根キーが少し気になっていたので試す

といった要件をもとにキー配置を考えました。

まずはSU120基板が届くまでに、DUMANGキーボードでキーを並べてみて検討。 このとき小指列に傾きをつけるアイディアを思いつき、SU120でのプロトタイピングに反映することができました。

SU120基板が届いたら組み立て。 少し凝ったキー配列のためにビスケットで固定する箇所が多く、固定に使用するM1.4ネジが小さいことも合わさり大変でした。 しかし、組み立て後はちゃんとQMKが乗ったキーボードを使いながら自作配列の評価ができ、さらにキー配置の変更もできることで、評価と改良のサイクルを効率よく回していくことができました。

f:id:f1p038:20201208211901j:plain
プロトタイプRev.2。ProMicroの位置を変えて、一体型のようにも使えるようにした。

f:id:f1p038:20201208211955j:plain
プロトタイプRev.3。親指を近づけた。

f:id:f1p038:20201208212049j:plain
プロトタイプRev.4。薬指列も少し傾きをつけ、外側の小指の付け根キーを外して、代わりに中央にArtisan置き場を追加

ちなみに、SU120ではボトムプレートがないため、一般的なサンドイッチケースのキーボードと比べて少し背が低くなります。 これを補正して少しでもサンドイッチケースの使用感に近づけるため、百均のカラーボード(5mm厚)をキーボード下に敷いて高さをかさ増しするという方法を取りました。

この頃、BOXXX KEYCAPさんの All about youth を購入。これをきっかけに、キーボード中央にArtisan置き場を設けました。

yacc46 (10月)

f:id:f1p038:20201208002625j:plain
yacc46 v0.2 (OA Switch, Susuwatari)

SU120で作ったプロトタイプの使用感におおよそ満足したところで、KiCadを使ってキーボード設計に取り掛かりました。

基板に起こす際の追加コンセプトとしては、

  • 持ち運ぶことも考えて、一体型キーボードとして作る
  • 指ごとに傾きをつけつつ、小指列をまっすぐ配置することで、分割キーボードのように肩を開いて打鍵できるようにしつつ、見た目の良さにもこだわる
  • 大画面OLEDを中央に配置
  • なんかカッコ良さそうだったから一体型・ロータリーエンコーダ2基・OLEDを実現するためにはProMicroではピン数が足りなかったため4MCU直付けに挑戦する
  • ついでにUSBにも、使いやすいType-Cを使用

という感じで、初めてのキーボード設計にしては色々と欲張ってみました。

プリント基板設計の経験はなかったため、例に漏れずfoostanさんの『自作キーボード設計入門』でKiCadの使い方を学びました。

booth.pm

しかし今回設計するキーボードはProMicro不使用、MCU直付けのもので、ProMicroに相当する回路も自分で起こす必要がありました。 一応ProMicroの回路図が公開されていたり、キーボード設計先駆者のみなさんがGitHubに公開してくれているKiCadプロジェクトや回路図を参考にすることができましたが、それでもそれぞれ回路設計が違い、どれが正しいのか(あるいは多少設計が違っても動くのか)の判断が難しく、回路設計の段階から苦戦しました。

回路設計後の配線作業も、ベストプラクティスを知らないため大変でした。 まずパーツ配置と基板外形の作成に時間を溶かし、配線が必要な箇所が多くてどこから手をつければいいやら、なんとなくパターンを繋いでいたら配線が横断できない箇所が出てくるやら…… 最終的に完成した基板データを発注した後も、基板が届き、実際に組み立ててみて動くことを確認するまではずっと不安でした。

基板データをELECROWに発注し、部品は遊舎工房や秋月電子・マルツの通販で集め、プレートは近所のFabでアクリルをレーザーカットしてもらうことで準備しました。 そうして集めた部品を組み立て、最終的に完成した自設計キーボードが動いたときの達成感は筆舌に尽くしがたいものでした。

ちなみに最初発注した基板では、OLEDのパターンを裏表逆に配置してしまったためにOLEDを取り付けられませんでした。上の写真は修正後再度発注した基板のものです。

このキーボードには「yacc46」(やっくよんじゅうろく)という名前を付けました。 "Yet Another Complex-Column-Staggered Keyboard"の頭文字を取っています。 指ごとに角度をつけたColumn-Staggered配列ということで"Complex-Column-Staggered"という名前を作ってみましたがちょっと微妙だったかも?まあ「やっく」の語感がいいのでよしとします。

そのうち紹介記事を書いたり、試しに販売したりもしたいです。

この1年間について思い出しながら書いていたら、時刻はアドベントカレンダー担当日前日の23時、文字数は1万字弱にまで膨れ上がりました。長々とすみません。

しかし、今まであまりQiitaなどに記事を書くこともせず、ブログもやってこなかった自分が、アドベントカレンダーに参加して記事を書くまでにのめり込んだ趣味は自作キーボードが初めてです。 ものづくりの楽しさ、普段使いの道具に直結する実用性、様々な方向からの創作と、この沼はとても広く、とても深いものです。 無限にお金と時間が吸われそうで怖くもありますが、それ以上に長く楽しめそうです。

来年ですが、まずはyacc46をよりブラッシュアップしたいと思います。 特にサンドイッチ以外のケースを試してみたいですね。 アクリル積層、3Dプリント、はたまたアルミ削り出し……?


この記事は、yacc46 (OA Switch + 78p/72p/68pスプリング + Krytox GPL 105/205g0, Susuwatari) で書きました。


  1. ただこの時点でも、日本語入力にAZIKを使っていたりと、文字入力についてはちょっと興味はあったと思います。

  2. ちょうどこの頃、遊舎工房ほか数店舗でDUMANGキーボードの販売が行われていましたが、私は買い逃したのでSeeedから買いました。

  3. AliExpress使っていながら何を怖がってるんだって感じですが。

  4. Duplex Matrixを使用することで、ProMicroでもギリギリピン数が足りることが後々わかりました。