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

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

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

まえがき

この記事は、キーボード #1 Advent Calendar 2024の記事です。
adventar.org
昨日はsatromiさんの記事でした。TRON配列自体は知っていたのですが、TRON最小化配列を見て、なるほどそうやって押し込んでしまうのかという納得感がありました。非常に参考になりそうなアイデアとしてストックさせていただきます。

はじめに

2022年の夏頃に自作キーボードの世界に飛び込んでから約2年となりますが、今年も飽きることなく色々なキーボードを設計しました。
今年設計したキーボードは以下の4台です。各キーボードの詳細について記載した記事は各キーボードのセクションに貼っておきます。

  • floes46
  • Zircon40
  • KX-52A
  • KX-52M

また、昨年末から今年にかけて解説記事的なものもいくつか執筆しました。
こちらも興味があればご覧ください。どれも非常に長いですが、各トピックについて網羅的に記載されているとは自負しています。
piroriblog.hatenablog.com
piroriblog.hatenablog.com
piroriblog.hatenablog.com

加えて、今年の11月の天キーの冒頭セッションで発表もさせていただきました。
アスキーさんにまとめていただいて感謝感激です*1
ascii.jp

それでは、今年設計したキーボードを横断的に振り返ってみようと思います。
それぞれのキーボードについて、「設計のきっかけ」、「検証事項と設計上のチャレンジ」、「苦労したポイントと知見」の項目でまとめていきます。

左上: floes46, 右上: Zircon40, 左下: KX-52A, 右下: KX-52M

floes46

piroriblog.hatenablog.com

設計のきっかけ

会議室でメモを取る機会が増えてきて、その際、備え付けのキーボードだとメモに必要な打鍵速度が出ないことが多い、と感じていました。
ここで、会議室に持ち込んでメモを取る用のキーボードを欲していましたが、まあ設計するか、となりました。

検証事項と設計上のチャレンジ

スプリングマウントの応用

「インサートプレートマウント」なるマウント方式を採用したキーボード*2を直前に設計していましたが、柔らかい側に倒すとどうなるのか、というは実験してみました。
その際は、スプリングプレートの設計があまりよくなく、あまり安定感のない状態になってしまいました。
そこで、安定感があり柔らかめのスプリングプレートの設計を行おうと思い立ちました。
スプリングプレートをアクリルで設計するという無茶をやっていますが、今のところ特に割れたりはしていません。

オーソリニアを使いやすくできるか

個人的に若干オーソリニア(直交格子状の配列)に苦手意識がありました。
というのも、一度40キーのオーソリニア配列のキーボードは以前作ったことがあった*3のですが、親指が空を切ることがそこそこあり、また、親指のキーとしてどこを押しているかがわからなくなることが多々ありました。
一方で、オーソリニアの配列自体には憧れがあり、何とか使いやすくできないかと親指クラスタ(最下段)の配列を工夫してみました。
大きなポイントは、3 mmほど最下段のキーが下がっている点と、親指クラスタが全体として1u分内側にせり出していることです。

LEDをきちんと光らせる

当たり前のことではあるのですが、部品のデータシートをよく読むのは大事なことです。
マイコン内蔵LEDのデータシートをよく読むと、よく使われる「SK6812MINI-E」は、信号としては5 Vが前提になっており、RP2040系のマイコンの3.3 Vではhighの閾値(3.5 V)におそらく届かないといえます。
いくつかこれを回避する方法はある*4のですが、3.3 Vの信号でも動作する「WS2812B」を最初に繋いで、それ以降には5 Vの信号を出してもらって、「SK6812MINI-E」を動作させる、という方針にしました。

苦労したポイントと知見

スプリングプレートの設計には若干苦労しましたが、それ以外はアクリル積層のケースということもあって、比較的気軽に設計できました。

配列については、正直慣れの部分、手の置き方の部分も大きいとはいえますが、ストレスなく打鍵できる配列ではあると思っています。
スプリングプレートに関しては、程よい弾力感があり、柔らかめの素材を使う場合は、バネ部分を多めに(floes46では6箇所)入れ、回転運動が発生しないように配置すべきという知見を得ました。

音響に関しては、スイッチプレートとPCBの間をアクリルで埋めるなどしても、効果はあまり高くないということはわかりました。
静かめなスイッチを使っているというのはありますが、プラスチック筐体は音がマイルドでいいなあと思いました。

Zircon40

piroriblog.hatenablog.com

設計のきっかけ

カラムスタッガードのキーボードにおいて、もしかして6列も要らないのでは? と思ったのがきっかけです。
検証するなら作ってしまえ、と考えました。
また、Lofree ghostスイッチを使いたいな、と思っていたのもあって新規設計を行うことにしました。

検証事項と設計上のチャレンジ

100 mm角に収める

5列にするモチベーションの一つが、100 mm角に収める、がありました。
これは、基板製造サービスにおいて、100 mm角以内だと格安で製造してくれるからです。

スイッチを避けてマイコンボードを配置する

ところで、100 mm角に収めるとなると、PCBAをするなどしてマイコンを直に実装することが考えられます。
一方で、検証の目的からすると、あまり現実的ではありません。
また、余白にマイコンボードを実装するようにしてもよいのですが、ただでさえ狭いスペースを圧迫してしまいます。
その観点で、デザイン上の収まりがよく、かつ、厚みも必要最小限に収められる方法として、先人の知恵*5を借りながら、スイッチ位置に重ねる方向性で検討しました。

苦労したポイントと知見

単純な構造にしたので特段苦労したポイントはありませんでした。強いて挙げるならば組み立てで、スイッチプレートレスだとスイッチが斜めになるな、ということに気づきました(それはそう)。

ところで、検証の結果ですが、40キーもあり、tap-mod等を駆使すればまあ確かに入力作業等は問題なく行えるなあという感触は得たものの、使いやすいかと言われると微妙かな、という感想でした。
つまり、5列にするメリットがコスト的な部分と見た目の可愛さ以外にあまり見いだせなかったので、普段使いするキーボードは6列でいいかな……となりました。
とはいえ、小指列を一列バッサリ削ってしまうと、手首をひねる動作が少なくなるので、3Dキーボード等、手の位置を固定したい場合には採用の可能性があるとは思いました。

KX-52A

piroriblog.hatenablog.com

設計のきっかけ

後述するKX-52Mにあたるキーボードを構想していて、その配列が使いやすいか、また、マウスポインタが簡易的に操作できるデバイスがあると嬉しいか、等について検証するために設計しました。
細かい部分の調整はあるにせよ、KX-52Mと同様の配列としています。

検証事項と設計上のチャレンジ

配列と角度の検証

物理配列単体の検証の目的もありましたが、チルト&テント(奥側が高く、かつ、親指側が高い状態と)すると嬉しいのか、というのを配列とともに試すのも目的の一つでした。
ちょうどこの頃、普段使っているキーボードをテントさせたりチルトさせたりして色々試していました。
ここで、立体的な使いやすさは指の動く空間との兼ね合いであるというは自明だな、ということに気づいたので、配列と角度の相性も試すべきだと思っていました。

ポインティングデバイスの検証

キーボードにポインティングデバイスをくっつけるのはある種の憧れではありました。
ここで、私の思想としては、餅は餅屋ということで、独立したマウス、トラックボール等のデバイスはきちんとした操作用として置いたうえで、キーボードに付属するポインティングデバイスを補助的に使うことを想定していました。
実は、最初はジョイスティック(アナログスティックとも)を採用しようと思っていたのですが、キャリブレーション等の問題と、スペースの問題等があり、もう少し簡易的でコンパクトな部品はないかと考えていました。
そこで見つけたのが「スティックスイッチ」と呼ばれる部品です。
tech.alpsalpine.com
悲しいことに生産中止なのですが……

マウスボタンの実装

ポインティングデバイスを実装するにあたって、マウスボタンをどうしようか、というのもともに考えていました。
私の直感としては、レイヤーがオートで切り替わったとしても、普通のキーの位置にクリック等を配置するのは絶対混乱する、というものがありました。
よって、独立したマウスボタン用のスイッチを実装する形としました。
うまくいくかはわかりませんでしたが、薄型のマイクロスイッチ*6を仕込んでみよう、というチャレンジをしました。

安価にかっこよくする

自作キーボード*7でよくみられるサンドイッチマウントでは、スイッチプレート、PCB、ボトムプレートの3層構成であることが多いといえます。
ここで、好みはありますが、キーボードにおいて見た目をよくする要素の一つとして、キースイッチが隠れており、キーキャップのエッジが隠れているデザインが挙げられます。
このような構造は、通常は外側を覆うケースがなければ成立しません。
ここで、見た目だけのためにキーキャップのエッジが隠れる位置にもう一枚プレートを用意したらどうなるんだろう、というのを試してみたくなりました(アクリルの面積が余っていただけともいう)。

苦労したポイントと知見

とにかく安く成り立つようにしようとしたので、左右共用基板としたのですが、マイコンボードの実装がかなりトリッキーになる等、組み立て難易度が妙に高くなってしまいました*8
また、マウスボタンは、スリットが入ったスイッチプレートの一部を押し込む形で実現しましたが、配置等は非常に悩ましいものでした。
最も苦労したのがファームウェアで、詳細は個別の記事を参照していただければと思いますが、スティックスイッチによるマウスポインタの操作の挙動を独自関数で書く羽目になりました。
おかげさまで16方向にポインタが動くようになり、カクカクした動作ではないため、まあまあマウスとしても使えます。

配列の検証については、いろいろ事前に試していたのもあり、かなりちょうどいいことがわかりました。若干テントしているだけで、長時間使っていても手首が疲れにくい印象を持っています。

また、見ての通りですが、サンドイッチマウントながらちょっと高級感のある見た目になり、個人的には満足しています。コンパクトさは若干失われますが、場合によっては採用してもよい構成だと思いました。

もう一つ思いもよらなかったのが、思ったより音が良かった、ということです。
ボトムプレートがアクリルで、そこにPCBがスペーサーで直結しており、スイッチプレートはスイッチでPCBに固定しているのみ、という構造だったので、スイッチで発生した振動はほとんどPCBとボトムプレートに伝わる、という構造であるといえます。
実際に打鍵してみると、ボトムプレートがけっこう鳴っており、これがアクリルであるため、低めで意外と良い音でした。
通常、サンドイッチマウントとなると、ボトムプレートと机との距離がかなり狭いですが、このキーボードは3DP製のかなり高さのある脚が生えており、ボトムプレートと机の距離がかなりある、というのも関係はしていそうです。

KX-52M(愛称: Tochka52)

piroriblog.hatenablog.com

設計のきっかけ

シンプルな外形をしているキーボードを設計したい、ついでに色々こだわりを詰め込みたい、と思ってゆっくり構想を練っていたキーボードです。
上記のKX-52Aは、このキーボードのための概念実証モデルでした。
KX-52Aで物理的な使いやすさは実証できたので、あとは打鍵音をどうするか、見た目をどうするか、というのがポイントでした。

検証事項と設計上のチャレンジ

打鍵音のコントロール

書き始めると非常に長いので、これについてまとめた記事を参照してください。後半にこのキーボードで工夫したことが記載されています。
piroriblog.hatenablog.com
抜粋すれば、

  • 音が鳴ると思われる部分の素材を変えるとどうなるか
  • 音を鳴らす位置をコントロールできるか

ということがテーマでした。

見た目をいかにかっこよくするか

若干コスト度外視で、見た目をどうするかというのを検討しました。
もちろん、製造上の制限もあるため、それと折り合いをつけながら、ということになりますが、シンプルで力強い外観とするためにはどうするかを検討しました。
ところで、このキーボードのデザインの中核にあったキーワードは「要塞」でした。本当はもうちょっと装飾をつける案もあったのですが、どちらかというと無骨さを強調する方向性にしました。
愛称の"Tochka52"はそのキーワードから来ています。"KX-52M"は開発コードでしたが、これもこれでそれっぽいので名前としてはそのまま残しています。

左右通信をC to Cケーブルで行う

差し間違え防止まではきちんと行っていませんが、左右通信をC to Cケーブルで行う設計としてみました。

フレキシブル基板を使ってみる

最初、このキーボードを設計するときにフレキシブル基板でメインPCBを起こす、という案もありましたが、結局採用はしませんでした。
ここで、半分は興味本位で、ドーターボードとメインPCBとの通信ケーブルとして、フレキシブル基板を採用してみました。

マウス用スイッチボタンの設計

マウス用のボタンですが、マイクロスイッチを仕込んでいる親指下のバーのようなボタンと、スティックスイッチの下についているボタンの2種類があります。
これらは、下にスイッチとなる部品が仕込まれているのですが、さすがに部品をそのままむき出しにするわけにはいきません。
色々考えましたが、部品点数を減らす観点で、弾力で元の位置に戻る機構を搭載したスイッチカバーを3DPで作りました。
バーのような方はマウス等のシェルの構造を参考にしましたが、スティックスイッチの下の方のについては、板バネのような構造として、省面積化を図りました。

スティックの設計

KX-52Aで設計したスティックは、中央部分に突起がついていたのですが、これが思ったより痛かったので、単にお椀状にへこんだ形のものを設計しました。
見た目も野暮ったくならないように円錐状の形状としました。

苦労したポイントと知見

上記の個別記事ではさらっとまとめていますが、正直苦労したポイントだらけでした。
特に産みの苦しみがあったのはマウスボタンの位置と形状、ライトディフューザーの位置と形状、ケース全体のデザイン等のデザイン系の部分です。非常に色々悩みましたが、現状の形に落ち着きました。
また、ドーターボードをボトムケースに埋め込むような設計となっていますが、そうなると問題になるのがマウント方式で、トップマウントとしない場合には、ボトムケースの削る体積が多くなり、さすがに看過できないレベルのコストアップになっていました。ここで、3DP製の「橋」をボトムケースに取り付け、緩衝材を乗せ、その上にスイッチプレートを乗せる、というややトリッキーな方式に落ち着きました。

得られた知見は色々ありましたが、音に関しては設計のために調べたことが有用な知見でした。実験も通じて、音が鳴る部分に何を配置するかが重要という知見を得ました。
また、調べていく中で、いわゆる"PE form mod"にどういう効果がありそうか*9がわかったのも良かったと思います。
詳細に関しては、音響設計の記事を参照いただければと思います。

今年のまとめと来年に向けて

昨年までは、「自分の手の形状・癖に合っている配列のキーボードこそがエルゴノミクスなんだ!」という思想があったのは否定しません。
今年くらいから、「とはいえキーボード(道具)に合わせて自分の動作を調整する方向性もあっても良いのでは?」という思いもあり、様々な配列に挑戦してみた次第です。
これは、自分でキーボードに合わせて手の置き方とかセッティングを変えてもいいのでは? という内容の発表を2023年9月のキー部6%*10で行ったのもあったからかもしれません*11

さて、来年以降にやりたいことはいくつかありますが、一つは「頒布」です。
正直頒布できる出来のキーボードも過去にいくつかありましたし、頒布することを意識して設計したものもありましたが、ソフトのライセンス問題などで踏ん切りがつかず、そのままとなっていました。
そのあたりをクリアしたものを出せればなと思っています。
親指の付け根付近にロータリーエンコーダを搭載したキーボードの良さ(特に文章編集との相性の良さ)を広めたいと思っています。

もう一つは、より見た目にこだわったキーボードの設計です。
今年やりかけましたが、キーキャップに合わせたケースの設計・デザインという方向性も素敵だなと思うようになりました。目下は、KAT Overgrown*12に合うようなプラスチック(アクリルまたはポリカ)の削り出しをやってみたいなと思っています。

まとめにかえて

自作キーボードというムーブメントの大元は、こういうキーボードが欲しいから設計してみた、余ったからみんなにあげる、というものであると理解しています。
すなわち、設計時には何らかの目的があり、その目的を達成するためのプロダクトが生み出されているはずです。
そのムーブメントが続き、ニッチなデバイスが次々と生み出されつつ、やや大規模に販売する人も出てきている現状ですが、一般的には、そういったデバイスやキーボードを自作するという行為は未だに色物扱いであるとは言えます。

一方で、キーボードは、場合によっては仕事で一日中触っているという人もいるようなデバイスですので、用途や目的、さらには個々人の手の大きさ等に合ったキーボードが欲しい、はたまた疲れにくいキーボードが欲しい、というニーズは潜在的に存在しているようにも思います。

今後、キーボード文化がどのような広がりを見せるかは注目していきたいと思います。

この記事は、スイッチパッドを入れてみたTochka52で書きました。

明日はmassさんの「デュアルトラックボール+LCDタッチディスプレイ付きキーボードについて」です。配列・トラックボールの配置等のハード面だけでなく、ソフトウェア面にもいろいろな工夫がありそうで、個人的にも楽しみです。

*1:初めて天キーに参加した人をターゲットとしたセッションでしたので、その通りに楽しんでいただいたようで個人的にも大変うれしいです。

*2:piroriblog.hatenablog.com

*3:ハイブリッド積層ケースのキーボードを作った話 - ぴろりのくせになまいきだ。 のおまけに記載。

*4:25keys.com

*5:Teihai70H ビルドガイド(組立手順説明書) | blog.alglab.net

*6:厚み3.5 mmでスイッチプレートの下に仕込める www.fa.omron.co.jp

*7:キットを購入して自分ではんだ付けを行うタイプ

*8:データはひっそり公開しましたが、組み立て説明をする気が起きないのでチャレンジしたい方はご自由にどうぞ

*9:PCB側に音を伝えない+PCB側で発生した音を手前側に抜けさせないという効果がありそう、と考えています。

*10:keeb.connpass.com

*11:この時点で既にParen48の設計は大方終えていたため、その後に設計したキーボードは2024年に完成しました

*12:

余談ですが、このキーキャップのレジェンドのグレーが若干赤に寄っていて、以外と他のグレーとの相性が悪いという問題があります。また、白アルマイト等のシルバーとの相性がいいかというと、これもまた意外と微妙で、光沢があるものに囲まれるとキーキャップのプラスチック感が目立ってしまい、調和がとりにくい、という状態です。よって、いっそ透明マット系のプラスチックに合わせてしまえと思い始めました。