ケース
Ergodoxのケースは、専用のできあがっているものが何種類か入手可能ですが、自作するのであれば、
- カットした板を積層して作る
- 3Dプリンタで作る
のいずれかになります。
3Dプリンタで作る方がそれらしくて無駄の無いものができそうです。 最近は、3Dプリンタも表面かかなりなめらかで強度のあるものが作れるみたいですよ。そのうち挑戦してみたいですね。
ですが、今回は、以下のような理由でカットした板を積層する方式を選びました。
- 基板がカスタムされているので、図面をいじる必要がある。
- 3D CADをいじった経験あまり無し。
- 2D CADならそこそこ使えるはず。
- 知り合いにレーザーカットを仕事にしている人がいる。
ということで図面が必要です。
機械に読み込ませるデータは、Adobi Illustrator(ai)形式のものが必要になるとのこと。
以前レーザーカットで物を作ってもらったときに、途中から図面の加工までお願いしていたのですが、調整で手間をかけさせてしまうなどしました。
今回は、形も複雑で種類も多いので、自前でaiファイルまで作りたいと思います。
CAD
まずは、CADソフトの選択です。ラジコングライダーの自作をやっていて、自分でCADを使って図面を書いたりしていたのですが、小さなパーツなどの図面を書いて、紙に出力して、材料に貼って、手で切り出す程度のことしかしてなくて、そのときに使いやすいものを使ってました。 主にJW_CADを使ってました。
ただ、JW_CADは、Windowsじゃないと動かないとか、dxf形式がものによってはうまく読めないとか、操作性が今一肌に合わないとかいろいろ不満がありました。 なので今回、dxfがちゃんと扱えるということを基準にFreeのCADを調べてみました。
- FreeCAD
http://www.freecadweb.org/?lang=ja - DraftSight
http://www.3ds.com/ja/products-services/draftsight-cad-software/
結果としてこの2つがよさそうで、今回はDraftSightを使うことにしました。
FreeCADの方はどちらかというと3Dデータを作る作業に向いている感じで、2Dデータを作るならDraftSightのほうが直感的な感じです。
図面を引く
CADの練習をちょっとして、実際の図面を作っていきます。図面作成でキーになるのは、スイッチをはめ込む穴がたくさん開いたプレートです。ここにはめ込んだスイッチが基板にちゃんとはまらなければなりません。
基板を分けていただいた方が、JW_CADの図面を作っていただいていたのでその部分は使わせていただきました。
残りの部分については、基本的に全面書き直しました。
- レーザーカットを効率的にやるには、繋った線はポリラインにする必要がある。
- ポリラインにするためには、全ての線がちゃんとつながっていないとだめ。
ということ。
あと、元データそのものがこれまでいろいろな人がいじったものであるためか、
- 余計な線などのゴミデータがあちこちにある
というのが理由です。
慣れないCADでの作業なので、何度もはじめからやり直したり、途中で効率的なやりかたを発見したりなどしましたが、なんとか作ることができました。
- つながっているところはちゃんとつながっている。
- ポリラインにする。
- スケールの調整のために流さがわかっているキリのいい長さの線を入れておく。
aiファイル
さて、aiファイルです。基本的に、Adobe illustratorが無いと作ることができません。できたとしても互換性に心配があります。
ただ、上記のDXFができていれば調整はすぐできるはずなので、こちらで用意しなくてもよかったのですが、なんと、CS2であれば手に入るという情報があり、ちょっと試してみることにしました。
ここでは詳しく書きませんが、調べてみると黒に近いグレーということで、おすすめできる方法ではありませんでした。
ですが、たしかに使うことができて、aiファイルを作ることができました。
Illustratorでやった作業は以下のことです。
- dxfファイルを読み込む。
- 縮尺がおかしいので、入れておいた長さのわかる線、今回は3cmのものを使って縮小率を計算して全体を縮小する。
- 線を消す。
これだけ。
カット!
持ち込んでカットします。カットの様子。カットした部品です。
コスト削減のため、加工で出た端材を使ってもらったので、保護のための紙がない状態でのカットだったので、表面が曇っていたりしますが、使うのに支障はありません。
タップを立てる。
組み立てるためには、底面の板の穴に3mmのネジを切り(=タップを立て)ます。今回はここまで。
キーキャップ
キーボードを自作するとき、どんなキーキャップにするかはデザイン上・実用上大事なポイントになるわけですが、今回Ergodoxを作ってみると、最もコストのかかる部分でもあることが判明しております。へたすると、コストの5割以上になってしまいます。使ったもの
今回は、ジャンクのキーボードを入手して、そこから取ったものを使いました。ジャンクといっても、メカニカルキーボードのジャンクはなかなか手に入りませんよ。
これです。 そこそこ古いものなので、なんと2色成形のしっかりしたものです。
外したものを段ごとに仕訳して並べています。
そしてこれを、キーボードにはめていくわけですが、ここで問題が一つ。
前にも書きましたが、日頃Dvorak配列を使っています。
なので、入手したキーボードとキーの印字の並びが異なるわけです。では、思ったとおりに並び変えればいいかというとそういうわけにもいきません。 ノートパソコンのキーボードでなければ大抵のキーボードは、段ごとにキーの形が異なります。これは、打ちやすようにという配慮のためなのですが、このために、段をまたいだキーの入れ替えはできないのです。手元にあるキーキャップでDvorak配列に並べることはできないということになるのですが、実はあまり困りません。 キーボードを使うときに、キーの印字などは見ていないからです。
ということで、キーキャップは好きなように並べてみました。
- 最上段の数字と記号の列は、Dvorakでも変りないので、そのまま。
- 右手のアルファベットの部分は、レイヤー2のNumPadの並び。ただし、4と5は、5のポッチを生かすために入れ替えてある。
- 左手のアルファベットの部分は基本ばらばら。名前が入れてみたりしてます。 ZXCVBの行はそのままにしてありますが、このようなアサインにはなっていませんし、ショートカットにも使っていません。 ただのきまぐれです。
- 親指にある2uのキーは、Kinesisにあるような角度のついたものがちょうど2つあったので、それを配置しています。
Kinesisと比較
さて、組みたててみたわけですが、普段使っているKinesisと較べてみると大きなところでは2つ違いがあります。
親指クラスターが1キー分くらい遠い感じがする
親指の部分はKinesiseだと、ホームポジションに手を置いたときに、親指が一番内側のキーに乗るくらいの感じなのですが、Ergodoxだと、その内側の何もないところに親指が来る感じになります。
基本的なキーアサインをKinesisと同じにしていので、ちょっと誤爆します。
そんなとこもあって、角度の付いているキーを場所はKinesisと違って一番内側にしてあります。
親指と残りに段差がない
4本指がわが掘れていないので、Kinesisと較べて親指でキーを押しながら他のキーを押すときに、ちょっと蒸りな曲げ方になってしまう。 親指と薬指を両方上げるような曲げ方です。
だいぶ慣れてきましたが、手の甲に違和感がありました。
どちらも、もう少し使って慣れてくるとちょっと変るかもしれません。
また、今のとこキーボードは傾けずに使っていますので、調整していくと変るかもしれません。
唐突ですがErgodoxできました。
土曜日にケースのアクリルをカットして、夕方組み立てました。
この記事もそのErgodoxで書いています。
READ MORE
土曜日にケースのアクリルをカットして、夕方組み立てました。
この記事もそのErgodoxで書いています。
現状の仕上がりはこんな感じです。
キーキャップの詳しい話はそのうちするつもりですが、アルファベット部分の配列がぐちゃぐちゃなのは、僕がDvorak使いであって、しかも、とりあえず入手したキーキャップがビンテージもののCherryプロファイルでダブルショットのQWERTY配列のものだったので、QWERTYに並べるのが負けのような気がしたためです。
左手側は、プロファイルが崩れない範囲で組み変えてますが、各段の右手側は、レイヤー2に入っているNumパッドの配列をベースにしています。
感想
普段仕事場ではKINESISのAdvantageを使っているので、ほぼ同じ配列になっている
Ergodoxであればそれほど違和感無く使えるんじゃないかと思っていましたが、
そうでもなさそうです。
親指のキー群の感覚がちょっと違う
親指のキー群が感覚的に1キー分位遠い。
普通の感覚で右のエンターキーを押そうとすると、スペースが押せてしまう感じです。
慣れるのには少し時間かかかるかもしれません。
上段の2つのキーは普通のキーだと打ちにくい。
親指の上にある2つのキーは、標準の一番大きなキーでも高さが足りず、とても打ちにくいです。
写真のように、手元にあったKINESISの入れ替え用のキーにーしてみるといい感じです。
打鍵感は気持いい
Gateronの茶軸はとてもスムーズな感じで、普段使使っているCherryのものと
遜色無いと思います。 ただ、まだ、並べて比較したわけではないのです。
逆に言えば、並べて比較しないと別らなような違いしかないということでしょう。
キーマッピング
キーのマッピングは、現在KINESISで使っているものそのままを移植してある。
今後詰めていくことになると思うけれど、
- 親指のキーがちょっと遠い
- 人差し指の内側に増設されているキーを活用する
- 小指外側のキーを活用する
あたりをキーにして、最適解をみつけたいと思う
全体的には気にいった
作ってみてちょっと使ってみたレベルではかなり良いと言える。
これまで自宅用で使っていたTypematryxの替わりにしばらく使ってみます。
ディスプレイ改造
付けることにしたディスプレーは、Seeed Studioってところのものです。この会社、今回始めて知ったんですが、基板そのものとか、基板に何か実装したものとか、そういうものを請け負って作っているところのようです。
また、製品として、Arduinoの周辺機器とかも作っているのですが、その流れで、Groveという共通規格を打ち出して、それに沿ったセンサーボードとか、モータードライバーとかいろいろ出しています。
今回のディスプレーもそのGrove規格のもので、生のディスプレーとコントローラだけだと面倒な電源回りとかを処理してI2CだけつなげればOKなようにしてあるので、簡単に使うことができます。
ただ、そのGroveのコネクタは、プロトタイピングにはいいのでしょうが、組み込んで使うにはちょっと大きいなぁと思ったので、いきなり外してしまいました。
下にあるのが、付いていたコネクタ。
端子の付いていたところにコードを直付けしてホットボンドで固定しました。
ちょっとスッキリ
裏の養生は組み込むときに考えます。
届いた
Massdropで頼んだGateronの茶軸のスイッチが届きました。9/22に発送されて、9/29に自宅に到着なので、想像以上に早かったですね。
パッケージの下のほうがへこんでいますが、海外からの荷物だとこれくらいは普通ですね。
中には緩衝材があってこんなサイズの箱がいきなり入っていて、中にはぎっしりスイッチが入っています。
いきなりなので、ちょっとびっくりしましたが、これで十分ですね。
Gateronのスイッチは見るのもはじめてですが、しっかりした感じです。
10個くらい出して押しくらべてみましたが、そういうレベルでの品質のばらつきは無いようです。
本家Cherryの茶軸と較べて..と言いたいところですが、Cherryの単体のスイッチは持ってないし、キーボードに付いているものと較べられません。
ということで、使った感触は付けてから評価しましょう。
Massdropの配送
問題の無かかった配送について。
Massdropは普通のネットショッピングと違って、注文数によって価格が異なり、また、注文数が確定してから販売者/製造者に発注するという形式なので、注文してから入手できるまでに時間がかかります。
今回は 8/12 に注文してます。
そのあと募集の締切があって、以降は週一ペースで状況のレポートがメールで届きます。
最終的に発送されたというメールに、トラッキングの情報があったので、アクセスしてみると、発送はDHLのglobal mailでした。
調べてみると、global mailは日本国内をヤマト運輸が配送する場合と、日本郵便で配送される場合があるようですが、今回は、日本郵便経由でした。
トラッキング情報はそこそこ詳しくて、僕の場合最終的にこんな感じでした。
アメリカのNJから、一旦DHLの本拠地ドイツに渡って、ドイツ郵便から、日本に渡ったことがわかります。
日本国内の方は、郵便かヤマトか不明でしたが、川崎に到着してしばらくしてから検索してみるとヒットしました。
検索したのは、検索したのは通常の郵便追跡のサイトです。
検索する番号は、DHLのトラッキング情報にある「Delivery by Postal provider」の番号を使います。 「RX」で始まって「DE」で終わるIDでした。
キースイッチ
キーボードというのは、キーを押してその押したキーに対応する情報を本体に送る装置で、キーは1つ1つがスイッチになっています。最近の一般的なキーボードは、スイッチが一体成形されたものになっていることが多いのですが、自作の場合は1つのキーに1つのスイッチを使うのが一般的です。そこに使われているスイッチは、昔は日本のメーカも出していましたが、今では、スタンダードなチェリーブランドのものか、それのコピー品を使うのが一般的です。 このあたりのことは、書ききれないほどの情報がありますので、興味のある方は検索してみてください。さて、Ergodoxのキースイッチは左右で80個ぐらい必要で、日本で買うと1こ80円くらい。まあ、予備もいくらかあればいいなぁと思っていたのですが、ちょうどいいタイミングで、MassdropでGateronのスイッチが出ました。軸が選べて120個で25ドル。送料は9.25ドルまあ、だいたい3600円程度でスイッチが手に入りました。
Massdropというのは、共同購入サイトで、商品に特定の数の買い手が付くと安く買えるという仕組み。
Gateronというのは、チェリーのコピースイッチを作っている中国のメーカーで、品質の評価はそこそこ良い。
茶軸
チェリーのスイッチには押した感触の違いによっていくつか種類があります。
職場で使っているKinesisのAdvantageは、チェリーの茶軸と呼ばれるスイッチを使っています。このスイッチは、Advantageに使うために開発されたという説があるようなスイッチで、軽めの感触で、ONの場所が感触でわかるような仕様になっています。
チェリーのコピー品を作っているメーカーもだいたい同じようなラインナップを揃えていて、Gateronにもほぼ同じ性質を持つ茶軸のスイッチがあって、今回はこれを頼みました。
手に入りましたと書きましたが、まだ届いていなくて、9/22にUSのNJから発送されたようです。
着くのにまだしばらくかかりそうです。

メインの石
ハード寄りで石って言えば、普通(昔?)は裸のICを指しましたが、時代は変ったんですよ。今では小型のマイコンボードが昔の石の代わりをしています。Arduino の Mini とか Micro、ダ・ヴィンチ32Uとか、こういうマイコンボードはハードウェアのアーキテクチャも公開されていて、豊富なサンプルも手に入る。
さらに、マイコンと言えばちょっと前まで専用のライター(Writer)が無いと中のプログラムを書き換えられないし、石によってライターが違ったりで、なかなか手が出しにくいものだったけれど、これらのマイコンボードは、USBのインターフェースを持ってる上に、内蔵メモリが大きくなったのもあってか、ブートローダを内蔵していて、パソコンとUSBてつないでライター無しで直接ファームを書き込むことができるようになっている。
時代は変った。
Ergodoxの基板には、コントローラとして、Teensy2.0(https://www.pjrc.com/teensy/)っていうマイコンボードを使うようになっています。(このPJRCっていう会社?もすごいんだけど、まあいずれ)
Teensy2.0 には AtmelのAVRマイコンAtmega32U4が載ってます。この石、Arduinoとかにも使われているくらいポピュラーな石なので、いろいろなファームウェアが手に入るのですが、そのなかには、キーボード用のもありまして、好きなのを選ぶことができます。
さらに、その中の、いくつかのキーボード用のファームウェアは、Ergodoxにも対応していて、標準の設定で満足できるのであれば、そのまま使うこともできます。
気に入らなければ、自分で書くこともできますよ。
時代は変った。
サブの石 (I/Oエキスパンダー)
マイコンはだいたい足(端子)に掛っている電圧で外の状態を知るわけです。対してキーボードは、いずれにしても沢山のスイッチを並べて、On/Offで入力する装置で、だいたい100個くらいのスイッチが並んでいます。 マトリクスを使うなどの工夫をしても1つの石だけでチェックできるスイッチの数には限りがあるので、足を追加する石を使うことが多いです。I/Oエキスパンダーってやつです。Ergodoxでは、MCP23018というI/Oエキスパンダーを使います。Teensyとの間は、I2C接続なので、4本の線をつなぐだけで住むので、Ergodoxではこれを利用して左右を分離しています。
右の基板には頭脳であるTeensy、左の基板にはI/Oエキスパンダーを載せ、その間を4本の線(物理的には1本に見えますが)でつないでます。
ディスプレイ
Ergodoxにはディスプレイなど付いていない。でも、基板をいただいた方から、「ディスプレイに情報を表示されるようにすると、デバッグに役立つよ」との情報をいただき、なにそれかっこいいってことで僕も付けることにしたのでした。
付けたのは、紹介してもらった、Seeedが出している有機ELのディスプレイです。
このディスプレイもI/Oエキスパンダと同じI2Cのインターフェースを持っているので、線を引き出すところさえ見つければ特に改造などしなくても付けられるはずです。
つなげてみる
ブレッドボードに並べて、接続してみました。PCに開発環境を調えて、サンプルとかいろいろ書き込んで、とりあえず、目的のファームでの基本的な動作は確認できました。今はいろいろいじくっています。
画面に何を表示するかとか、マクロとかの機能追加をどうしようとか、いろいろ考え中です。
光っているのは、CapsLockとかを表示するLEDです。が、多分他の用途に使うことになるでしょう。



















