ぴろりのくせになまいきだ。

世間に平和はおとずれなぁい

今年設計したキーボードを振り返る(2023)

まえがき

この記事は、キーボード #2 Advent Calendar 2023の記事です。
キーボード #2 Advent Calendar 2023 - Adventar
昨日の記事は、algさんの「2023年にさわったキーボードファームウェアについて」でした。
2023年にさわったキーボードファームウェアについて | blog.alglab.net
自分のキーボードのキーマップは結構固まってきたので、あまりファームウェアを書き換えないようになってきましたが、頒布を視野に入れると、何かしらの対応をしなければいけないなあとは思っています。上記記事を読むと、Vailも結構よさそうだなと思いました。

以下が私の記事ですが、まあまあ長くなってしまったので目次をつけました。よろしければ最後までお読みください。

はじめに

去年の夏くらいから自作キーボードの沼に飛び込んだわけですが、今年は基板発注をし、キー部6%*1で発表をし、アルミ削り出しケースを発注するなど、そろそろ腰あたりまで沼にハマっているかな、という気がしています。

そんな今年ですが、4台のキーボードを設計しました。
それぞれの設計について、個別の記事を書いてきましたが、横断的な比較をすることはなかったので、良い機会と思って振り返ってみることにします。
今年設計したキーボードは以下の4台(3種)です(記事のリンクは脚注に貼っています。)。

  • CygSUS*2
  • Quokka*3
  • Paren48(3DPケース)*4
  • Paren48(アルミCNCケース)*5
(左上)CygSUS, (右上)Quokka, (左下)Paren48(3DP), (右下)Paren48(CNC)

以下、それぞれのキーボードについて、「達成したかったこと」、「物理配列」、「ケースデザイン」、「マウント方式」、「音響」、「苦労した点」、「気づき」について振り返っていこうと思います。

CygSUS

keycap: MT3 Operator

達成したかったこと

  • 柔らかめの感触のガスケットマウント

一つ前に設計したキーボード*6では、一応ガスケットマウントの構造にしたものの、だいぶ感触が硬くなってしまい、もはやインテグレーテッドマウントだったので、きちんと沈むガスケットマウントにしたいと考えました。

  • よい打鍵音

一つ前に設計したキーボードでは、打鍵音がだいぶ静かになってしまったので、多少派手に打鍵音が鳴ってほしいと思いました。

  • 光るキーボード

やはりキーボードは光るべきです。接続に異常がないかが一目でわかる点も良いです。

  • 基板発注

いままで基板発注をしたことがなかったので、これを機に基板発注をしてみたいと思いました。

物理配列

一つ前に設計したRaven46の配列のブラッシュアップを目指して設計しました。湾曲したカラムスタッガード系の配列で、中指列を中心に、湾曲方向が反転している点が特徴です。湾曲した配列については、hanachiさんのWillow配列に影響を受けています*7

CygSUSの配列スケッチ

Raven46からの主な変更点は、小指列の上に独立したEscキー置き場を用意した点と、サムクラスタの配置の最適化、湾曲方向の最適化などです。
若干の弱点はあるものの、使いやすい配列に仕上がりました。
特に、独立したEscキー置き場は結構気に入っています。40 %キーボードではEscキーを配置しにくい場合が多いですが、それを置くことができます。キーキャップセットにおいて、Escキーなどの背の高いキーにアクセントカラーが振られていることも多く、そういったキーを置きやすいのも良い点だと思っています。アルチザンキーキャップをそこにつけたい気持ちもあるのですが、結構押す位置のキーなので、未だに躊躇しています……
ロータリーエンコーダはもちろんついています。

ケースデザイン

ケースは、アクリル板とステンレス板のハイブリット積層構成としました。
アクリルだけの積層構成としても良かったのですが、重量を出す観点と、見た目の観点からこのような構成としました。
上下のステンレス板でフロストのアクリル板をサンドイッチする構成としたので、少し浮遊感のある見た目となりました。LEDの光は横方向にも漏れるので、結構派手に光ってくれて、個人的には気に入っています。

MDA Future Suzuriをつけていた頃の写真

なお、ぱっと見ではわかりにくいですが、上から見た際のネジの数が少なくなるようにしています。具体的には、積層パーツを締結するために、片手で10本のスペーサーが使用されていますが、そのうちの6本を止めるためのネジは、ステンレス板の下に隠れるようにしています(ザグリ加工が大変でした)。
ケース全体のデザインとしては、湾曲した配列を有する点を考慮して、ケースの形状は、円弧を多用したデザインとしました。

マウント方式

オーソドックスなガスケットマウントを採用しています。
アルミのスイッチプレートを採用しつつ、やわらかめの感触の打鍵感となるように調整しました。
具体的には、約5 mm×15 mmの5つのタブを用意し、4 mm厚のポロンシートを3 mmの厚みとなるように押さえつける形でマウントしています。
アルミプレートを採用しているので、打鍵感としてそこそこの底打ち感と、そこそこの柔らかさになったように思います。
今回はちゃんと沈むようになって安心しました。

音響

ケース構造として、マイコンが配置される空間と、キースイッチが配置される空間を独立させています(詳細は個別記事参照)。
積層ケースとする以上は、マイコンボードが配置される部分の穴を大きくせざるを得ず、そこからの音の漏れを気にしたためです。
もともと、このような構造にすることで、音が閉じ込められることを狙ったのですが、ちょっと思った感じにはなりませんでした。これは、上記のように柔らかめのガスケットマウントとしたため、キースイッチが装着されたのアッセンブリ(スイッチプレート、キースイッチ、PCB)に伝わった振動がケース側にほとんど伝わらず、アッセンブリからの音がそのまま上方向に抜けてくる形になりました。よって、分解途中でトッププレートなどを締結しない打鍵音と、ちゃんと組み上げてからの打鍵音がほとんど一緒です。
したがって、このような構成にした音響的な効果としては、アッセンブリから発生した音が全て上に跳ね返ってくる、という状態になりました。
個人的にはいい音であると思うのですが、音量自体は少し大き目です。

苦労した点

上記のような物理配列がよさそう、ということで、物理配列からケースのデザイン(主に外形)をデザインしようと思ったのですが、なかなか大変でした。
最終的には、同心円を用いてケースの上下幅が変化しないデザインとすることで、線を少なくしつつ、一定のまとまりがあるデザインにできたと思います。
また、組み立てる段階では、各板の断面が目立つデザインなので、端面を必死に磨きました。ステンレス板もアクリル板も、レーザーカット時の凹凸が目立たなくなるまで磨きました。これはこれで結構大変でしたが、きれいに仕上げることができたので満足です。

気づき

上でも触れましたが、やや打鍵音が大きくなりがちで、ケース設計と打鍵音の関係の傾向が分かるきっかけとなりました。
物理配列としては、個人的にはNキーやBキーが押しにくいと感じる場合があり、人差し指列の下がり幅の調整の必要性を感じました。
ケース設計としては、USBケーブルのオスコネクタの厚みをちゃんと考えないといけない、という点です。実は、私が作製したケースでは、オスコネクタのスリーブをちょっと削らないと入らない状態です。全体的なパーツの配置に関係するため、意外とこの辺りの設計は最初から考えておかないといけないなと思いました。
あと、アクリル積層ケースの場合、厚さのばらつきの解消方法を考慮する必要があることに気が付きました。アクリルの厚みピッタリのスペーサーを用意してしまうと、パーツが止まらずに動いてしまうことがあります。今回は、ピッタリのスペーサーを買ってしまったので、0.5 mm厚のシリコーンシートを挟んで対応しました。

Quokka

keycap: MDA Future Suzuri

達成したかったこと

  • 家で使用する際に取り回しがしやすい一体型が欲しい

家でキーボードを使用していると、位置を変えることが多かったので、分割型では取り回しの面で難がありました。また、そもそも家で使う40 %のキーボードがなかったので欲しかった、という側面があります。

  • 少し奇抜なデザインにしたい

今までのデザインをそのまま一体型にしても良かったのですが、それでは芸がないということで、何か面白いデザインはないかと模索しました。

  • 遊舎工房さんのレーザーカットでPOMの取り扱いが始まったので使いたい*8

ちょうどそのタイミングだったので、せっかくならと思いました。

物理配列

中指列から折れ曲がったようAlice配列のような見た目をしていますが、カラムスタッガードを基調とした配列です。
人差し指列から折れ曲がるようにするデザイン案もあったのですが、見た目のバランスの関係から、今のデザインを採用しました。

Quokkaの配列スケッチ

小指列の下がり幅がそこまで大きくないため、サムクラスタの位置があまり内側にせり出さないように調整しています。
また、中央に独立するキーを一つ配置してみました。これは、takashicompanyさんのキーボードのデザインからインスピレーションを得たものです*9
なお、ロータリーエンコーダはもちろんついています。

ケースデザイン

ぶっちゃけけっこう適当に作りました。
キー配列のスケッチから、だいたいの外形をえいやと引いてしまいました。
ケース全体の構成としては、PCBに対して単に板を積み重ねるだけの構造を取っています。
あえて工夫した点を挙げるのであれば、キースイッチの間にネジを配置してあまり目立たないようにしたり、マイコンボードのUSBコネクタがうまくケースに隠れるようにしたり、レイヤー位置を示すためのインジケータを目立つところに配置した程度です。
LEDの点では、乳半アクリルをボトムプレートに採用したため、かなり光が拡散してきれいに光ります。また、POMもそこそこ光を透過することがわかりました。

マウント方式

PCBに対して板を積み重ねているだけなので、多分サンドイッチマウントに分類されると思います。
ただ、余分な空間はほとんど存在しないようにしたため、一枚のプラスチック板のような状態に近いと思われます。
打鍵感はやや硬めです。よって、White Lotusのような弱めのタクタイルスイッチとの相性がよいように感じています。

音響

あまり音響を意識した設計ではありませんが、上述したように、ほぼ一枚のプラスチック板のような構造のため、下方向に音が伝わりやすく、底面からの音が鳴りやすい状態です。
素材はプラスチックなので、音はやや控えめです。音も意外と悪くないです。

苦労した点

実はほとんど苦労せずにできてしまったキーボードでした。着想から1週間くらいでデータを作成し、発注まで終えた記憶があります。
その割には思ったより使いやすく、家で使うときのメイン機です。
見た目としても、やや奇抜ながら、全体としてある程度のまとまりがあり、結構気に入っています。

気づき

キーの縦方向の間にネジを配置してしまうと、精密ネジなどの頭が小さいネジでないとスイッチに干渉してしまう点です。横方向の間の場合には、スイッチの真横はややへこんでいるので、トラスネジでも干渉しない場合が多いです。
設計面では、基板に切り欠きをつけて、端部スルーホールのあるマイコンボードを表面実装してしまう、ということが案外簡単であることがわかりました。

Paren48(3DP)

keycap: SA Doubleshot(正式名称不明、TALPKEYBOARDさんで購入)

達成したかったこと

  • さらなる打鍵音・打鍵感の調整

Raven46では静かすぎて、CygSUSではややうるさすぎたので、この中間を狙えないかと思いました。また、打鍵感として、ちゃんとした底打ち感があり、かつ、衝撃が指に伝わってこない、という程度がちょうどいいのではないかと思いました。

  • 物理配列のブラッシュアップ

CygSUSの物理配列は、それはそれでよくできていると思うのですが、ちょっと押しにくいと思う場面があったので、その調整をしたいと思っていました。

  • 積層ケース以外の設計へのチャレンジ

今までのケースは、板をレーザーカットして積層するタイプでしたが、デザインの自由度がどうしても下がります。そこで、そうでない構成のケース設計にチャレンジしてみようと思いました。この3DPバージョンのケースは、後述するアルミ削り出しケースの試作として設計しました。

物理配列

ベースはCygSUSの配列です。ここから、各指の列を放射状に広がるようにして、各列の下げ幅の調整を行い、さらに角度の調整を行いました。
また、小指列の下がり幅が若干大きくなったことに伴って、サムクラスタの配置を調整し、より内側にせり出すようにしました。

Paren48の配列スケッチ

これにより、CygSUSでたまに発生していた、小指列の下段(例えばZキーなど)と、人差し指列の内側下段(例えばNキー、Bキーなど)の押しにくさが解消されたように感じています。
個人的には、やや親指側が上がった状態で手を構えるので、小指を曲げた際には内側に入りやすく、このように湾曲した配置がしっくり来ています。
それだけでは面白くないと思ったので、ロータリーエンコーダを増やして人差し指列の隣に置いてみました。ちょっとしたショートカットや、移動系のキーをアサインするといいんじゃないかと思ったのが増設のきっかけです。これが思ったより便利で、しょっちゅう使っています。
片手デバイスでもないのに、ロータリーエンコーダが片手で2つもあるキーボードが誕生してしまいました。

ケースデザイン

ケースデザインの基本的な外形は、CygSUSのデザイン方法を踏襲しています。同心円を使いつつ、全体の形状のバランスが取れるようにしたつもりです。
ケース全体としては、後述するような特殊なマウント方式を採用するにあたって、チラ見えするプレートの上下の対称性が出るようにしつつ、最小限の厚みとなるように設計しました。
マイコンボードは、RP2040-Zero*10と、RP2040-Tiny*11のどちらかが取り付けられるようになっていますが、後者を採用して、ドーターボードをケースに取り付ける形式としています。なお、前者を採用してサンドイッチマウントとしても組み立てられるような設計になっています。
また、この類のケースにしてはやや珍しく、裏側はLED用のレンズを取り付ける穴があり、アンダーグローを光らせても見える設計にしています。
余談ですが、当初はこのキーボードも積層ケースとするつもりでした。しかし、アルミ削り出しの発注が個人でも気軽にできそう、ということがわかったのでそちらの方面に切り替えた、という経緯があります。なので、供養の意味も兼ねて、アクリル積層ケースのデータも公開しています。

マウント方式

インサートプレートマウントという勝手に命名したマウント方式を採用しています。詳細は、下記画像と上記記事を参照してください。
具体的には、PCBとスイッチプレートの間に、ポロンシート、インサートプレート、ポロンシートをこの順で挿入し、インサートプレートをケースにマウントする、という方式です。

ケース構成

思想としては、トップマウントやインテグレーテッドマウントなどのように、ケースとの音響的な結合度が高い構造と、ガスケットマウントなどのように、ケースとの音響的な結合度が低い構造との間を狙った形です。
つまり、トップマウントほどケースに音を伝えず、ガスケットマウントよりはケースに音を伝える、というラインを狙ったものです。
さらに、このインサートプレートにスリットを入れてバネの機能を持たせ、打鍵感をやわらかくすることを狙っています。
現在、3DPケースのバージョンは、やわらかめの打鍵感を狙って、POM製のスリット入りインサートプレートを採用しています。ポロンなどのスポンジとはまた違った、レスポンスの速い柔らかさになっています。

音響

POM製のインサートプレートを採用した場合には、ケースへの音の伝わり方がややマイルドで、アッセンブリのみの状態で叩いているときに少し近い音がします。
ただ、ケースの方にも音が伝わっているようで、音色としては、ケースからの音の影響も受ける状態のように思われます。これに関しては、気持ちのいい音になるスイッチもあれば、微妙な音を鳴らすスイッチもあり、マウント方式との相性を感じます。
まだ研究が必要ですが、CygSUSでちょうどいい音が鳴るスイッチが、ロングポール、かつ、ポールの先端が丸いタイプのものであるのに対して、Paren48でちょうどいい音が鳴るスイッチは、ポールの先端が平らなタイプのものである点が興味深いところです。
音にこだわりのあるカスタムキーボード勢に話を聞いてみて、マウント方式とスイッチの相性等についてさらなる研究をしようと思います。

苦労した点

ドーターボードを採用するタイプの設計が初めてだったのと、厚さ10 mmのケースにTRRSジャック(厚さ5 mm)をねじ込むのに苦労しました。苦肉の策ですが、ネジ止めする方式を取らず、別途作成したカバーでドーターボードを押さえつける方式にしました(個別記事参照)。
また、CNCでの削り出しを念頭に置いた設計だったので、エンドミルの気持ちになって設計する点にも苦労しました。
3DPケースのバージョンは、アルミ削り出し用に設計していたデータの確認用でしたが、ネジ止めの設計が異なるため、そのあたりでちょこちょこミスがあり、結構削って調整しました。リューターを持っていてよかったと思いました。

気づき

トップマウントが静かだ、と言われることがある理由を改めて実感できました。それと同時に、良い打鍵音に調整することの難しさを痛感しました。
配列に関しては、小指列の下げ幅と、人差し指列の下げ幅と、サムクラスタの配置の関係を調整すると、打鍵しやすさがかなり変化することを再確認しました*12
設計面では、今まで恥ずかしながら5 V用のアドレサブルLEDを、3.3 Vのマイコンで直接制御しようとしており、ちゃんと部品のデータシートを見ようね、という教訓を得ました。しかし、意外と直結しても動いてしまうので、動いてしまうLEDさんサイドにも問題があるとは思います。
あと、オルソリニア用のキーキャップが売っているセットだと、1.5uサイズのキーはあるものの、1.25uのキーはほとんどついていない、ということを痛感しました。1.25u用にケースを設計してからキーキャップを探したので、ちょっと後悔しています。

Paren48(CNC)

keycap: KAT Alpha, MT3 Operator

達成したかったこと

  • アルミ削り出しのケースを作ってみたい

打鍵音がどうなるのか、という点がとにかく気になっていました。また、ネジ穴を表に出さない設計が可能なので、すっきりとした見た目のキーボードを作りたい、という思いもありました。

物理配列

物理配列については、PCBも共通なので省略します。
個人的には、行間での段差のが少ないプロファイル(例えば、SAプロファイル、KATプロファイルなど)での使用が向いているように感じています。
現状はKATプロファイルのキーキャップを使用しています。

ケースデザイン

3DPバージョンでもそうだったのですが、底面にウェイトを取り付けられるようにしています。今回は、真鍮のウェイトもCNCで削ってみました。
上述しましたが、インサートプレートマウント方式を採用しているので、インサートプレートが側面に見える形になっており、デザイン上のワンポイントにしています。このキーボードの最大の特徴でもあるので、デザイン的にも表に出す形にしました。

側面にも注目

インサートプレートはレーザーカットをお願いしましたが、これも端面を磨きました。
他の点に関しては、共通なので省略します。

マウント方式

マウント方式については上述した通りです。
アルミ削り出しのケースのバージョンでは、インサートプレートをステンレス製にしています。これにより、硬めながら衝撃は吸収してくれる、という塩梅に仕上げました。
インサートプレートにはスリットを入れてスプリングの機能を持たせるようにしていますが、一応、ステンレスのヤング率と厚みから、スリットの幅と長さを計算し、最適な打鍵感に仕上がるように計算はしたつもりです。だいたい、100 gfの力が作用した際に、0.3~0.5 mmくらいの変位が発生する算段です。

スイッチプレート(左)とインサートプレート(右)

硬めの打ち心地ですが、タクタイルスイッチを使っていても指に衝撃が来ることはなく、長い時間使うのに向いていると考えています。
当初、素材の柔らかさ(ヤング率)の点で、アルミでインサートプレートを作ろうとしていたのですが、アルミの疲労破壊のことを思い出したので、それの心配が少ないステンレスを採用しました。振動する部位なので、思ったよりすぐに10の7乗オーダーの繰り返し応力が作用すると考えたためです。キーボードを設計していて初めて専門分野が役に立った気がします。

音響

インサートプレートマウントを採用し、インサートプレートにステンレス製の板を採用することで、よりケースに音が伝わりやすい印象があります。実際に、ケースにつけるゴム足の種類を変更すると、びっくりするくらい打鍵音が変わります。具体的には、通常のウレタンゴムなどのゴム足を使うと、机にかなりの音が伝わるようで、机を叩いているような低音が響きます。一方で、ソルボセインをゴム足に採用すると、その低音成分が少なくなり、高音成分が目立つようになります。
全体の打鍵音としては、たとえ底打ちがうるさい類のスイッチ*13を使っていたとしても、やや控えめに感じます。全体的な音色としては、特定の周波数成分が吸われる傾向にあるように感じられるので、不思議な打鍵音に感じます。ただし、机に響く音によって音色の印象はだいぶ変わります。
全体のコンセプトとしては、狙い通りにできたと思いますが、ケース自体の音がそこそこするので、これをどう抑えるかというのが目下の課題です。デスクマットを敷くと、机に伝わる音を減らし、ケース自体の音も減らせるような気がしていますが、現状ではデスクマットを持っていないので、それ以外の解決方法を模索していきたいところです。

苦労した点

CNCの発注は当然初めてだったので、データの準備、発注方法を含めて色々と苦労がありました。その際、copさんの記事の記載が大変参考になりました。改めてこの場を借りてお礼申し上げます。JLCPCBさんに発注しようと思っている方は是非参照してください。
note.com
具体的には、内部の角、くぼみなどについては、アクリル積層や3DPの場合には特に気にしなくても良い場合が多いですが、CNCの場合、回転する刃物(エンドミル)で切削していくため、実際的に加工不可能な形状が存在します。よって、そういった形状を避けながらの設計を行う必要があり、結構気を使いました。
また、アルミでCNCをするとなると、ビーズブラストの条件、アルマイトの色、アルマイト前の処理条件など、いろいろパラメータがあるため、これも悩ましい要因でした。今回は、120メッシュのビーズブラスト、マットの黒アルマイトを選択しましたが、他の条件も試してみたくなっています。

気づき

ケースをアルミにし、マウント方式がトップマウント寄りになると、かなりアルミケース自体に振動が伝わることを理解しました。
今回、底面の厚みを3 mmで作ってしまったので、底が鳴っているように感じられます。この点は何らかの対策が必要だと思っています。
マウント方式に関しては、底打ちが吸収されるくらいでよい、という設計思想は、個人的にはアリかなと感じています。一方で、マウント方式、ケース設計、プレート材質と、スイッチの相性は難しいなあとも思いました。同じスイッチでも、キーボードによって全然音が違う、ということを改めて実感しました。
あと、黒アルマイトもいいですが、金属感の出る仕上げのほうがアルミらしくていいなあとちょっと思いました。

おわりに

アルミ削り出しのケースを作製したので、EndGameかな? とも思ったのですが、まだまだやることはたくさんありそうです。
特に、打鍵音のEndGameは、それぞれの音色の良さがあると思うので、いくつものEndGameがありそうです。そもそも、今回のアルミ削り出しケースで打鍵音のEndGameを迎えられると思っていたのですが、かえって打鍵感の調整には何をしたらよいかがわからなくなってきた感があります。今後も色々な方針を試してみたいと思います。
平面上の物理配列に関しては、いろいろと練ってみましたが、自分の手にフィットしたものができあがったように思います。そうなると、自設計をやろうと思った原点でもある3Dの方向性もまた考えてきたいと思いました。
また、アルチザンキーキャップといった分野にも興味が出てきたので、そのうちチャレンジしてみたいと思います。

なお、今年設計したキーボードに関しては、ケースデータなどを公開しています。規約の範囲内でご自由にご利用ください。
piroriblog.hatenablog.com

この記事は、QuokkaとCygSUSで書きました。

  • Quokka

keycap: MDA Future Suzuri
Switch: Durock White Lotus, Everglide Aqua King V3, Kailh BOX Switch V2 White等

  • CygSUS

keycap: MT3 Operator
Switch: Chosfox Hanami Dango, Durock Black Lotus, Kailh BOX Switch V2 White

明日のキーボード #2 Advent Calendar 2023の記事は、Cerbekosさんの「RGB Matrix」です。
光るキーボードを多く設計されているイメージがあるので、どのような話か楽しみです。