40%サイズの自作キーボードを作った

小さいサイズ、いわゆる40%キーボードの自作についての記事です。キー配列をどうするか、基板の設計の難しかった点、ケースの製作について試したことなど。皆さんの自作キーボードの参考になれば幸いです。

 

小さいサイズのキーボードを作り始めるきっかけ

2021年4月、ゴールデンウィークの間に何をしようか考えていた。自作していた68キーのキーボードがちょうど完成して、

とつぶやいたら有名ユーチューバーにリツイートされてびっくりした。

 

まあでもこんなことをつぶやいている時点で新たにキーボードを作る頭になっているわけで。完成した68キーのキーボードはかなり満足度が高いので、全然キー配列の違ういわゆる40%キーボードを作ることにした。キーボードが増えてきてて置き場に困り始めているけど、いわゆる40%サイズなら小さいから誤差みたいなもんだよね、と受け入れたくない現実から目を背けて設計・製作を始めた。

 

40%キーボードにはどんなものがあるのか?

40%キーボードについてまずは世の中にあるものを調べてみる。こちらの記事は代表的なものを比較していてとても参考になった。

romly.com

どれもなかなか魅力的。Planckは横幅12uのOrtho Linear。四角いケースへのおさまりが良い。ただ、普段Row staggeredを使っていてOrtho Linearで果たしてまともにタイピングできるのだろうかという不安からパス(単なる食わず嫌いかもしれない)。Vortex coreは横幅13uの既製品。キーキャップの印字のフォントサイズが控え目でずーっと気になっているキーボード。ただ自分は矢印キーが欲しい人間なのでこれもパス。MiniVanは12.75u幅のRow staggered配列で良さそうに思ったが、真ん中手前の2uと2.25uの片方は1uくらいでいいからちょっと自分が欲しいものとは違う。ということで結局自作することにした。

 

キー配列を考える

Keyboard Layout Editorを使って、MiniVanの配列を出発点にしてキー配列を考える。最終的に以下の配列になった。

f:id:kgnwsknt_chef:20210727231138p:plain

キー配列
  • 矢印キーを右下に一列に配置。矢印が横一列に並ぶキーボードはこれまで使用したことがなかったが、これくらいは慣れるように頑張ろうと決心。
  • 数字や記号の多くはfnと一緒に押すことで入力することになる。数字を入力するためのfnと、普通は数字+シフトで入力する記号を入力するためのfnの2つのfnキーを配置することに。
  • はじめ普通の英語キーボードの配列と同じように「;」キーをLの右隣に配置していたが、「;」よりも「-」のほうが使用頻度が高いことに気づく。これはカタカナの長音記号をタイプするから。Twitterで教えてもらったように「-」キーをfnキーなしで入力できるようにLの隣に配置することにした。
  • カッコはだいたいペアで使用するので、隣同士に配置。
  • 残りのF1-F12とか、[~]などの記号の配置は割と適当。

 

悩んだのはスペースキーのサイズと位置。自分は日本語入力で漢字変換するときに、スペースキーを右親指だけでなく左親指でもタイプすることがどうもあるみたい。であればできるだけスペースキーの幅を大きくしたくなるが、3u幅だとスタビライザーのワイヤーが入手できない(最近は遊舎工房でも取り扱いが始まったみたい)。ということからスタビライザーの入手性がよくて最も幅のある2.75uとすることにした。

 

加えて、

  • スペースキーの左右にある2つのfnキーの幅を対称にして、1uよりは大きくしたい
  • 右下の矢印キーに4u分が必要

という制約を課すと手前の列は自然とこのような形となる。スペースキーを右親指で押しづらくはないだろうかと心配したが、長年愛用していた日本語配列のLibertouchでも同じ位置にスペースキーの右端が来ているので問題なかろうと判断した。

 

基板の設計・製作

これまでテンキーレスサイズの基板を数回設計・製作しているので、ほとんどそのやり方を踏襲すれば作れる。ただし、このサイズになるとMCU(Atmega32U4)を配置するスペースがなくて、どこにどう配置するかがちょっと難しい。Planckの基板の画像をよく観察して参考にし、以下のように配置した。

f:id:kgnwsknt_chef:20210730205348p:plain

MCU(Atmega32U4)周辺の配線(GNDベタは非表示)

USBレセプタクルはキーボード基板に直接つけず、別途USB基板を用意して、ケーブルでつなぐ。これは最近の自分の常套手段。こうするとケースを設計する際、USBレセプタクルのための穴をどうするか決めやすい(特にガスケットマウントなどのPCBプレートの高さがきっちり決めづらい場合)。

 

MiniVanと同じサイズ(12.75u x 4u)なので、市販されているケースを流用できるかと思ったけど、PCBの穴位置を調べるのが面倒だし、USBコネクタの部分が合わないだろうということで結局互換性はなし。
 

今回はJLCPCBで作ってみた。ベコベコの箱が到着したが、基板に特に問題はなかった(良かった)。一緒にジグソーパズルが同封されていた。ちょっとうれしい。(でも本当は梱包材をしっかり入れてくれるほうが嬉しいけれど。)

f:id:kgnwsknt_chef:20210731190338j:plain
f:id:kgnwsknt_chef:20210730200855j:plain
届いた箱とその中身

 

真鍮プレート

プレートは真鍮にしようか、それに比べて安価なアルミにしようか迷ったが、銅プレートで作ったキーボードが自分の中で一番音が好みだったので、物理特性が近い真鍮を選択することにした。ソケットやUSB基板などをはんだづけ後、適当なスイッチをつけてプレートと組み合わせたのが下の写真。

f:id:kgnwsknt_chef:20210730200956j:plain

PCBと真鍮プレートに適当なスイッチをつけた様子

写真の左端の小さな穴の下にはリセットスイッチがある。PCBの底面側につけると、キーボードを分解するかケースに穴をあけておかないと押せないが、リセットスイッチを上面につけてプレートに穴をあけておくとキーキャップを外すだけで押せるのでおすすめ。

 

ケースの設計

 自作キーボードでいつも悩むのがケース。今回のケースではこれまで試したことのなかった以下の要素を取り入れることにした。

  • アクリルを接着して箱型のケースを作る
  • ケース内部でチルトをつける(底板は水平)
  • ウェイトを入れる
  • パテを入れる

ということで以下のようなケースを設計した。

f:id:kgnwsknt_chef:20210731160548p:plain

ケースの右側面から見た図。側面のアクリル板と一部のスペーサーは非表示。

アクリル端面での接着でどれくらい強度が出るのかが心配だったので、色の選択肢が多くて厚めの5mm厚を使用することにした。USBコネクタ口の穴があいている側面のアクリル板は傾いているため、底板とは角でしか接していない。そのために左右側面の板との接着だけで強度を持たせる必要があるが、まあ重さを支えているわけではないのだ大丈夫だろうと考えた(実際強度は十分だった)。寸法を決める際に、PCB/プレートとケースの間にある程度のクリアランスが必要となる。

  • アクリルカットの精度
  • マウント方法の精度
  • PCB、プレートの精度

が関係していて、特にアクリルのノコカットの精度がどの程度か経験がなかったので不安があった。プレートとケース側面の間のクリアランスは、プレート左右(長手)方向は両側1mmずづ、前後方向は0.5mmずつ取ることにした。結果としてアクリルカットの精度はかなり高かったように思う。そのおかげで丁度良い感じに仕上がったが、0.5mmはかなりぎりぎりで位置合わせが大変だった。今回のようにいいかげんなマウント方法をとる場合には両側1mmくらいクリアランスを取っておくのが良さそう。

 

高級なカスタムキーボードでは真鍮製のウェイトがケース底面にあることが多い。この効果がどれほどのものか気になっていたので試すことにした。真鍮のウェイトは5mm厚で前後方向の幅は30mm。アクリル底板にキリ穴をあけておいて、ウェイトにタップ穴をあけて底面からねじで固定する。

 

ケースに対して傾いているキーボード部分をどう固定かは最後までいいアイデアが思いつかなかった。とりあえずPCBにスペーサーを取り付けるための穴をあけておいて、後で現物見ながらなんとかするという方針に。最悪パテでスペーサーをケースに固定してボトムパテマウントってことでいいよね、という見切り発車で製作を開始した。スペーサーの取り付けのためにドライバーを通すための穴をプレートにもあけておく。

 

アクリルケースの製作

アクリル板ははざいやに穴加工も含めて発注。5mm厚のウルトラマリンのキャスト材。簡単な形状であればWEB上で図面を書いて見積もりが出る。USBコネクタ用の長穴と底面にウェイトを固定する用の穴加工を併せて頼んだ。底面にUSBコネクタ基板を固定するためのM2タップ穴は自分であけた。これは穴位置が端に近すぎて加工の許容範囲から外れるため。経験的にはアクリル板への穴あけは普通の電動ドリル+ドリルビットでφ3mmくらいまでは問題なくあけることができる。φ4mmを超えてくると欠けたりするのでアクリル専用のドリルビットを使うのが良いと思う。

 

今回のケース用のアクリル板5枚は送料含めて5千円台でできた。カット面の仕上げはケチって依頼しなかったが、穴加工も含めてこの値段は助かる。発注後に1つの板の寸法を間違えていることが発覚( 254.9mmとすべきところを245.9 mmにしてしまうという…)。余計に費用が掛かってしまったが単価が安いので助かった。

材料が到着後、アクリルケースを接着して箱組する前にPCBのマウント方法を確認。PCBにスペーサーをつけて、スペーサーにプラスチックの板(何の板だったかな…)を接着。それをソルボセインの上に載せてマウントした。ソルボセインの程よい粘着力のおかげでちゃんと固定されるし、取り外すこともできる。そして衝撃吸収も。

f:id:kgnwsknt_chef:20210730201528j:plain

PCBのマウント方法

PCBのマウント方法を確認できたので、アクリルケースの箱組を行う。ただしその前に下ごしらえが必要。箱になった時に手で触れる可能性のある辺の面取りを行う(実際作業中に指を切ったので結構危険です)。ノコカットされた端面はわりとざらざら。レーザーカット面はそれに比べるときれいだがそのままでは美観を損ねる。なので組立後に上面と側面にくるカット面についてはやすりをかけてピカールケアーで磨いてツヤツヤに。

 

下ごしらえが終わったらいよいよアクリルの接着。ぶっつけ本番は怖いので、寸法を間違えたアクリル板と家にあった適当なアクリルを使って接着のテスト。2つをセロテープで固定。アクリル用接着剤をシリンジで接着面の角に流し込む。接着剤にはスポイトが付属しているが、これは全然使えないという記事を見かけたので、家にあったシリンジを使用。はじめは素手で作業していたが、接着剤が少し指に触れるとピリピリして身の危険を感じたので、ポリ手袋をした。換気も忘れずに。

f:id:kgnwsknt_chef:20210801085208p:plain

アクリル接着のテスト

 

板厚5mmあると接着強度は十分。手で取ることはできないくらいがっちりとくっつく。透明アクリルでテストしてみてわかったが、接着面に気泡がたくさん入っている。透明のアクリル板を接着面まできれいにくっつけるのは職人技が必要そう。

 

いよいよ本番。箱の形にしてセロテープでしっかり固定。これをいかに丁寧にやるかで仕上がりが決まると思う。USB基板を取り付けるためのねじ穴も念のためふさいでおく。接着剤を多めに(傾けると垂れるくらい)流し込んだために仕上がりが一部きれいでなくなってしまった。結構少なくても十分な気がする。まあ組み立てたら見えない部分なのでよし。

 

写真は接着直後。接着剤を垂らしてしまったところが白くなってしまっている。まあ組み立てたら見えない部分だし気にしない。多分すぐに固まるけど一応24時間放置。その後、ケース底面にはウレタンのゴムクッションを4隅に貼り付けた。

f:id:kgnwsknt_chef:20210730201633j:plain

アクリルケースの接着

 

真鍮ウェイト

真鍮板はモノタロウで発注。5mm厚で寸法を指定して切断してくれるのを利用した。固定用のタップ穴は自分であけた。タップ穴の深さを板厚ギリギリにしたので、少しタップ穴のところがモコっとなってしまっている。通し穴でもよかったかも。穴あけ加工後はピカールケアーで磨いてアクリルケース底面にねじ止め。ウェイトを取り付けると結構テンション上がる。

f:id:kgnwsknt_chef:20210730201747j:plain

真鍮プレートの取り付け

キーボード部分をケースにマウント

USB基板をケース底面にねじ止めしたのちにPCB、プレートのセットをマウント。ありあわせの材料でマウントした割には傾きがケースとぴったりになったのはうれしい。

f:id:kgnwsknt_chef:20210731172825j:plain
f:id:kgnwsknt_chef:20210731172837j:plain
ケースにキーボード部分をマウント。一時的に家にあったキースイッチとキーキャップをつけてある。

 

パテを仕込む

ついでに界隈で話題に上がっていたパテを仕込んでみた。せっかくなので高比重パテを仕込む。USB基板を取り付けた状態でパテを埋める。パテを取り去るのは大変というのをTwitterで拝見したので、後からきれいに剥がせるようにサランラップに包んで仕込んだ。ただしサランラップの余っている部分が多すぎるとサランラップ音がするので、余分なサランラップはカット。

f:id:kgnwsknt_chef:20210730204615j:plain

パテをサランラップに包んで盛る

すべて組み立てた場合の重量は842gだったが、パテを入れると1080gに増えた。このサイズでこの重量はなかなかのもの。ただし打鍵音に対するパテの効果はそれほど感じなかった。そもそも入れていた真鍮のウェイト(重量は300g程度)が効いている気がする。プレートとPCBの間に詰めるのが効くというのをTwitterか何かで見たような気もする。あるいはパテが基板やケースに直接くっついているのが重要なのかも?

 

キースイッチとスタビライザー

キースイッチは最終的には

  • Gateron Ink Blackのハウジング
  • 415keysで購入できるUHMWPEステム(rev4)
  • SPRIT MX 55s Slow (スプリング)

を組み合わせたものを使用した。下図がフォースカーブ(自作フォースカーブ測定機で測定)。はじめはもう少し押しはじめが軽いスプリングにしていたが、軽すぎたのでこちらのバネにした。ちょうどいい気がする。

f:id:kgnwsknt_chef:20210801144137p:plain

フォースカーブ


スタビライザーは、Everglideのものを初めて使用してみた。スタビライザーがうるさいのがいつも悩みの種だが、最近はこのYoutubeのModをやっている。さらにKBDfans Stabilizers foam stickerを貼り付けてLubeするとかなりカチャカチャ音が抑えられていい感じになる。

www.youtube.com

 

キーキャップの製作

 このキー配列だと、市販のキーキャップセットだとどうしても印字がキーアサイン通りにはならない。またfnと組み合わせた入力は独自なので合うキーキャップセットがあるわけがない。そこで自分で印字を昇華印刷することにした。詳細はこの記事で。

kgnwsknt-chef.hatenablog.com

完成!

完成したキーボードの写真がこちら。

f:id:kgnwsknt_chef:20210724211723j:plain

自作40%キーボード

作ってみて・使ってみて

アクリルの箱組は結構きれいにできた。チルトをつけなければ割と簡単にオリジナルのケースが作れて愛着がわくのでお勧め。また真鍮ウェイトの効果は大きそうであることを学ぶことができた。

 

このキーボードで文章を書くのは問題なくできる。まあこれまで使用してきたRow Staggeredの配列なので当たり前か。しばらくこのキーボードを使用した後に普通の配列のキーボードを使用すると、backspaceが遠い。なかなか慣れないのは記号。これは手元を見ないとまだ難しい。数字の入力も苦戦する。すんなり順応できたのはDelete。これはBackspace+fnに割り当てているが、誤爆しないのは役割が似ているからかな?

 

この片手で持てるサイズ感は何とも言えない俺のキーボード感がある。これが人々が小さいサイズのキーボードを好む理由なのだろうか。ずっとやりたかったVortex core風のキーキャップへの印字を自家昇華印刷できたのでかなり満足感が高い。

 

不満があるとすれば高さ。キーキャップ上面がちょっと高いので市販品のアームレストが低く感じる。もう少しケースを薄くできると良さそう。もう一点の不満は、Row Staggeredなのに矢印キーとその上の列がOrtho Linearのようにキーが揃ってしまっていること。Row StaggeredならやっぱりどのRowもキーがずれているほうがしっくりくる気がする。これを解決するには配列のさらなる探求が必要。

 

そして最近またこれになっている。