Shoebill43TGについて
KeebPDにて紹介いたしました自設計のキーボードです。
簡単にですが概要をまとめておきます。
完成品
KeebPDで2回紹介させていただきましたが、改めて写真を載せておきます。
キースイッチはLofree Ghost、キーキャップはCherry MX Backlit Low Profile Keycap Setを使用。トラックボールはペリックスの黒です。
こちらはキースイッチをLofree Wizard、親指のみChocV1 Pink、キーキャップは黒と同じくCherry MX Backlit Low Profile Keycap Setを使用し、親指のみChocfox CFX Frosted Blackを使用しています。トラックボールはエレコムの交換用です。
設計指針
大前提として、このキーボードは頒布する予定がありません。
入力デバイスは一人一人最適なものが必ず異なると思っております。
自分の理想に近いキーボードをカスタマイズだけで実現できる場合はそれで良いのですが、私はそうではありませんでした。
私が今回目指したのは、以下の特徴を持つキーボードです
・一体型
・GH60互換
・親指トラックボール
・ChocV2対応
・狭ピッチ
・40%配列
・ロータリーエンコーダ搭載
・親指キーは7キー
・RP2040使用
・Vial対応
いくつかの項目に分けて解説していきます。
一体型・GH60互換・RP2040対応
KeebPDにてふじっこさんのマーブルケースを使用した作例を紹介させていただきましたが、実はShoebillを設計した動機の半分くらいはこれがやりたかったからです。ただ、GH60互換の設計は意外とノウハウが出回っておらず、そこにトラックボールも追加したのでかなり設計には苦労しました。(GH60の設計ノウハウが出回っていないのは、あくまでもデファクトスタンダードであって標準規格ではないからだと考えております)
また、これは設計するまで知らなかったのですが、GH60用のキーボードではProMicro互換のマイコンは使えません。USB の差込口位置にマイコンを設置するとGH60のケースと基板を固定するネジ穴を塞いでしまします。厳密には、他に5個ネジ穴があるんだから1個くらいネジ穴を諦めるという手もあるとは思うのですが、好ましくはないでしょう。この点、サリチル酸さんがGL516はProMicroの配置を配慮していて素晴らしいケースだと再認識させられました。
以下のように、RP2040-Zeroだとネジと干渉しないので、設計難易度が一気に下がっておすすめです。
なお、私の場合はトラックボールとロータリーエンコーダと欲張ったのでピン数が足らずZeroは断念しました。結局Zeroにしてもマイコンの裏側にキーを上手く配置するのは難しかったりするので、USBポートは別にしてPGA2040を使うかCore-Aを使うかと割り切る方が幸せかもしれません。GH60互換ケースといっても様々で、USBの差込口周りの設計が特にバラバラな印象なので、USB周りはコンパクトにしておくのがベストだと感じております。
結局私はRP2040のProMicro互換を使用しました。PGA2040は高価な印象があったのと一時期入手困難だった事と、USBポートが付いていないので単体でデバッグできないという点でちょっとハードルを感じて採用しませんでした。今思うと絶対PGA2040を採用しておくべきでした。さっきProMicro互換は使えないと言ったのに設計が成り立っているのは、基板上でUSBを引き回しているからです。このため、USBケーブルを分解して基板にはんだ付けするという作業が発生しております。
他にもGH60互換の設計に関しては高さ方向の設計という難点があります。基板の上には当然パーツが載るわけですから、どのケースもある程度はネジ止めした基板の下に隙間があります。ただ、この隙間がケースによってバラバラなので、安全な設計とする場合はケースのネジ穴にスペーサーをかぶせて何mmか基板が浮くようにして空間に余裕を持たせることになります。ここで、スペーサーで浮かせることによりまたUSB差込口側も高さ方向の調整が必要となります。このあたりの、高さ方向の設計ノウハウも自作キーボード界隈であまり出回っていない印象です。平面内の配置の話だけで終始しており、高さ方向の設計を含めたケースの話は多くない気がします。
親指トラックボール
高さ方向の設計に関連して、今回は九嶋さん・kbjunkyさんのPMW3360ブレイクアウトボードを使用させていただきました。特にメインPCBへの取り付け方はReex56,67を参考にさせていただいておりまして、いわゆるLowマウントとなっております。
LowマウントはメインPCBに2.5mmのコンスルーでブレイクアウトボードを取り付ける方式です。PMW3360はレンズの厚みもありますが、レンズと逆方向にはICチップの出っ張りがあり、これが意外と厚いです。合計すると約6.5mmもメイン基板の下に空間が必要になります。私は余裕を持たせてメインPCBを7mm浮かせる仕様としました。
7mm浮かせる事自体はヒロスギのスペーサーを使うだけなので問題なかったのですが、どうやって隙間を埋めるかが問題です。そこで私はせっかくなら金属製ボトムプレートを採用しよう、と思い至り以下の構造を採用しました。
今回トッププレートはLofreeスイッチを使用するため1.6mmのPCBが必須となります。Shoebill黒の方はトッププレートそのままなのでネジ頭などが丸見えとなっています。見た目を考えると化粧板としてもう一枚上に取り付ける板を設計するべきだったのですが、そこまで真剣に考えておりませんでした。マーブルケースを使用した方ではケースに合わせてトッププレートをマーブルにしたかったためマーブル模様のデザインペーパーを貼り付けております。ペーパーを両面テープで貼り付けてデザインナイフでスイッチ穴などを切り取るだけなので意外と簡単です。
話がそれましたが、ミドルレイヤーは一般的なアクリルを使用しています。最初はEVAを自分で切り出そうかと思ったのですが、スイッチソケットやダイオードを避けた形状がかなり複雑になるので、さくっとdxfにしてElecrowに作成してもらいました。割と雑なdxfでしたが思った通りの形状で仕上がったのでElecrowはさすがだと思いました。
EVAはダイソーで売っているスポンジシートです。この層は加工が少ないので自分で切り出しています。最後にアルミのボトムプレートです。これはJLCPCBでアルミ製のPCBを選択して電気配線を何もしなかったものです(トッププレートと同じ作り方)
狭ピッチ、40%配列、親指7キー
最後にShoebill43TGの特徴としてこれらがあります。
狭ピッチというのはキーボードを設計する上で必須事項でした。色々なキーボードを触る中で、どうにも指がバタつく印象があり、移動量を抑えたかった、というのがShoebillを作るに至った大きな動機です。まず自分で作る前にwings42やminiDivideを試すべきだったとは思いますが、あたらしく自作キーボードを買うならそのお金で自設計を発注した方が良いと思い至りました。
Shoebill43TGは16.5mmピッチのキーボードとなっております。Cherry MX Backlit Low Profile Keycap SetとLofreeスイッチを使う前提としたキーボードなのでギリギリを攻めてこのピッチとなっております。実はChocV1用キーキャップの小さいものが市販されていないので、もう少し余裕を持たせておけば良かったと後悔しております。Shoebill白の方で親指はChocfoxキーキャップを使用していますが、これを親指以外で採用すると微妙に干渉します。Chocfoxキーキャップがちょうど16.5mm幅なのでぎりぎり引っかかります。私は無理やりキーキャップをやすりがけして使えるようにしましたが、最初から設計ピッチをもう少し広くしておけば良かったと思います。
40%配列については、前からkeyball44ベースの改造をしていたので、やはり片側6列*3行*左右の36キーは外せないと考えておりました。
親指7キーについても考察記事を以前書いています。減らす工夫を考察していましたが、やはり物理的に7キーあるのが楽です。なお、今回左手の親指キーの配置はかなり上手くできたと感じております。
キーマップとしては上図のようになりまして、Winキー(Cmdキー)の配置が良かったと感じています。最近はMacで作業する事が多いので、この位置にCmdがあるのはかなり使いやすい印象です。
設計参考
自作キーボードの先人たちの偉大な記録を色々と活用させていただきましたが、特に参考にしたのが以下となります。
ちょっと情報が古いかもと不安ではあったのですが、やはり参考書としてはサリチル酸さんの本が良かったです。サリチル酸さんに比べると若干玄人向けでしたがm.kiさんの本もRP2040やロータリーエンコーダの知識として大変有用でした。
設計参考書
サリチル酸さんの本(https://salicylic-acid3.booth.pm/items/4410329)
m.kiさんの本(https://mki0002ozlet.booth.pm/items/5035440)
ハード参考
PMW3360
九嶋さん(https://github.com/kushima8/PMW3360)
kbjunkyさん(https://github.com/kbjunky/PMW3360)
GH60互換設計
ai03さん JP60(https://github.com/ai03-2725/JP60)
最後に
KeebPDにてお披露目してからだいぶ時間がたってしまいましたが、ようやくShoebill43TGの記事を書けました。実は基板や各プレートにはミスがありましたし、やはり初設計でそうそう上手く行かないと実感しつつも、自分なりに良いものが作れたと思っております。特に狭ピッチカラムスタッガードはもはや手放せなりつつあります。
この記事はShoebill43TGで書きました。