見出し画像

3Dプリンタでタイピング環境を最適化する

以前プログラマー必須のツールのテキストエディタをテーマに書きました。今週は最も手に触れるデバイス『キーボード』がテーマです。

『触る頻度の多いものほど金をかける』という信条のもと、マウス・キーボードはそれなりに色々試してきました。とはいえお金にも限りがあります。ネット界隈に見るキーボードコレクター、自作キーボード界隈の方々と比べれば、ホント大したこと無いのです…
今回は不満のあるタイピング環境を良くするため、改善してみました。

ErgoDash Mini

自宅の作業環境ではErgoDash Miniを使用しています。
もともとErgoDashというキーボードがあり、1行まるままキーを少なくして小さくしたのがこのErgoDash Miniです。

画像1

自作キットで制作したキーボードです。
会社でも自宅でもセパレートタイプのキーボードを使っているわけですが、セパレートタイプのキーボードに目覚めたきっかけは、タイピングしすぎて小指から手首にかけての筋が痛くなったこと。その時はAppleのデスクトップ向けBluetoothキーボード(US配列)を使っていました。

OSXの場合、Command / Alt / Ctrl / Shiftと、4つのスーパーキーが存在するため、割り当てられるショートカット数が多いところが気に入っています。逆にそれが仇となり3つ押して更にノーマルキーを押すショートカットを多用すると指や腕に負担がかかっていました。

Command + Shift + Control + 4の比較

OSX デフォルトの設定では「スクリーンショットを範囲指定で保存する」ショートカットになります。これがクリップボードコピーにしたい場合、さらに Alt が加わります。

このキーを押し比べてみた写真がこちら

画像2

両方とも小指でCtrl + Shift、親指がCommand、人差し指で4キーを押す
※ 左のMacBookはCapsLockにControlを割り当て
※ 右のErgoDash Miniは人差し指がFキーの位置ですが、このとき右手でカスタマイズ済みのレイヤーキーを押していて、Fキーに4キーを割り当てたレイヤーに切り替わっています。

カスタムしてるため諸条件ありますが、見るからに左のMacBookのほうが不自然な姿勢です。これでもCapsLockとControlを入れ替えている分、押しやすくなっているのです。

MacBookは肩から腕にかけて中央に向かうような姿勢になるため、内向きに向いた状態ですが手首はキーを押しやすいよう逆角度に曲がるため、手首の負担が大きいです。一方セパレートタイプキーボードの場合、肩幅くらいの位置に置き、手がまっすぐの状態にできるため手首への負担が減ります。

自作キーボードはキーのカスタマイズ性にも富んでおり、レイヤーキーを駆使することでホームポジションに近い位置に数字キーを設定でき、無理のない姿勢を維持できます。

キースイッチ選択の失敗

自作キーボードはキースイッチやキャップが自在に自分で選べます。
このキーボードは押圧45gの静音タイプのキースイッチ(CHERY MX 金軸)を選択しました。
会社では押圧35gのキースイッチ(GATERON 白軸)のErgoDoxを使っているため、それに比べるとキーが重く感じてしまいます … ErgoDoxと同じく軽いキーを選ぶべきでした。

キースイッチの押圧を軽いものに変えて作り直すのも手なのですが、自作キーボード1つ作るにも2〜3万円くらいかかります。
半田付けしてるので、すべてのキースイッチを外して新しいスイッチを付け直すのはなかなかの作業。仕上がりも汚くなるので作り直しがベター。
その前にあまりお金をかけずにもう少し楽な方法を検討してみました。

最適化1:手首の位置

ErgoDoxを買うとリストレストが付属しています。
自宅では使用していなかったので、ここを揃えることに。

リストレストで手首の位置を上げてみます。

画像3

指自体の重さがかかりやすくなるので、力が入りやすくなりました。

最適化2:キーボードの角度

ErgoDoxには足がついているので、キーボードの角度を自由に変えることができます。ErgoDash Miniはアクリルプレートで若干前傾している程度。
人間の腕の構造上、腕を肩幅程度に開いてリラックスして机に置くと、自然と手のひらが内側に向くように回転するため会社のErgoDoxは親指側を高めに設定して使います。

ErgoDash Miniも傾斜をつけるために、3Dプリンタで台座をつくることにしました。

画像4

素晴らしきオープンソース

ErgoDash/Miniはオープンソースなハードウェア。
オープンソースということは、制作に必要な設計図、たとえばプリント基盤のガーバーデータと呼ばれる配置図やケースの設計図が公開されています。

githubにアクリル板のカットの図面もありました。(AIとEPS形式)
この形状をもとに制作します。

画像5

台の設計にはFusion360を使います。
Fusion360に図面を取り込むためにはDXFまたはSVGにしなければなりません。先にAIファイルをIllustratorで開き、DXF形式で書き出しておきます。 

まずは、本などを敷き傾斜をつけて試し打ちすることで、打ちやすいポジションを見つけ、計測して図面に起します。

前傾+左傾の3次元的な平面となるため角度を測って反映するのはやや難しいので、適当な3点の高さと距離を計測しておき、計測値をもとに『構築 > 3点を通過する平面』で基準平面を作成し、基準平面をベースとしたスケッチに図形ファイルを読み込みます。

すると以下の様に、斜めの面に図形を書くことができます。

画像6

続いて地面となるXZ平面を基準としたスケッチに底の形を描いて、『作成 > ロフト』でつなぎます。

画像7

底面はこんな感じ。

画像8

上面と同じ形だと面白くないので、曲線で構成した底にしてみました。
それに合わせて側面部も三次曲面で構成。数本のガイドパスも引いて多少変化をつけています。3Dプリントする前提なので、組み立てや抜き勾配を考えず、テキトー … 自由に形が作れます。
ただ、ネジを締める際に手持ちのドライバーが入るか心配なので、親指側の底をくり抜いて空間を作るようにしてみました。

ここまで出来れば、あとは3Dプリントするだけ。
ちなみに右手用は左右反転した形なので、『作成 > ミラー』で反転コピーしただけのモデルを用意し並べます。

画像9

2つで35時間…結構かかるみたい。
おそらくキーボードが乗る面を底にして出力したほうがサポート材も少なく早いですが、底面がガタガタすると設置感に影響ありそうなので、あえて順方向で出力します。

プリント

画像10

実は一度、フィラメント切れを起こして失敗してしまいました。
フィラメント切れ検知センサー付属の機材なので、大丈夫だろうと考えていましたが、フィラメントが切れる前、終端がうまく外れなかったようでフィラメントが引き出せないまま数ミリ描いてしまい、再開場所に積層ができてない状態になってしまいました…

こちらは成功品

画像11

一度目のミスで、手に持った感じ、思ったより軽くなりそうだったので、フィル(中の密度)を10%程度から30%に変更し、プリントしなおしました。その結果…140%速度で回していたにも関わらず、40時間かかってしまいました。

埋めて磨く

あとは3Dプリントするだけ…のつもりで、形ができれば組み立てて完成の予定でしたが、このあたりから欲がでてきます。
もっときれいな曲面にしたい。突如FDMプリンター特有の積層を埋めたくなり、パテを塗りたくります。

画像12

しかし、これは過ちでした。
使用したのはタミヤのポリエステルパテ。前に使ったときは1時間で加工できる程度に固まっていたのに対し、今回はいつまでたってもベタつきます。

ネットで硬化しない原因を探していると、硬化剤の混ぜる量もしくは古いことが原因のようです。どちらの原因も当てはまりそうです。
(パテ開封はおおよそ1年前)

結局、盛ったパテはほぼ綺麗サッパリ取り除くことになります。

画像13

それでもサンドペーパで磨いていけばそれなりに良い手触りになってきました。最初からパテを塗らず磨いても積層消えたのでは?とも思いましたが、結果オーライです。

下地塗装 & 色塗装

サーフェイサーを吹いて更に磨きます。
2度ほど吹いて磨いたものの、若干穴は残りました。
手触りが良いと思う程々の範囲でこの工程は終了します。

画像14

台座完成

画像15

手持ちで余っていた黒のラッカースプレーを吹いて、ひとまず完成です。
上面はほとんど基板で隠れてしまうので、あまり磨いたりしておらず、積層がくっきり見えます。

組み立て

組み立てといっても、付属していたアクリルプレートを外しネジで止めるだけです。

完成

公開されているレーザーカッター用図面から作成しただけあって、位置ずれも全く無くピッタリです。

気になったポイントとして、ネジ穴だけは3Dプリントとレーザーカッターでは盛るのと切る違いもあり、設計寸法より若干小さくなってしまいました。
ネジを切るように回しながら通せば、基板の取り付けには問題ないのですが、もうすこしクリアランスをとっておくべきでした。
穴の直径をもう0.5mm〜0.8mm 程度広げておくと良いと思います。


完成2

打ってみた感触も良く、打ち心地はだいぶ軽くなったように感じます。
キースイッチの重さを変えずとも、手首の位置、手の形で感触が変わることを実感しました。


おわりに

今回の記事を総括すると、キーボードを新たに作り直す代替案としての3Dプリンタ記事でした。
しかし、お気づきかもしれませんが、3Dプリンタがない場合DMM.makeなどへ発注するなどの手段となり、おそらく作り直すのに近いくらいの金額となると思います。

それでも、同じキットを買って組み立てるだけでは最適な角度にはならず、より良い環境を追求するには結局手間やお金がかかります。
手元に3Dプリンタがあれば、フィラメント代と電気代だけで作ることができるはず。だから買いましょう、3Dプリンタ。

それともネット注文も低価格化とか進んでたりするのだろうか?
見積もりとってみたい。


余談1:中華最強キーボード

中国の深センで開発されたキーボード。
磁力で固定したキーを自在に再配置できるというもの。
おもしろい!


余談2:セパレートの効能

キーボード界隈で一時期流行っていたツイートまとめ。
肩が開くことは人間工学的に良いのです。


余談3:モデルデータ公開します

需要があるか分かりませんが公開します。
せっかくnoteで書いているので、モデルのリンクは有償公開…とも思ったのですが元々MITライセンスの図形データを引用して作ったモデルで、金とるのどうなの?と思いとどまり無料公開にします。(MITはそういうのOKなライセンスなので悪くはないのですが)

モデルデータも同じくMITライセンスとします。
データは作成・加工・再配布等ライセンス明記で自由にできます。

本記事中のネジ穴が小さかった点を修正したモデルとなります。
以下のリンク先から閲覧・ファイルダウンロードすることができます。

左手用 : https://a360.co/30Cpjvm
右手用 : https://a360.co/2IhzfEo
パスワード : DwQLkimRh8
ErgoDash Mini Body model

MIT License

Copyright (c) 2019 Kazuma Kousaka

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-------

ErgoDash/LICENSE

https://github.com/omkbd/ErgoDash/blob/master/LICENSE

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