見出し画像

アローキー付き40%キーボード「ShortBow」を設計した

電子工作もCADもわからないオタクがオリジナルキーボードを作ってみた。

あらすじ

前回、キースイッチとキーキャップをはめるだけのかんたん自作キーボードキット「CSTC40」を組み立てた。

このOrtholinear(オーソリニア、格子配列)な47キーのキーボードは意外にも使いやすく、そのコンパクトさや洗練された外見もありとても気に入っている。しかしその広大な自作キーボードの世界は、私を沼へ駆り立てた。

「Column Staggeredのほうが打ちやすいのではないか?」

「親指をもっと活用できないか?」

「42キーもあれば十分ではないか? 」

「探せ、この世のすべてをそこに置いてきた」

男たちはEndgameを目指し、夢を追い続ける。
世はまさに、大キボボ時代。

探求、そして自作へ

ネットの海で次に組むべき自作キットを探していたところ、Cockpitというオープンソースのキーボードを見つけた。

Corne Cherryに方向キーとロータリーエンコーダーを足して左右を一体化したようなメカメカしいキーボードだ。マイコンボードを見せるデザインがかっこいい。

そして考えた。中央に方向キーを付ければ親指で左右を押せるうえに、右手からも左手からもアクセスしやすく、左右が開くことでタイピングするときの姿勢も楽になるのではないかと。

Cockpitのレイアウトでは方向キーが遠すぎると思いこれを作るには至らなかったが、求めるキーボードの要件は大きく以下の3つにまとまった。

・Column Staggered(カラムスタッガード、縦にずれた配列)
・40%(数字行なし、42キー+4キー程度)
・方向キーが中央にあり、親指で左右を押せる

そして、そんなキーボードは探しても見つからなかった。ないなら作れ。

ノウハウを学ぶ

設計を学ぶべく、自作キーボード温泉街の歩き方を運営しているサリチル酸さんの著書『自作キーボード設計ガイド Vol1 設計入門編』(電子版)を読むことにした。方針の決定からPCBの発注までの各工程で行うことがわかり、製作の流れがつかめた。

特に役立ったのが、キーボードの回路やキーマトリクスの仕組みを学べたこと。これまでは茫然と「スイッチを押すとマイコンが反応する」ように捉えていたが、「マイコンはスイッチが押されているかどうかを1ピンずつ判定し続けている」と知り理解が深まった。

はんだ付けとファームウェアの作成が不安だったので、PCBを発注する前にShotgun チェリーパイというテンキーの自作キットも買って組み立て、ファームウェアをいじってみるなどした。

QMK FirmwareはGithub周りがよくわからないのでPRK Firmwareあたりを使おうと考えていたところ、GUIでキーマッピングできるKermiteの存在を知った。Shotgun チェリーパイのファームウェアもブラウザをポチポチするだけでかんたんに作れたことから、ファームウェアはKermiteを採用することに。

設計

KiCADをインストールして具体的な設計を始める。部品はマイコンボード、キースイッチ、ダイオードのみで、Pro MicroではなくRaspberry Pi Picoを基板に直付けする設計だ。

設計ガイドを参考に進めていくだけで特に困ることはなかったが、GNDの配線がよくわからなかったのでサリチル酸さんのDiscordサーバーで先人たちに教えてもらった。沼の住人はやさしい。

発注

基板、トッププレート、ボトムプレートをまとめてJLCPCBに発注した。クーポンを使って送料込み8,272円、各5枚あるので1セット1,600円くらい。

併せて必要なパーツをポチる。

Raspberry Pi Pico互換のマイコンボード。端子はUSB Type-C。

キースイッチをはめるソケット。ホットスワップに対応する。

キーマトリクスの動作に必要なダイオード。

マイコンボードの上にかぶせるアクリル板。ネジ穴はピンバイスで開けた。

プレートの組み立てに使うスペーサーとネジ。M3のフットプリントは少なかったのでM2で。

組み立て

発注から9日で基板が届く。マットブラックでかっこいい。

そしてはんだ付けと組み立て。幸い不具合はなく想定どおりの仕上がりになった。

キースイッチはKailh Super Speed Silverにスペーサーを入れてショートストローク化したもの。
3.5mmのスペーサーだとギリギリなので大人しく3mmのものを使おう。
キーキャップは前回と同じXDAプロファイル。そのうちCherryプロファイルも使ってみたい。
マイコンボードを見せるための窓。
キーを押すと基板上のLEDが光る。スイッチの動作チェックに。
トップとボトムには設計ガイドで紹介されていたようにグリッドを入れた。
ゴム足を貼るときの目安にもなってよい。

中央にアローキー(矢)があるレイアウトから「ShortBow」と名付けた。「Short」と付けたのは短いからというより、扱いやすい大きさでコストの低いシンプルなつくりだから。初心者の弓。

使ってみて

初めのうちは指が迷子になってしまい「親に向かってなんだそのユーザビリティは」と焦ったが3日で慣れた。Column Staggeredゆえに指の移動が小さく済み、効率よく打てている気がする。

寿司打のスコア。6.0回/秒の壁が超えられないのは相変わらず。

各レイヤーのキーマップは以下のとおり。スクショを撮るときに押していたキーが黄色く表示されているが気にしないでほしい。

デフォルトのレイヤー。
Aの左をEnterにするのがお気に入り。
英数キー長押しのレイヤー。
数字、F1-F12、残りの記号があり、基本の操作はこれとデフォルトのレイヤーで足りる。
かなキー長押しのレイヤー。メディアコントロールに使う。
F13-F16にはPowerToysでPlay/PauseやNext Trackをアサインしている。

反省点

・RP2040-Zeroで十分
そのうちレバーレスコントローラーを作ろうと思っていたこともあり、そちらでよく使われているRaspberry Pi Pico(の互換機)を採用したのだが、RP2040-ZeroもGP2040-CEに対応していて同じように使える。GPIOも19ピン(4行+15列)あれば余裕で足りるので、わざわざフットプリントの大きいPi Picoを使うことはなかった。

・Elecrowのアクリルカットを使う
ピンバイスで穴を開けるのはそこそこ大変なので、アクリル板の加工はElecrowに任せればよかった。というかElecrowで安く作れることを知らなかった。次回のレバーレスで使ってみる。

・ネジはスチールで
磁石につくと思ってステンレスのネジを注文したらドライバーにくっつかなかった。ググってみるとニッケルを含むステンレスは磁石につかないらしい。知らなかったそんなの⋯⋯。

おわりに

今回の製作にあたり、以下のシンボルおよびフットプリントをお借りしました。ありがとうございます。

kbd(foostan 様)
KiCAD_FootPrint(サリチル酸 様)
KiCad-RP-Pico(ncarandini 様)

また、『自作キーボード設計ガイド Vol1 設計入門編』のサリチル酸さん、Discordで助言をくださったみなさんに重ねてお礼申し上げます。

自作キーボードたのしいよ。こわくないよ。でもお金が溶けるのだけは覚悟しておこう。(入出金明細を見ながら)

この記事が気に入ったらサポートをしてみませんか?