⌨️

Futaba成長記

2024/12/14に公開

キーボードを作るうさぎこと、ぎーくらびっとです。

これは キーボード #1 Advent Calendar 2024 の14日目の記事です。

https://adventar.org/calendars/10025

今年はFutabaの設計で一年が終わりました。現時点でほぼ完成といってもいいかな?という完成度に達したため、ここまでのこだわりや試行錯誤の記録を残しておきます。

そもそもFutabaってなに?

持ち運び可能な Timothy をコンセプトに設計したトラックパッド付きの一体型キーボード。

ほぼ完成版のFutaba

主な特徴は以下の通り。

  • カラムスタッガード(縦ずれ)の左右分離型キーボードをつなげた一体型キーボード。
  • ロープロファイルスイッチ採用でパームレストがなくても快適。
  • ジェスチャも可能なマルチタッチトラックパッドを中央に配置。
  • 親指で操作可能な大型ホイールを搭載。もちろんクリック可能。
  • 一段下がった親指クラスタ(Timothyと同じ特徴)
  • 小指側から人差し指側に向かって4°のテント角付きの立体構造(Timothyと同じ特徴)
  • 静かで柔らかな打鍵感を実現するスタックマウントとフレックスカット。
  • 左右、中央と3方向へケーブルを出せるケーブルガイド。
  • なによりかっこいい!!(すごく重要!!)

名前は、左右分割キーボードをくっつけた形と、植物が発芽した時に現れる双葉に似てるところから名付けました。実際のチモシーは単子葉類だから双葉にはならないんですが、、、こまかいことは気にしないことにしました。

Timothyに興味が湧いた人は後でこちらを読んでください。

https://note.com/geek_rabb1t/n/n2de5a0391c1a

Timothyを持ち運べばいいんじゃないの??

その通りなんですが、実際持ち運んで使うといくつか問題を感じました。

  • 専用パームレストを使わないと打ちにくいのでパームレストも持ち運びが必要。
  • 左右間の接続、PCとの接続と、移動するたびの配線が面倒。かといって、無線では金属テーブルだと応答がわるい。
  • MXスイッチ対応のため、キーボード自体がかさばる。
  • 設置スペースが狭い場合などPCの手前に置くと、ケーブルの接続部分が邪魔。

自宅で使う分には大満足なTimothyですが、仕事中にノートPCと一緒に会議室に持ち込むようなシチュエーションではいくつか不便がありました。

という気持ち。幸い転職して、頻繁に会議室に出入りする生活からは解放されたんですが、今度はたまの出社で 16インチのノートPCとTimothyを持ち歩く生活が始まりました。

結局モバイル用のTimothyが必要ということでいろいろ考えました。当初はロープロファイルスイッチ対応のTimothyを作れば、パームレストが不要になって十分では?という考えもありました。一方、 aki27さんのcocot46plus のような一体型キーボードを作りたいという思いもありました。所詮、キーボードの設計は趣味の活動。持ち運ぶならトラックボールよりトラックパッドだよねという気持ちとともに、自分が作りたい一体型キーボードを設計することにしました。

左右間の角度は?

Timothyを一体型にするということで、まずは左右間の角度を検討することにしました。実際にTimothyをくっつけたり離したり、角度を変えてみたりして肩や手首に負担のかからない角度を探してみました。

その結果、左右の角度はトラックパッドを中心にそれぞれ11°回転させるべきであるという結論に至りました。が、実際にキーボードとして使ってみるとこの角度は肘が開きすぎて使いにくい。最終的には6°に変更しました。

こちらはまだ11°で設計していたころ。左右が大きく開いているのでホイールも今より大きい。

https://x.com/geek_rabb1t/status/1820036964822777944

テント角とチルト角どうする?

持ち運びを考慮するとできるだけ薄くしたいのですが、テント角をつけるとどうしても厚みが出ます。そこで一部の指だけだけ傾斜するバリエーションをいろいろ試しました。

https://x.com/geek_rabb1t/status/1742083516404498904

結果、すべての列に傾斜をつけるのが最も打ちやすいという当たり前の事実に気付きました。

チルト角についてはあまり悩むことなく、Timothyと同じ4°という角度をつけることにしました。
この角度は単純に私の好みの角度です。

内部構造

キーボードの形状が決まったので次は内部構造の設計。スペースに余裕がないことがわかっていたので、PCBをクッションで挟んで保持するスタックマウントを採用しました。ロープロファイルスイッチ採用ということもあり、クッションに干渉するトッププレートも省略しています。

高コストになってしまったTimothyの反省を活かし、PCBを1枚で実現することにしました。これは立体キーボード用のPCBから着想を得ています。

https://github.com/Bastardkb/Dactyl-Manuform-PCB-Plate

PCBについては何度も試作を繰り返すつもりで少しずつ設計を進めました。

1.立体形状の実現

まずは立体形状部分の確認として、 本当に1枚のPCBで立体形状が実現できるか試しました。もちろんPCBが薄いほうが実現しやすいはず。同じ製造コストの中で一番薄い 0.8mm 厚を選択しました。思いのほかうまくいったので、すんなりと次の段階に進めました。

https://x.com/geek_rabb1t/status/1806719583073767857

2.フレックスカットの効果確認

次はフレックスカット。これは単純な興味から試してみました。試した形状は2パターン。

https://x.com/geek_rabb1t/status/1820784210703229307

どちらも効果がありました。採用したのはよく見るストレートにカットしたタイプ。どのキーを打っても同じ感触になるため採用しました。 nの字 型は柔らかくなりすぎたので不採用としましたが、PCBの厚みによっては検討の余地がありそうです。

3.ホイールクリックの作りこみ

最後まで悩んだのがホイールクリックを実現する機構。採用するロータリーエンコーダーがロープロファイルタイプということもあり、上から押しこむプッシュボタンはついていません。しかし、ロータリーエンコーダーを採用する以上は、クリック機能は欲しかったので実現方法を考えました。

幸いPCBが柔らかく簡単にしなることはわかっていたのでPCBをバネ代わりに、ロータリーエンコーダーでマイクロスイッチ(マウスのボタンで採用されているスイッチ)を押す機構を考えました。これはマウスのホイールクリックの機構を参考にしています。実際に試してみると、形状がかみ合わず上手く押すことができません。

そこで、クリックを補佐するパーツを追加することにしました。ここもいろいろなパターンを試しました。少しでもクリックが軽くなるよう、てこの原理でロータリーエンコーダーがスイッチを押すようにしました。

ホイールクリックの構造

ケーブルどうやって出そうか?

Timothyの持ち運びでプチストレスだったケーブル干渉問題。USBコネクタとPCの干渉を排除する方法を検討していました。そこでキーボード裏にUSBコネクタ用のスペースを設け、コネクタが外から見えない構造にしました。

この設計、コネクタの抜き差しを考えると大き目のスペースが必要となります。キーボード自体はできるだけ小さくなるように設計しているため、スペースの確保に苦労しました。今回採用しているマイコンボードは、RPS2040 zero。 部品の配置を見直すことでスペースを確保することができました。マイコンを直接実装することも考えたんですが、試作のコストを考えると別部品にしておきたいので助かりました。

ケーブルを縦に出すスペースがない場合に備え、ケーブルを横出しするためのガイドも設けています。カーブした不思議な形状をしていますが、USBコネクタの負担を減らすためのアイデアです。

https://x.com/geek_rabb1t/status/1850021358929052114

歪む!!

何度試作しても悩まされ続けた問題、それがボトムケースの歪み。約32cmの横幅ということもあり、どうしてもケースが歪みがちでした。いろいろな対策を試しましたが、ケース全体に横向きのリブを入れるのが一番効果的でした。しかし、スタックマウントという構造上、リブの有無で打鍵感が大きく変わってしまいました。打鍵感を改善するため、スイッチの下に必ずリブが来るよう、縦方向のリブも追加しています。

これらん対策でケースの歪みについてはほぼ解決しました。それでも3Dプリント品ということもあり、製造時のばらつきはゼロにできません。多少歪みが発生してもも問題が起きないよう、ゴム足の貼り方で調整することにしました。

https://x.com/geek_rabb1t/status/1865986260839600294

え?トラックパッドも作るの???

FutabaのトラックパッドはAzoteq社の TPS65 というモジュールを使ってました。ある程度設計が進んできた8月終わりごろ、トラックパッドモジュールがディスコンということを知りました。

https://x.com/geek_rabb1t/status/1828066357109575860

手元には貴重なTPS65 が 5枚のみ。Futabaは最初から販売を意識して設計していたので、どこまで作りこむか悩みどころでした。ひとまずは自分が納得いくまで作りこむことにして、トラックパッドモジュールのことは後で考えることにしました。

そんな中、試作待ちで時間ができたので TPS65 と同じサイズのトラックパッドモジュールを設計してみることにしました。Azoteq社のドキュメントを読みながら進めましたが、本当に作れるの?って半信半疑。何とか設計終わって、さあ発注。

初めてのトラックパッドということもあり、どうせ動かないでしょ? ってと思っていたら、案の定動きません。Futaba上でデバッグしてみましたが、そもそもICからなにも情報を取得できません。なんとなく設計時から感じていましたがコントローラーICに専用のファームウェアが必要がでした。ということでファームウェアを書き込むためのツールを調達して、初期設定を書き込むと、、、

動いた!!

https://x.com/geek_rabb1t/status/1851634225986084895

最初の試作でいきなり動きました!!ちょっと感動です。こんな感じでオリジナルのトラックパッドモジュールを作ることができたのでFutabaにはこちらを採用します。作る人がいるかわかりませんが、トラックパッドの設計データはこちらです。Futaba販売時にはモジュール単体での販売も予定していますが、作りたい方はご自由にどうぞ。

https://github.com/geek-rabb1t/GR-Trackpad65

また、トラックパッドの制御コード周りは全て書き換えており、QMKの標準状態よりも随分操作感が良くなっています。ざっくりとした説明はこちら。

https://zenn.dev/geek_rabb1t/articles/a1940cf93c1766

近いうちにトラックパッドの設計解説記事も書くと思います。(約束はしません。)

試作!試作!!試作!!!

ここまで作りこむのにたくさんの試作を繰り返してきました。
3Dプリント製のケースも、PCBもJLCさんに発注しているのですが、履歴を見るとケースだけで8回、PCBは6回(トラックパッド含まず) の試作を行っていました。さらに、大まかなレイアウトが固まる前の初期段階だったり、細かい部分の干渉チェックは自宅の3Dプリンタで試作しています。ちゃんと数えていませんが、こちらも10回くらいは試作してると思います。

こんな感じで、何度も試作を繰り返したおかげでFutabaも成長し、完成に近づきました。時間はかかりましたが、いろいろと気づきも多く楽しい時間でした。

ちなみに、、、

自作キーボードの完成度をあげてる勢の一人が言うのもなんですが、、、
ゆびながモンキーさんの以下の記事でも触れられている通り、イベントには気軽にキーボードを持っていくことが重要だと思っています。

https://zenn.dev/yubinagasaru/articles/29b1c9f94d862c

私も動かない(どうせ展示するだけだからわからないしw) キーボードっぽいオブジェを何度も持って行っています。キー部に参加したときのツイートですが、このときは3Dプリンタで出力した樹脂の塊を持っていきました。

https://x.com/geek_rabb1t/status/1748539144119447953

このときは、一体型のはずなのに2つに分かれてるし、キースイッチはぽろぽろ外れるしさんざんだったんですが、たくさんフィードバックをもらえて励みになりました。まだ完成してないしとか、完成度低いからとか気にせずに参加してもらえると、お互いに刺激になって楽しめると思っています。

新たなる野望

本当に作るか不明ですが、こんな感じのSlimBlade とトラックパッドが合体したモジュールを作りたいなと思っています。

https://x.com/geek_rabb1t/status/1862846943732576356

終わりに

Futabaは 2025年3月22日 開催のキーボードマーケット トーキョー2025にて販売開始予定です。ブース番号は C-01 、入り口の目の前の予定です。もちろん通販でも販売しますが、キーボードマーケット トーキョー2025終了後の予定です。

https://keyket.jp/tokyo-2025

この記事はFutabaとTimothyで書きました。

明日は、大岡俊彦さんの「打鍵姿勢を考える」です。
お楽しみに!

Discussion