3D 形状のキーキャップを作った話、あるいは自作 3D キーボードのすヽめ

自作キーボード温泉のみなさんこんにちは。

今回は、まったく新しい 3D 形状なキーキャップセットを設計したので、簡単な紹介と、使い方の説明を記事にしたいと思います。

![complete.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/2eb0cddb-75ec-28e3-0cd2-f9054cac62d9.jpeg)

ここで紹介する 3D キーキャップは DMM.make さんで購入することもできます！記事を読んで、面白そうだなと思えたらぜひ試してみてください。

https://make.dmm.com/item/1009976/

## 3D キーキャップの紹介
### そもそも 3D キーボードとは

ここ１年くらい、自作キーボード温泉の勢いが強烈ですが、このブームの中で、平面のキーボードの再設計に飽き足らず、「3D キーボード」に手を出す人が増えつつあります。

<img width="965" alt="3D.png" src="https://qiita-image-store.s3.amazonaws.com/0/54240/c7b029c3-4564-4a6d-505b-a6302660cb65.png">

「3D キーボード」とは、キースイッチがそもそも平面に並んでいないようなキーボードのことです。

私たちが手を自然に机に置いた時の、指の先端位置は平面にはなりません。私たちは、普段、少し無理をして力を入れることで、平面のキーボードを使っています。これに対して今までは、キーボードを斜めに傾けたりすること (テント) で対応してきましたが、それでもたんに斜めの平面ができるだけで、たとえばキーがお椀型に湾曲して並んでいるとか、そういったことはできません。そこで、そもそもスイッチが立体的に配置されたキーボードを作ろうぜ、というアイデアが出てきます。

市販品には、以前から 3D なキーボードもいくつかありました。代表的なところでは Kinesis や Microsoft の  Sculpt Keyboard などがあります。一方自作温泉では、 Dactyl と呼ばれる Kinesis 風の配置のキーボードなどはありましたが、とはいえそこまで研究が活発ではない印象がありました。しかし、平面の配置に煮詰まりつつある温泉の民が、去年の後半くらいから 3D キーボードの研究に手を出しはじめ。今後流行ってくる可能性が大いに出てきました。代表的なものでは、しろとりさんの Colosseum シリーズ、ゆかりさんの Lime40 などがあります。

### なぜ 3D キーキャップか

私が今回作ったのは、「はめるだけで 3D キーボードになる」ような、 3D 形状のキーキャップです。

普通の 3D キーボードは、自作しようとすると、立体的な筐体を 3D プリントし、そこにはめたスイッチを手配線するといった作業が必要になります（立体的な基板を作るのはまだ難しいです）。しろとりさんの大発明「無限の可能性」基板などを利用することでかなり難易度は下がると思いますが、とはいえ平面キーボードと比べると組み立て難易度はかなり高めなのが現状じゃないかなと思います。

一方、キーキャップであれば、既存のキーボードにはめるだけで完成するので、組み立てが非常に簡単になります。また、格子配列のキーボードにはめてみたり、やっぱり columnar staggered なキーボードにはめてみたり、試行錯誤もしやすくなります。

ただ、もちろんデメリットというか制約もあるので、筐体 3D より全面的に良いというわけではないです。

<img width="287" alt="bad_angle.png" src="https://qiita-image-store.s3.amazonaws.com/0/54240/67996f91-f13c-b338-2c6c-9d90313029e4.png">

たとえば 3D キーキャップはあくまでキートップ表面の角度が 3D になっているだけで、スイッチ自体は水平についています。したがってあまりに角度を急激に付けすぎると、スイッチの角度とトップの角度の乖離が大きすぎて、スイッチの押し込みに問題が起きたりします。このような問題のおこらない角度に収めつつ、 3D の利点はある程度享受できるような設計が必要になってきます。このあたりはスイッチの質（がたつきの少なさ、ストロークの滑らかさ）にも依存してくるので、難しいところです。

### 設計思想

上のような事情から、自分の 3D キーキャップは次のようなコンセプトで作りました：

- 組み立ても使い心地もいい意味で「手軽」であること
  - 完全にホームポジションに指を固定して打てる人も、そうでない人も、快適に使える形状
  - パームレストがなくても快適に使える高さ
  - など

- 単体でがっつり角度を付けられない分、さらに追加で傾けて (テント) 使っても快適なこと
  - (湾曲はキーキャップで担当するが、それ以上の傾斜はテントが担当する、という分担)

これらのコンセプトは、たとえば

- 一番高いキーでもパームレストなしで十分届く程度
- 隣り合うキーの傾斜の差が一定 (＝指を移動しても・追加でテントしても違和感がない)

とかいった特徴に現れています。

3D キーボードの入門編、手軽にそれっぽいものを体験してみるためのツールとして、役に立つといいなと思っています。

（実はここに到るまでに 4 バージョンほど試作しているのですが、詳しい設計の経緯や手法・工夫などはまた別の機会に紹介できればと思います）

## 3D キーキャップの使い方、もとい闇のジグソーパズルの解き方

使い方といってもはめるだけなのですが、なにしろほとんど同じ見た目で微妙に傾きの違うプラスチック片が大量に届くので、「どれをどこにはめたらいいか」を決定するのにややコツがいります。

![the_puzzle.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/445cb230-1809-aeff-2ea5-20f5cc15f3bb.jpeg)

そこで、この闇のジグソーを（比較的）簡単に解くための方法を伝授します。

### 作戦

![left_n_left.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/fdcced2e-6419-9af6-631d-8ca2c8939d82.jpeg)

まずそもそもの方針として、この 3D キーキャップには右手用・左手用の区別がありません。なので、上の写真のように「いったん両方とも左手用だと思い込んで」パズルを解くのがおすすめです。

またこのキーキャップのサポート部分をよく見ると、実は縦横で太さにわずかな差があります。

![support.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/a4f1c269-9894-0656-c8af-1f2469110b81.jpeg)

この「太い方」がキーボードの「行(横)方向」、「細い方」が「列(縦)方向」となります。

![support_all.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/a94ab96c-f93b-e0fa-b510-2fea5a50dad6.jpeg)

これらの仕様が頭に入っていると、かなり解きやすくなるはずです。

### キーキャップの分類

![groups.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/ae3af034-99ff-e95d-9d0f-64a71dcca436.jpeg)

まずはキャップを並べ始める前に、４種類のグループに分類します。

- 1. 傾斜が全くないもの (２個)
- 2. サポートの細い方（列方向）にだけ傾斜があるもの (４個)
- 3. サポートの太い方（行方向）にだけ傾斜があるもの (１０個)
- 4. 残り (２０個)

特に `2.` グループのキーと `4.` グループの一番小さいキーが同じ高さで紛らわしいので注意してください。

![similar_keys.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/99518108-637e-6037-a036-3a6ecf7a4e62.jpeg)

上の写真では、左のものが `2.`、右のものが `4.` グループになります (右側がわずかに高い)。

### １・３グループのキャップを並べる

`1.` グループ・`3.` グループのキャップは、３行キーボードでいう２行目のキーとなります。

`1.` グループのキーを一番左に置いてから、その右に `3.` グループのキーを、背の低い順に並べます。

![row2.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/e29509af-1dac-2796-5fd9-ccf3d8b7bf04.jpeg)

### ２グループのキャップを並べる

`2.` グループのキャップは一番左端の列のキーになります。

これら４つのキャップはすべて同じ形状をしているので、適当に並べます。

![col1.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/2e865dbf-8c1d-fb31-612d-a2908ed8ee68.jpeg)

### 残りのキャップを並べる

最後に残りのキャップを並べていきます。大きいものから配置していくのが比較的簡単だと思います。

![tallest_first.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/395f8383-e0a0-0caf-8af7-c4f2beb1c1f6.jpeg)

![nearly_completed.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/14735647-38d6-807d-9731-74f7fe657836.jpeg)

これらのキャップは縦にも横にも傾斜しています。もしもどっちが縦でどっちが横かわからなくなってしまったら、都度裏側のサポートを確認しながら、丁寧に置いていきましょう。

![check_support.jpeg](https://qiita-image-store.s3.amazonaws.com/0/54240/51f30a77-04ed-e798-d27e-630d4bfd2593.jpeg)

### 答え合わせをする

無事キーを並べられたら、正しく並べられたかを確認します。

![verify.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/d7317810-64a3-9bd4-a4d6-4e882dbc3aad.jpeg)

目視で確認してもいいですが、写真のように隣り合うキーをまたぐように指を乗せてみて、目立った段差がなければおそらくあっています。

### キーボードにはめる

![complete.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/9842c8ec-a8a7-a69f-232f-3d9fe5bda266.jpeg)

無事並びがわかったら、キーボードにはめていきます。

右手分は 180 度反転させて取り付ければちょうどいい感じになります。

3D プリントの精度の都合上、はまりやすい個体・はまりづらい個体が出てしまう場合があります。もしはまりづらい個体に出会ったら、無理にいきなりキーボードにはめずに、余ったスイッチに何度かグッと抜き挿しして穴を広げてから使ってもいいかもしれません。

また 3D キーボードをしばらく使っていると、 MX スイッチでは押し込みが深すぎるなと感じることがあるかもしれません（私もそう思い始めたし、同じようなことを言う人は他にもいました）。そのような場合は、キャップに静音化用の O リングをはめてあげて、ストロークを短くするとより快適に使えるかもしれません。

![orings.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/f6b63e02-5c57-bca2-b9e3-6ba62a966758.jpeg)

## 親指キーの使い方

3D キーキャップセットには、併せて使うとより快適にタイピングができる、親指用キーキャップセットもあります。

DMM.make さんの場合、おそらく同時に発注しても基本セットとは別の袋に梱包されて届くと思うので、難しいことはないと思います。

![thumbs.jpg](https://qiita-image-store.s3.amazonaws.com/0/54240/dfe15dc0-cb34-ccdf-8dfa-9581958d09b7.jpeg)

上の写真のように、「めっちゃ左上がり」「やや左上がり」「水平×２」「やや右上がり」「めっちゃ右上がり」の順に並べて、左の３つを左手に、右の３つを右手にそのままの順で取り付けます。

Corne (など) で 1.5u の長いキーを使う場合は、「水平×２」がこの長いキーに置き換わります。

### おまけ：親指キーが基本セットに混ざってしまった場合の見分け方

もしキーキャップを交換する過程などで親指キーが基本セットに混入してしまった場合、次のように調べられます。

<img width="598" alt="thumb_and_main.png" src="https://qiita-image-store.s3.amazonaws.com/0/54240/0addaa25-2454-c4fb-cbaa-b01f3d7e76c1.png">

基本セットのキャップは spherical top (トップが球形にえぐれている) で、親指キャップは cylindrical top (円筒形にえぐれている) です。上の図では、右が親指キャップになります。

<img width="591" alt="thumb_and_main2.png" src="https://qiita-image-store.s3.amazonaws.com/0/54240/bc5351aa-d7f8-849e-e4e3-1c7eeb2913a8.png">

真横から見ると、 cylindrical な親指キャップ (左) はまっすぐストンと傾斜が落ちているのに対し、 spherical な基本セットのキャップ (右) はカーブしながら傾斜が落ちています。

## まとめ

ぜひ 3D キーキャップを購入して、 3D キーボードの扉を開いてくれ！以上だ！