Planck ソフトウェアシリーズ(キーマッピング1)

Posted by TAKAIY On 2017年7月1日土曜日 0 コメント
突然ですが、Planckの話です。

そろそろ届くんで、キーマップ考えてます。
作っているのは、キーボードのマッピングの画像をいろいろ作れるサイト。
http://www.keyboard-layout-editor.com/
物理的な配列も作れるし、ほとんどすべてのキーボードのデータが作れそうなすごいサイト

配列の中身の方はちょっと迷走ぎみ。 足りないキーとかある。
どうしよう。


どんなキーが足りないんだかすらよくわからん。

(7/5 : ちょっと変更)
だいたい入ったかな?


Planckの話は届いてからね。


READ MORE

Ergodox ハードウェアシリーズ (ケーブル1)

Posted by TAKAIY On 2017年6月25日日曜日 0 コメント
久し振りの投稿です。
ちょっと、余裕ができたってのと、Massdropで注文したPlanckがそろそろ届くってことで、ひさしぶりに投稿してみることにしました。

さて、本題です。

Ergodoxには、ケーブルが2本必要です。 1本は、脱着式になっているUSBケーブルと、右と左をつなぐ3.5mmの4極ジャックです。

先日この2本を自作したって話です。


キーボードケーブル?

キーボードの自作ってやっぱり海外の方が進んでいるわけですけど、Massdropによくキーボード接続用のオシャレなUSBケーブルが出ています。

https://www.massdrop.com/buy/keycap-themed-braided-nylon-usb-cable

Webで「custom usb cable」で検索すると、これまたいろいろなカスタムなケーブルの画像がヒットします。
なかなかいい。欲しい。

https://geekhack.org/index.php?topic=44924.0

探せばいろいろなところで売ってますので、そんなのを買ってもいいんですが、日本で売っているところは見あたらないので、海外通販あるあるな、送料の方が高いじゃないか問題に直面してしまうのでなかなか手が出ない。さらに、売っているのを見ても、仕上げが熱収縮チューブになっていたり、手作り感満載のものがほとんどなので、そろまでしてってなってしまう。
ということで、自作へ進むわけです。 調べると自作する方法もちらほら出ていたりするし。

パラコード?

ポイントは、先の写真に写っている、カラフルなコードです。
そもそもこんなカラフルな電線ケーブルなど売ってたりはしません。

そこで登場するのがパラコード。 いや、偉そうに言ってますが、僕も今回調べていて初めて知ったんですけどね。 もともとはパラシュート用の紐(コード)だから、パラシュートコードでパラコード。命をぶらさげるものなので、丈夫にできているんですが、パイプの中にナイロンのコードが沢山通っているという構造をしています。強度の部分はこの中身が持っているので本来の機能はそっちにあるのでしょうが、パイプになっているところがポイント。 そして、いろいろなアクセサリの材料になったりすることで、いろいろな柄のものが作られるようになっているようです。

そして、USBのケーブルを作っている人がこの、パイプの部分に目を付けたってことです。

自作するには材料集め

材料集めです。

コネクター部分(USB)

これが一番見つからなかった。秋月とかに売ってない。
いろいろ探し回って、やっとみつけたのがここ。


試験販売・少量入荷とあるので、いつまで入手可能かわかりませんが。

コネクター部分(3.5mmジャック)

Ergodoxの左右をつなぐケーブルは、TRRSという4極の3.5mmケー ルです。 普通のパーツ屋にあるんですが、黒いプラスチックのださい感じのやつ。 

せっかく自作するんだからもうちょっと見た目のよいものをってことで探していると、オヤイデさんにあるではないですか。


使ったのは上の方です。下のがかっこいいんですが、高すぎ。

ケーブル

USBケーブル用には、3.5mmのジャックを買ったときに一緒に4芯のシールド線を購入。 作っていて思ったのですが、シールド部分をアースにすればいいので、3芯シールドでもよかった。 
3.5mm用のケーブルは、4芯シールドだと太すぎるのですが、手元にあった4芯のリッツ線がちょうどよかった。 昔ヘンドフォンを修理するために買ったのだと思うのですが、入手先は忘れてしまった。

熱収縮チューブ

コネクターを手に入れてからそれを持って、入るものということで、10mm径のスミチューブを入手。

パラコード

ネットでいろいろな柄のものが手に入るし、1mから選べたりするするので好きな色柄のやつを入手しましょう。
僕は、ヤフオクで端切れの詰め合わせを売っていたのでそれを入手。 なかなかよい柄が入っていたのでラッキーでした。


作りかた

こんなのを見ていただければいいのです。

ポイントは、パラコードをケーブルと同じ長さに切断して、中身のナイロンコードを全部出してしまい、そのチューブにケーブルを差し込んで使うってことです。

コネクターとケーブルを接続するための情報はこれがわかりやすいかも。

あたりまえですが、ちゃんと半田付けできていなければ使いものになりませんし、ショートしたり結線を間違えれば、最悪接続した機器=PCを壊すことになります。
テスターなどを使って入念にしあがりを確認してから使ってください。

できあがり

肝心の作りかたのところが無いじゃないかという感じですが、できあがりです。
なかなかいいでしょ?












READ MORE

Clojureで3D-CAD

Posted by TAKAIY On 2016年12月24日土曜日 1 コメント
これって、 2016 clojure advent calender の記事です。

CAD

Computer Aided Design ということは、コンピューターを使ってデザインをするためのツールですが、基本的には「製図」をするためのツールです。学生時代に製図をしたことが無いとなんのことかわからないかもしれませんが、機械や建造物などの設計図を書くことを製図といいます。

もともと紙とペン・定規・コンパスなどの道具で点や線を書くので、手書きのころは立体物でも2次元の図面だけ作っていました。僕も実は機械工学科だったので、「図学」とか言ってちゃんとした製図の方法を習ったりしたものです。

コンピュータを使うようになると、自由度が広がってこれまでできなかったようなことができるようになりました。
- 3DCGで立体を描画できるので物をイメージしやすくなった
- 曲線を直接扱えるようになって、自由な形が作れるようになった。
などです。 最近の3Dモデラーなども目的は同じではありますが、数値から離れて直感的に物を扱えるようになっています。

自由度を広げるという方向にはまた別のアプローチとして、例えば二次関数や表されるグラフのように数式で表される線や、特定のアルゴリズムによって定義される点や線の集まりで図を作るという方向性に行ったものもあります。
パラメータを含んだ式を使って図面を表すことで、複雑な形でも簡潔に表すことができる可能性があったり、また、そのパラメータを変更するだけで、大きさや比率の違うものが簡単に作れたりするわけです。

OpenSCAD

OpenSCADは、ものの形状を式で表しやすい形状の集まりとして扱うことに特化したCADの一つです。


ようするに、部品があって、それに対する操作があって、列挙したり、繰り返しや条件分岐などで制御したりなどして、目的のものを作っていくわけです。 そして、変数が使えることによって、各属性をパラメータにする(パラメタライズ)ことができるので、カスタマイズが楽にできるということになります。

ClojureでSCAD

LispでCADといえばAutoCADですね。使ったこと無いのですが、製図の図面に現れるオブジェクトとそれに対する操作を簡潔に表現する方法として、Lispが優れているということの証なのだろうと思ってるのですが、SCADの記述は残念ながらLispではありません。
SCADの言語というか表現方法は、ちょっと独特で、そこそこ長いプログラミング経験がある僕としても始めて見る感じの書き方で、かといって使いやすかったり、読みやすかったりするわけでもなさそうです。
そんなわけで、しばらく前に目にしてはいたものの、手は出していませんでした。

最近、久し振りに図面を引くことになり、フリーのCADの状況を調べていたときに再発見しました。 記述方法そのものも以前のより進化しているようですが、なんと、ClojureでDSLを作った人がいるようなのです
ということで、ちょっと調べてみることにしました。

scad-clj

scad-cljに出会ったのがこのサイトです。
http://adereth.github.io/blog/2014/04/09/3d-printing-with-clojure/

筆者がこんなこと書いてます。うん、そのとおりですね。
そして、そんな場合にこそDSLを作ることに意義があるのでしょう。
- Strange function application syntax (parameters in parens after the function name with an expression or block following the closing paren)

奇妙な関数の書式
関数名の後のカッコ内のパラメータに付いている記述やブロックの書式
- Unclear variable binding rules (multiple passes are made over the code and the results of changing a variable may affect things earlier in the code unexpectedly)
不明確な変数の束縛ルール
ソースコード上に変数の経路を複数作ることができ、また、変数の値の変更が予期せず変更以前の場所にも波及したりする。
- No package/namespace management
ネームスペースが無い
- Multiple looping constructs that depend on what you are going to do with the results, not on how you want to loop
いくつかあるループ構文は、どのようにループさせたいかではなく、結果をどのように使うかによって選ばなくてはならない

うんうん。 よさそうですよ。
scad-cljを使ってとりあえず何か作ってみましょう。

scadのセットアップ

本家のGithubはここです。
https://github.com/farrellm/scad-clj

なんともシンプルですね。docディレクトリがあって、中に「intro.md」なるファイルがあるので期待して空けてみると。
TODO: write great documentation
うーん残念。ドキュメントが無いようですから、使うには自力でソースなどを見てみるしかなさそうです。

ともあれ、leiningenでプロジェクトを作成してscad-cljを関連づけます。

:dependencies の ベクターに [scad-clj "0.5.2"] を追加して、lein deps を実施します。
関連パッケージを含めていくつかのパッケージがローカルに転送され、準備OKです。

さて、どこかにあるはずのサンプルを探します。ネットを探しまわるのもありですが、まずは、ソースからです。
testディレクトリがあるのでまずはそこ。テストが書いてあれば、それぞれの関数がどのような入力に対してどのような出力をするのかよくわかるはずです。

が、これも空でした。残念。

となればソースを見るしかなさそうです。
geometry.clj には、 line と lines という関数があります。その通り、線を引く関数のようです。
text.clj には、文字列を生成する text-partsという関数が定義されています。
model.clj には、$f や $fa など、scadで特殊な意味のある変数や、import や use などの指示子、あとは、square や sphere などの基本的な2Dと3Dのパーツが定義されています。
そして、scad.cljには、write-expr というメソッドが定義されていて、たぶん、これが、レンダラーですね。

と、ここまで見てきても、全くイメージが掴めません。

まあ、結局最初のサイトですね。scad-clj を知るきっかけになったサイト

やってみよう


とりあえず、書いてあることをやってみましょう。



立方体(cube)と球(sphere)と円柱(cylinder)を合成(union)したものがprimitiveとしてできあがるはずなんですが、これ、どうしたらいいんでしょう?
write-scad という関数でこのprimitiveを出力できる形にできるようなので、REPLを起動して実行してみます。 ファイル名はとりあえず、 test01.scad とでもしておきます。 できたファイルをscadで開いてみます。



表示されましたねー。

さらにこのscad、開いているファイルが変更されると自動的に読み込むようになっているので、primitiveを変えて関数を呼ぶだけで、scadの中の図形が自動で変更されます。

 ということで、scadの画面を開きながら、REPLでいろいろ試行錯誤しながらあれこれ形を作ることができるということのようです。

なかなか面白そうですよ。



こんな風に、Clojureの制御構文も使うことができます。






ということで、これでちょっと変った物をと思ったのですが、面白そうなものを思いつかず、時間も無くなってしまったので、将来の自分への宿題ということで・・・



READ MORE

Ergodox 総合 (Ergodoxを作ろう)

Posted by TAKAIY On 2016年12月9日金曜日 0 コメント

この投稿は  ErgoDox Advent Calendar 2016 の 7日目の記事です。

Ergodox作りました



最近のErgodoxの話題というと、Ergodox EZを入手したよとか、Falbatecでそろえたというような記事が多いのですが、もともとErgodoxはオープンハードなプロダクトなので、基板やケースを作って、部品を集めて、自分で組み立ててというのが本来の取り組み方なのではないかと思うのです。

なんてことを言ってハードルを上げていた僕は、Ergodoxを手に入れることなど無いだろうと思っていたのですが、ひょんなことから基板や部品を分けていただくことができたので手に入れることができたのですが、何しろ全部自分で揃えようとしたらどんなことが必要なの? 日本で揃うの? ってあたりを記事にしてみます。

Ergodoxの情報

先ずは本家の情報を入手しないとですよね。
しばらく前は、ergodox.org にサイトがあったのですが、潰れてしまっておりました。
最近以下の場所で復活しています。

https://www.ergodox.io/

ここから入手できるのは。
  • 部品一覧
  • ファームウェアの情報
  • ケースの情報
などです。

部品一覧を見ながら入手方法を考えてみましょう。


基板1組(1x Pair of pcbs (one for each hand))


左右対象のセパレート型のキーボードであるErgodoxですが、その基板は、表裏を使って左右を作り分けるようになっています。 要するに、同じのを2枚用意すればよいのです。
手に入れる方法はいくつかあって、

  • 自作はハードルが高いので買う
    日本のサイトで見たことはありませんが、海外のサイトにはErgodoxの基板を打っているところがあります。
    Falbatech ここはフルセット揃うのであたりまえですが、基板だけでも入手可能ですね。
    MechanicalKeyboards.com メカニカルキーボード関連の情報/物を扱っているサイトです。
    ・ その他 プリント基板は英語で PCB(printed circuit board) と言うので、「ergodox pcb」などのキーワードで検索すると他にもいくつか出てきます。 安いところだとセットで1000円くらい?リスクと計りに掛けて選択ください。
  • だれかが作ったものを入手
    僕のはこれでしたけど、まあ、そんな目に遭うことはなかなか無いかもですね。
    そもそも日本でメカニカルキーボードの話ができるのって、2chぐらいしか知らない。 あとは、ツイッター?
  • 自分で作る
    最近は、データを用意すれば比較的少ない枚数でも基板を作ってくれるサービスを利用することができるので、そういうサービスを利用して自分で作ることもできます。
    そして、自分で作るのであれば改造することもできますね。実際、僕が入手した基板は改造されていて、小指側の1.5xキーが 1xキー2つになっています。
自分で作るのであれば、データとツールが要りますね。

Ergodoxのオリジナルの基板のデータはergodox.orgから行けますが、githubにあります。
https://github.com/bishboria/ErgoDox

このデータは、フリーソフトのKiCadという基板のデータを作るためのCADで作られています。
http://kicad.jp/?page_id=2

データとそれを操作するソフトが手に入るのですから、さあ、どんどん改造しましょう。

改造したら、あとは発注です。たとえばこんなところ
https://www.seeedstudio.com/fusion_pcb.html
http://www.pcbgogo.jp/

さて、これで好きなようにキーの物理配置をいじることができますね!

Teensy 2.0 マイコンボード 1つ(1x Teensy USB Board, Version 2.0)


キーボードのコントローラには、Atmega32U4が載ったTeensy 2.0というマイコンボードが使われています。写真の白いUSBケーブルがささっているやつです。
https://www.pjrc.com/teensy/

Atmega32U4というチップはUSBのインターフェースを供えていて、また、Teensy 2.0は専用のブートローダが書き込まれていて、専用の書き込みソフトを使ってUSB経由で中身を書き換えられるようになっています。特別な装置が無くても書き換えができるので、手軽に開発ができます。



ただ、このTeensy 2.0というボードは日本で取り扱っているところが無くちょっと入手が難しいところが難点です。

基板を改造して、他のAtmega32U4ボードを使うようにしてしまうってのはありだと思いますね。ちょっと調べただけでいくつかみつかります。

Da Vinci
 Arduinoファームが載ったものと、Atmeg32U4オリジナルのブートローダが載ったものがあります。
 全ピン出ていて値段も安く、入手性もいいのですが、オリジナルよりかなり大きいです。

ATmega32U4搭載マイコンボード
 サイズは小さめですが、全ピンは出ていないかも。

Pro Micro
 海外のものですが、前のボードのスイッチサイエンスなど日本の業者が扱っていてそこから入手できます。

 Arduino Micro
 お高いですが、安心感はありますよね。
 サイズは大きいです。

DaVinciを使うように基板を改変してみるのもいいかもと、今思った。


IOエキスパンダー MCP23018-E/SP 1つ(1x MCP23018-E/SP I/O expander)

左右分離という形状はErgodoxの大きな特徴の一つです。
この実現方法として、左右それぞれを独立したキーボードとしてしまうという手があって、たとえばInfinity Ergodoxなどはその方式を取っています(いるはず)。

オリジナルのErgodoxは、右手側にTeensyを載せてマスターとして左手側には簡単なICの載ったスレーブとするという構成になっています。
左手側に載っているのは、IOエキスパンダーというICで、TeensyとはI2C接続なので、たった2本の信号線で16本入出力をコントロールできます。

このあたりの電子部品は、日本でも老舗のお店があったりして、最近なら通販もやっていてそこにあれば入手は比較的容易です。

昔から電気・電子工作とか好きだったので、秋葉原のパーツやさんは知っていて、実店舗でお世話になっているのは、秋月電子さんとかマルツさんとか千石さんとかですね。 通販もやってます。

海外の図面を使う場合、同等パーツだとフットプリントが違ってだめなので同じパーツが必要になりますが、下のところも探すとあったりします。
https://www.digikey.jp/
http://jp.rs-online.com/web/

最悪海外で発注ですけど、100円のパーツの送料が2000円とか笑えないとこになったりします。

チェリー MXスイッチ 76〜80個(76-80x Cherry MX switches, (depending on your layout))

しばらくく前まで、ほぼ唯一のキーボード用メカニカルスイッチのメーカだったのがチェリー(現ZFエレクトロニクス)ですが、特許が切れていくつかの中国のメーカーが互換のスイッチを製造しています。

Gateron, Kailh, Outemu, Greentech あたりが有名です。
チェリーのものがそうだったように、押下に必要な力が違っていたりクリック感があったりなど、いろいろな仕様のものがあり、また、最近はメーカによる違いなどもあり、選択肢はかなり広くなっています。

僕は、Gateronという中国のメーカーの茶軸と呼ばれるスイッチを入手しました。

入手先ですが、日本だとここでしょうか
https://www.jw-shop.com/

海外だと、ちょっと検索するだけでいくつかみつかりますね
https://mechanicalkeyboards.com/
https://1upkeyboards.com/

僕が入手したのはMassdrop
http://www.massdrop.com

マスドロップって何?って人は検索してみてください。 共同購入サイトみたいなものです。

WM17115 USB ミニB コネクタ (1x USB mini B connector WM17115)

基盤用のUSB ミニB用のコネクタ。 WM17115というのは、Digikeyの型番で、たぶん、モレックスの54819-0519と同じもの。 これなら日本でもみつかる。

3.5mm 4極(TRRS)プラグソケット (2x 3.5 mm TRRS sockets, CP-43514. FC68129 will also work if its extra pins are snipped off)

あまりみかけない、4極の3.5mmソケットです。 右と左は4線で接続するI2C通信でつなぐのですが、これを接続するためのものです。

Digikeyにしかないみたい

以下のパーツは秋月とかマルツとかで入手可能

Teensy用 ヘッダーピン (24x Teensy header pins, male (unless pre-installed))
1N4148 もしくは DO-35ダイオード 76〜80個 (76-80x 1N4148 diodes, SOD-123 package (Surface mount) or DO-35,(0.3” pitch) (through hole))
2.2KΩ 抵抗 2つ (2x 2.2k Ω resistors (red, red, red))
3mm T1 LED 3つ (3x 3mm T1 LEDs)
220Ω 抵抗 3つ (3x 220 Ω resistors, or match to LED. (red, red, brown))
0.1µF セラミックコンデンサ (1x 0.1 µF ceramic capacitor (marked “104” for 10*104 picofarad). Not strictly necessary but suggested)
USBミニBプラグ (1x USB mini B plug with short cable (such as H2955))
 分解して中身だけ使うのでなんでもOKですかね。
USBケーブル オスA-オスミニB (1x USB cable male A to male mini B)
 キーボードとPCの接続用
3.5mm 4極(TRRS)プラグ (1x Cable with two 3.5 mm TRRS plugs)


でも、4極のソケットがDigikeyにしか無いので、全部Digikeyで揃えるってことになるかも。


ケース (1x Ergodox Keyboard case)

ケースは自作をするのでなければ、日本で入手するのは難しいですね。


ケースの図面も2種類入手可能で、1つは、3Dプリンタで出力するもの。かなりすっきりした外観のケースが作れます。 もう1つは、アクリルなどの板をカットして積み上げて作るものです。
僕のは基板が改造されていることもあり、自分で図面を加工してアクリル板で作りました。



加工については、図面さえ用意できれば、加工を頼むことができる所をみつけるのはそれほど難しくありません。また、最近は、DMM.MAKEなどの加工機械や場所を提供してくれるサービースが利用できたりして、レーザーカットや3Dプリンタの出力を自分でやることもできるようになっています。
いずれにしても、かなりコストかかりますけどね。

僕は知り合いにレーザー加工している人がいるので頼んで作ってもらいました。

板をカットしてつくる方法で、MDF材などを使えば手で加工することもできなくはないし、とても安くできますね。

キーキャップ (76-80x MX Keycaps)

意外なことに、多分、この、キーキャップを入手するのが一番大変で、場合によってはコストの半分以上がこのキーキャップのため、というようなことにもなります。
まあ、直接指が触る部分でもあり、一番目に付くわけですから、こだわるのも悪くないでしょう。

日本で入手できるキーキャップとしては、ダイヤテックのやつがあります。

ところが、これを入手しても、Ergodoxの一部のキーは合うものが含まれていません。
特に、

  • 両小指のところのちょっと大きいやつ
  • 人差し指のところのちょっと大きいやつ
  • 親指のところの 大きいやつ

がそうなります。

これを単体で入手するとなると、もう、日本ではだめで、

Pimp My Keyboard の DSA PBT/ABS のErgodoxモディファイアーセット

か、

WASDキーボードでバラのキーを必要数だけ入手する

のいずれかになるでしょう。
となれば、もう、全部そこで揃えたほうがいいですね。


自分はというと、ジャンクなメカニカルキーボードを倉庫からみつけてきて、そこから外したキーキャップを使っています。基板が改造されているおかげで、小指のところのキーが標準サイズなので、致命的に足りないキーというのは人差し指のところの2つだけです。

あ、僕はDvorak配列使いなので、配列はもうめちゃくちゃです。






とまあ、こんな感じで、部品を集めたり作ったりするのもなかなか大変なわけですが、そういう苦労もまあ、楽しみの一つなわけです。

おまけ Massdrop

Massdropというのは、海外の共同購入サイトです。
とあるものについて、xx人集ればxx円で入手できますよー、みたいなことをやっていて、参加者を募るわけです。Ergodox EZやInfinity Ergodoxもここに何度もDropされています。

また、キースイッチや、キーキャップもしばしばDropされています。

12/7現在でもこんなキーキャップがDropされています。
https://www.massdrop.com/buy/max-keyboard-keycap-set

過去にあったやつについては、投票が行なわれていて、どんなのがあったのか見てみることができます。
https://www.massdrop.com/vote/Ergodox-Keycaps

再登場するかどうかはわかりませんが、興味があればWatchしておくといいですね。

Cherryのスイッチもあります。
https://www.massdrop.com/vote/Cherry-MX-Keyswitches-110-Pack-Plate-Mount

僕のキースイッチはここで入手しました。
https://www.massdrop.com/buy/gateron-switches



READ MORE

Ergodox ソフトウェアシリーズ (ディスプレー1)

Posted by TAKAIY On 2016年11月20日日曜日 0 コメント

キーボードにディスプレー

Ergodox、というかキーボードにはたいていディスプレーなど付いていません。
ですが、今回のErgodoxの基板はオリジナルからちょっと変更されていて、ファームウェアに修正が必要になっています。バグが発生することもあるだろうし、原因の切り分けなんんかをするために内部の状態をわかるようにディスプレーを付けおくと役に立つでだろうと、基板を譲っていただいた方からアドバイスを貰っていました。



取り付けたディスプレーですが、前にも書きましたが、Seeed Studioというところが出しているものです。

https://www.seeedstudio.com/Grove---OLED-Display-0.96%26quot%3B-p-781.html#


手頃なサイズで表示も64x128で十分な広さで、接続方式はI2Cです。Ergodoxは分離した左右の通信にI2Cを使っていますので、追加の仕組み不要で場所に余裕のありそうな左側にディスプレーを付けることができます。

ディスプレーの動き

今のところ、ディスプレーには

  • どのモディファイアキー(シフトなど)が押されているか
  • CapsLock, NumLockの状態
  • USBで送信されるキーコード
  • キーボードの状態の変化
  • レイヤーの状態

が表示されるようになっています。






モディファイアやCapsLockの状態は一番下の行の四角いマークで表示しています。
左から、NumLock, CapsLock, Ctrl, Shift, Alt の順にならんでいます。動画では見にくいのですが、一応、種別ごとのマークになっています。

下から2行目はキーコードの列で、キーが押されたところだけキーコードが入るようになっています。
USBのメッセージに入る、6つのキーのデータが表示されています。動画の音と変化を見ていただけるとわかると思いますが、現在のファームはロールオーバしていなくて、7キー目は無視されてしまいます。

下から3行目はレイヤーの状態表示で、一番左が現在のレイヤーになっていて、下のレイヤーが右に続いています。
最初の表示はキーボードの状態が変化するごとに月が満ち欠けするようになっています。


上半分は、ロゴマークです。




このディスプレーにいろいろ表示させる方法を研究しているときに大きめの画像を表示させたりしたのですが、そのときにちょっと作ってみたのがこのロゴで、なかなかよかったので、そのまま使うことにしたものです。

キーボードはパソコンにつないだままにしておくことが多いので、スクリーンセーバのつもりで、だいたい4分くらいするとスクロールして、そのまま10分くらい使わないでいると、消灯するようになっています。



READ MORE

Ergodox ハードウェアシリーズ (ケース 1)

Posted by TAKAIY On 2016年11月3日木曜日 0 コメント

ケース

Ergodoxのケースは、専用のできあがっているものが何種類か入手可能です



が、自作するのであれば、

  • カットした板を積層して作る
  • 3Dプリンタで作る


のいずれかになります。

3Dプリンタで作る方がそれらしくて無駄の無いものができそうです。 最近は、3Dプリンタも表面かかなりなめらかで強度のあるものが作れるみたいですよ。そのうち挑戦してみたいですね。

ですが、今回は、以下のような理由でカットした板を積層する方式を選びました。

  • 基板がカスタムされているので、図面をいじる必要がある。
  • 3D CADをいじった経験あまり無し。
  • 2D CADならそこそこ使えるはず。
  • 知り合いにレーザーカットを仕事にしている人がいる。



ということで図面が必要です。
機械に読み込ませるデータは、Adobi Illustrator(ai)形式のものが必要になるとのこと。
以前レーザーカットで物を作ってもらったときに、途中から図面の加工までお願いしていたのですが、調整で手間をかけさせてしまうなどしました。
今回は、形も複雑で種類も多いので、自前でaiファイルまで作りたいと思います。

CAD

まずは、CADソフトの選択です。
ラジコングライダーの自作をやっていて、自分でCADを使って図面を書いたりしていたのですが、小さなパーツなどの図面を書いて、紙に出力して、材料に貼って、手で切り出す程度のことしかしてなくて、そのときに使いやすいものを使ってました。 主にJW_CADを使ってました。
ただ、JW_CADは、Windowsじゃないと動かないとか、dxf形式がものによってはうまく読めないとか、操作性が今一肌に合わないとかいろいろ不満がありました。 なので今回、dxfがちゃんと扱えるということを基準にFreeのCADを調べてみました。


結果としてこの2つがよさそうで、今回はDraftSightを使うことにしました。

FreeCADの方はどちらかというと3Dデータを作る作業に向いている感じで、2Dデータを作るならDraftSightのほうが直感的な感じです。

図面を引く

CADの練習をちょっとして、実際の図面を作っていきます。

図面作成でキーになるのは、スイッチをはめ込む穴がたくさん開いたプレートです。ここにはめ込んだスイッチが基板にちゃんとはまらなければなりません。
基板を分けていただいた方が、JW_CADの図面を作っていただいていたのでその部分は使わせていただきました。
残りの部分については、基本的に全面書き直しました。
- レーザーカットを効率的にやるには、繋った線はポリラインにする必要がある。
- ポリラインにするためには、全ての線がちゃんとつながっていないとだめ。
ということ。
あと、元データそのものがこれまでいろいろな人がいじったものであるためか、
- 余計な線などのゴミデータがあちこちにある
というのが理由です。

慣れないCADでの作業なので、何度もはじめからやり直したり、途中で効率的なやりかたを発見したりなどしましたが、なんとか作ることができました。



  • つながっているところはちゃんとつながっている。
  • ポリラインにする。
  • スケールの調整のために流さがわかっているキリのいい長さの線を入れておく。

aiファイル

さて、aiファイルです。
基本的に、Adobe illustratorが無いと作ることができません。できたとしても互換性に心配があります。
ただ、上記のDXFができていれば調整はすぐできるはずなので、こちらで用意しなくてもよかったのですが、なんと、CS2であれば手に入るという情報があり、ちょっと試してみることにしました。

ここでは詳しく書きませんが、調べてみると黒に近いグレーということで、おすすめできる方法ではありませんでした。
ですが、たしかに使うことができて、aiファイルを作ることができました。

Illustratorでやった作業は以下のことです。


  • dxfファイルを読み込む。
  • 縮尺がおかしいので、入れておいた長さのわかる線、今回は3cmのものを使って縮小率を計算して全体を縮小する。
  • 線を消す。

これだけ。

カット!

持ち込んでカットします。カットの様子。



カットした部品です。



コスト削減のため、加工で出た端材を使ってもらったので、保護のための紙がない状態でのカットだったので、表面が曇っていたりしますが、使うのに支障はありません。

タップを立てる。

組み立てるためには、底面の板の穴に3mmのネジを切り(=タップを立て)ます。



今回はここまで。

READ MORE

Ergodox ハードウェアシリーズ (キーキャップ 1)

Posted by TAKAIY On 2016年10月30日日曜日 0 コメント

キーキャップ

キーボードを自作するとき、どんなキーキャップにするかはデザイン上・実用上大事なポイントになるわけですが、今回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と較べて親指でキーを押しながら他のキーを押すときに、ちょっと蒸りな曲げ方になってしまう。 親指と薬指を両方上げるような曲げ方です。
だいぶ慣れてきましたが、手の甲に違和感がありました。


どちらも、もう少し使って慣れてくるとちょっと変るかもしれません。
また、今のとこキーボードは傾けずに使っていますので、調整していくと変るかもしれません。


READ MORE