見出し画像

オリジナルプロファイルのキーキャップセットを作ろうぜ!

こんにちは。キーボードを作るうさぎこと、ぎーくらびっとです。これはキーボード #2 Advent Calendar 2023の9日目の記事です。

昨日はすばるさんの 「初めてのキーボード組み立て/今年買ってよかったキースイッチ【キーボード #2 Advent Calendar 2023】」 でした。ZOOM75よさそうですね。ちょっと欲しくなってきました。

さて、今使っているキーボードに満足できていますか?何か不満を感じていませんか?
そんな時はキーキャップを変えることで満足度が変わるかもしれません。市販のキーキャップをいろいろ試してみるのもいいですが、自分専用キーキャップセットを作ってみるのも面白いかもしれません。
特に格子配列やカラムスタッガードのキーボードだと、キートップの刻印とキーマップを完全には一致させることは困難です。オリジナルキーキャップセットを作れば、そんな悩みも解決できます。

ここでは私が設計しているGRプロファイルというキーキャップセットを例にキーキャップセットの設計手順を説明します。

使うツール

  • 3D CAD
    今回は私が使い慣れているFreeCADを例に説明します。寸法を変更したり形状を試行錯誤することになるので、3D CADを使うことをお勧めします。

  • 光造形方式の3Dプリンタ
    キーキャップの軸部分の精度が欲しいため光造形方式の3Dプリンタを使ってキーキャップを出力します。今回使用する3Dプリンタは、NOVA3Dさんの Whale2 です。レジンはSK本舗さんの ABS-Likeレジン です。アルコール洗浄が必要なレジンですが、ゆがみにくく適度な靭性があるため、キーキャップに適している印象です。FDM方式の3Dプリンタでも作れるかもしれませんが手元にないので確認できません。

方針決め

まず、どのようなキーキャップセットを作りたいかイメージしましょう。どういったキーボードで使うのか、今使ってるキーキャップセットから改善したい点はどこなのかを考えるといいでしょう。

私の場合は、自身で設計したTimothyというキーボードで使う前提にデザインしています。Timothyは画像のようなカラムスタッガードのキーボードです。すべてのキーが1Uであり、既製品のキーキャップセットでは、どうしてもキーマップと刻印が一致しない箇所が出ています。ここはやはり一致させたいところです。
また、MDAプロファイルのキーキャップが好きなんですが、上下や左右への運指に少し課題を感じており、もう少しスムーズな運指を実現したいと考えました。

市販キーキャップを装着したTimothy

そこで以下の方針でデザインすることにしました。

  • 上下方向の移動に抵抗を感じさせない。
    指を上下方向に動かしたときに、キーの段差をほとんど感じないようにすることで段差に指が引っかかってミスタイプするという状況を避ける。
    MDAプロファイルでは指が引っかかってミスタイプするということが頻発していました。

  • 左右方向の移動はちょっとした抵抗を感じさせる。
    指を左右方向に動かしたとき、隣の列に移動する前に抵抗を感じるようにすることでタイプミスを減らしたい。一方で、意識的に隣の列の文字を打つときは、ほとんどストレスなく移動できるようにする。

  • 親指用のキーもデザインする。
    Timothyの特徴である一段下がった親指キーに最適な形状を作りたい。

  • Timothyの配列に最適化するため、一般的なR1(数字行)からR4(Z行)までのデザインだけでなく、R5も専用のデザインにする。
    これはホームポジションから手を放すことなく、R5のキーを打てるようにすることが目的。

モデリング

方針が決まったので3Dデータを作っていきます。
ある程度形状を決めたところで何度もプリントして確認するとよいでしょう。

いきなりすべてのキーを作るのは難しいので、最初はひとつのキーだけを考えます。今回はホームポジションであるR3行の形状を考えます。

R3のデザイン

大雑把にキーキャップをモデリングしていきます。この時点でR1からR5までモデリングすることを想定して形状を作れればいいのですが、そこまで考えることは困難です。私はキートップの形状が決まってから、再度モデリングし直しています。

R3の形状

軸の形状

軸に関してはプリンタの機種や使用するレジン、印刷パラメータなどによって最適な形状が変わります。未だに最適な答えが出ていませんが、私が作ったキートップは以下のような形状にしています。

縦(貫通)の太さ:1.15mm
横の太さ:1.17mm

軸の太さはについては、Cherry MXのデータシート を参考にいくつかのバリエーションを試して決定しました。ここも3Dプリンタや使用するレジンなどでも最適な値が変わると思うので、自身の環境にあった最適な値を探してください。

形状に関しては、縦方向が広がる形状とすることで、軸の太さや印刷時のばらつきの影響を極力少なくしています。多少なりとも応力を逃がすために軸の根本にフィレット(曲面)をつけていますが、効果のほどは不明です。
横方向については、こちらまで貫通させると軸がすぐに開いてしまい耐久性が著しく落ちてしまうので、壁を残すようにしています。

この形状はキースイッチを選ばず軸も割れにくいんですが、抜き差しを繰り返すと、徐々に軸が開いていってしまって抜けやすくなります。もう少し耐久性を向上させる必要がありそうですね。

キートップの形状

既存のキーのキートップは平面を円柱か球で切り取ったものをがほとんどです。cherryプロファイルの場合は円柱で切り取った形状をしていますし、MDAプロファイルの場合は球で切り取った形状をしていますね。
個人の感覚にもよると思いますが、円柱で切り取ると上下方向へは指を移動しやすくなりますが、左右方向へは指を移動させにくくなるという印象です。一方で球で切り取ったものの場合、どの方向へも移動させやすくなる印象です。

今回は上下と左右の移動を自然に区別できる形状を目指したため、円柱と球のいいとこどりをできる形状として、楕円体(楕円を回転させてできる形状)で切り取ることにしました。

半径1(キーの高さ方向):17mm
半径2(指の左右方向 ):20mm
半径3(指の上下方向 ):25mm

切り取る楕円体の形状ですが、パラメータ違いのキートップをいくつか試作し、上下移動のストレスの少なさ、左右移動の抵抗感を意識して確認し、一番しっくりくるものを選びました。

キートップの形状テスト用のモデル

これでキートップの形状が決まりました。他の行のキートップをデザインするとまた形状を変えたくなると思いますので、その時は再度テストしましょう。

R1からR5までの形状を決める

上下方向のつながりを決めるうえで、各キーの高さやキートップの傾きが大事になります。これも実際に作ってみて試すしかないので、最初は適当に決めてテストを繰り返すことになります。

いろいろ試した結果、各キートップの面は、R1からR4はキートップが同一の円弧上にそろう形状を基本としました。ただし、完全に同一の円弧上にキートップを配置するようにするとスムーズすぎて、隣のキーに移動したことを認識できないため、少しだけ高さを調整しています。

R1(左側)からR5(右側)までの各キーの角度

ある程度形状が決まったら、数行分のキーキャップセットをプリントして上下左右の指のつながりをテストしておくとよいでしょう。

最終的に出来上がった形状はこんな感じです。
少しだけ色の違うモデルが親指用です。こちらはR4を180度回転させた形状です。

各行のキートップの形状。
上からR1(数字行)、R2(Q行)、R3(A行)、R4(Z行)、R5(特殊キー用の行)、RT(親指用)。
R3はホームポジション用のデザインも用意。

刻印

キーキャップセットを作る目的の一つでもある刻印を入れていきます。まずはフォントを選びましょう。私は視認性重視で、 Kumbh Sans というフォントを使っています。

私のデザインしたキーキャップセットでは3Dデータの時点で、キートップに文字を彫っています。キートップに文字を彫る際はキートップから同じ距離だけ文字を彫らないと、一部分だけ文字が薄くなってしまいます。
私の場合は、キートップから0.2mmだけ文字を彫っています。

文字の彫り方ですが、3Dに押し出した文字をキートップと同じ形状の楕円体で切り取ったうえで、論理演算して刻印しています。Fusion360だともっと簡単にできそうですが、FreeCADではこの方法しか思いつきませんでした。実際の作業中のキャプチャはこんな感じです。

1.文字を押し出します。

2.押し出した文字を楕円体で切り取る。

3.モデリング済みのキーキャップと論理演算して切り取り。

4.完成!

これを繰り返して、作成したいキー数分作ります。もちろん地獄のような作業ですよ。しかもFreeCADだとオブジェクトが増えるとどんどん重くなるのでかなりつらいです。作ろうぜというタイトルですが、、、やめたほうがいいですね。おススメしません。

気合を入れて全てのキーを作るとこんな感じです。圧巻ですね。

全キー分のキーキャップセット

さらに日本語配列用の刻印も準備。

日本語配列対応のキーキャップセット

記号周りのバリエーションはもう少し増やしたいところです。

プリント

さて、ここまで読んでいるということは地獄のような作業を乗り越えてきた歴戦の猛者に違いありませんね。あとはプリントするだけです。簡単ですね。

まずは3DキーキャップセットをSTLファイルに書き出します。FreeCADの場合、1キーずつ書き出すようなことはしなくて大丈夫です。書き出したいキーを複数選択して一括エクスポートできます。私の場合は左手用と右手用を分けて作ったのでその単位でエクスポートします。

あとはスライスして印刷するだけなんですが、ちょっとした注意点があります。3Dプリンタで出力する場合、どうしてもピクセル痕や積層痕が気になります。そこで造形の方向を調整します。

1.X軸方向に30度回転させる。

2.Z軸方向に45度回転させる。

こうすることで積層痕を目立たなくすることができます。私の場合、サポートは自動サポート任せです。

実際に出力したものを比較してみましょう。
造形物の向きを調整しない場合は、下の写真のようにリング状の模様が見えます。

プリント時に造形物の向きを調整しない場合

一方、向きを調整すると模様がほとんど気になりません。

プリント時に造形物の向きを調整した場合

刻印の墨入れ

せっかくキートップに刻印を入れたんだからキートップに墨入れをしましょう。頑張って筆で塗ってもいいんですが、きれいに塗るのも大変ですよね。
そこで、ポスカを使います。ポスカで適当に文字を塗りつぶしましょう。
はみ出しても気にせず、刻印を完全に塗りつぶしましょう。塗りつぶしたら乾くまで放置です。

ポスカ塗った状態

ポスカのいいところは背景色が透けない。水に強いというところです。ポスカが乾いたら、キートップをアルコール入りのウェットティッシュで拭くとはみ出したところをふき取ることができます。キートップをつるつるにしたい人は、サンドペーパーで水研ぎしてもOKです。

表面処理は雑ですが、いろんな色のポスカを塗ったサンプルです。どれもいい色ですね。

いろんな色のサンプル

全キー分仕上げるとキーキャップセットの完成です。
実際にキーボードに着けるとこんな感じになります。かっこいー!!

オリジナルキーキャップを装着したTimothy

終わりに

ここまで読んでくれてありがとうございます。なかなか長い道のりでしたね。すべて自力でやる猛者がいたら尊敬します。

今回紹介したキーキャップセットの3DデータはGithub上で公開しています。ご自由にお使いください。リポジトリのURLはこちらです。
https://github.com/geek-rabb1t/gr_keycap

少し先になるかもしれませんが、軸の課題が解決したら、Boothでキャップセットの受注生産を行う予定です。興味はあるけど自分で印刷するのはちょっと。。。という人はこちらからどうぞ。あ、ポスカはご自身で塗ってくださいね。

この記事は、Timothyにオリジナルキーキャップを装備して書きました。
それでは楽しい自作キーボードライフを~

明日はのアドベントカレンダーは ymkn さんです。


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