ErgoDox EZ カスタマイズ情報のまとめ

先日買った ErgoDox EZ が届いたのでカスタマイズ中。GW に発注して一週間くらいで届いたので、かなり流通体制が整ってきている様子。

ergodox-ez.com

いぢりがいがあるのは良いのだけれど、正直なところ「素人お断り」感がすごいですね*1。というわけで、調べたことをまとめていこうかと。随時更新予定。

※記事中でリンクしているドキュメント類はかなり頻繁に場所が変わっているので、リンク切れの場合は頑張って探してください…。

ファームウェアのカスタマイズ

追記 (11/27): EZ 公式の GUI 設定ツールが登場しています。日本語キーの割り当てとかは部分的にしかサポートしてないっぽいですが…。

ErgoDox のキーマップを変更するには、本体ファームウェアの更新が必要。ファームウェアをカスタマイズするには、Massdrop の Ergodox Configurator を使うか qmk_firmware を自分でカスタマイズしてビルドする。Ergodox Configurator だと日本語キーやマクロなどが使えないので、その場合はファームウェアのビルドが必須になる。

ビルド手順はプラットフォームごとに整備されているので、詳細はドキュメントを参照してほしい。手順自体は、依存ライブラリをインストールしたら keyboards/ergodox/ に行って make するだけなので、そこまで難しくないはず…。

キーマップの定数の意味

keymap.c に出てくる KC_XXXX という定数は、様々なキーコードに対応している。キーをカスタマイズする際は、これを所望のキーコードに書き換えてやる。

qiita.com

公式のドキュメントは以下にある:

ファームウェアのインストール

Teensy を使ったファームウェアの書き換え手順。リセットスイッチを押すのに細長いものが必要なので、手元にゼムクリップを用意しておくとよい。

qiita.com

Hyper キーと Meh キー

デフォルトレイアウトにある Hyper キーMeh キーってなんやねん、と思って調べてみた。これは、通常の方法では入力できない修飾キー (Alt + Ctrl + Shift + Cmd) を組み合わせることで、起動中のアプリケーションと被らない、どのタイミングでも使用できるホットキーを設定できる、というものなんだそうだ(追加でキーボードショートカットを設定するユーティリティアプリが必要)。例えば、エディタを操作してる最中に Hyper + S で Slack アプリを呼び出す、みたいなことができる。Meh キーは Cmd キーを削った Windows 向けのバージョン(Windows に Cmd キーはないから)。

元々、OS X で疑似的に Hyper キーを実現するというテクニックがあって、それをキーボード自体に組み込んだものらしい:

JIS(日本語)レイアウト固有のキーについて

ErgoDox の初期設定は US レイアウトを前提にしているので、JIS レイアウトで使うには、例えば「半角/全角」キーは自分で割り当てる必要がある。

JIS レイアウトでの定数とキーの対応関係は、下記の記事にまとまっている:

qiita.com

仕様とかの解説は以下:

OS X で日本語関連のキーが動作しない問題があるようだ(正確には、OS X で動くように修正すると逆に WindowsUbuntu で動かなくなる)。解決してメインラインにマージされたっぽい(255signed-1 だったぜとか書いてあってマジかってなった)。

github.com

ファームウェアの CI 環境

自宅以外の環境でも調整できるようにしたかったので、id:ymotongpoo さんのブログ記事を参考にして CI 環境を構築した。qmk_firmware のビルド手順は頻繁に変わっていていちいち対応するのも大変なので、普通はここまでする必要はないと思う。

wercker status

QMK の公式レポジトリに追随したかったので、直接 fork して develop ブランチを切った。

github.com

僕が使っているファームウェアは以下からダウンロードできる(キーマップ):

Download firmware

f:id:okapies:20161225160928p:plain:w800

やっていることは、依存ライブラリをインストールした Docker コンテナで make しているだけ。最新バージョンに対応した wercker.ymlGitHub に置いてあるので、もし自分で CI 環境を組む際はどうぞ(wercker 側で $TARGET_KEYMAP 環境変数の設定が必要)。Docker Image を自分で用意する場合はこの Dockerfile を使ってください。

キーキャップ

ErgoDox EZ は Cherry MX キースイッチなので、Cherry 用のキーキャップを流用できる。ただし、ErgoDox は親指キーや周辺キーのサイズが通常のキーボードと異なるので、この部位に対応する特殊なキーキャップの入手が課題になる。必然的に特注品になってしまうので高価なことが多い。

ErgoDox 用キーキャップ

前述の通り、ErgoDox のキーキャップをカスタマイズする場合は、特殊なサイズのキーキャップを揃える必要がある。必要数は以下の通り(参考1参考2):

  • 1x: 60 個(普通のキーと同じサイズ)
  • 1.5x: 12 個(Tab キー程度のサイズ。両脇に配置)
  • 2x: 4 個(シフトキー程度のサイズ。親指部分に配置)

また、段差付き(=各段で形状が異なる)の sculptured のキーキャップの場合は、各段 (row) ごとに個数を合わせる必要がある。以下は一例(参考):

  • 16 - Row 1 - 1u
  • 14 - Row 2 - 1u
  • 10 - Row 3 - 1u
  • 20 - Row 4 - 1u
  • 2 - Row 1 - 1.5u
  • 2 - Row 2 - 1.5u
  • 6 - Row 3 - 1.5u
  • 2 - Row 4 - 1.5u
  • 4 - Row 2 - 2u

段数の数え方はキーキャップのメーカーによって異なるので注意してほしい。

プロファイル

市場に出回っているキーキャップには様々な形状があり、形状ごとに「○○プロファイル (profile)」という名前で呼ばれている。プロファイルの詳細については、Reddit の WikiGeekhack のスレッドなどが詳しい。代表的なものには以下がある:

  • Cherry profile
  • OEM profile
  • SP (Signature Plastics) 製
    • DSA profile
    • DCS profile
    • SA profile

ErgoDox EZ 公式で買えるのは、文字なしで段ごとに形状の異なる (sculptured) の DCS プロファイルと、文字入りで上面が真っ平な代わりにキャップ同士の入れ替えが可能な DSA プロファイルの二つ。

11月頃?からキーキャップの単品売りもしてくれるようになったが、かなりいいお値段 ($90) なので本体とセットで買った方が良い(これでも相場的には安い方だったり…)。

JIS 配列の文字刻印が入っているキャップは、現状では下記の FILCO が販売している製品しか入手できない。

当然、ErgoDox 用の 1.5x や 2x のキャップは含まれていないので EZ 付属のキャップと組み合わせる必要がある。しかし、これは OEM プロファイルというかなり背丈が高いプロファイルで DSA プロファイルとは組み合わせにくい(DCS もおそらく同様)。そこを我慢して使うならアリか。

材質

ABS 樹脂製と PBT 樹脂製の二種類がある。基本的には PBT の方が高級で、耐久性が高く摩耗によるテカリが出にくいが、加工しにくいという難点がある。そのため、特にデザイン性の高いキーキャップには ABS 製が多く、PBT 製は刻印のない無地のキーキャップに多い。

また、キートップに印刷されている刻印が摩耗で消えてしまう問題があるが、"double-shot" と呼ばれる二色成形のキーキャップなら回避できる。

入手方法

国内ではほぼ入手できないので、海外からの輸入が基本になる。

キーキャップメーカーの詳細は下記の記事が詳しい:

tocet.hatenablog.com

キーキャップをバラ売りで欲しい場合は、Pimpmykeyboard.comWASD Keyboards などのオンラインショップから購入できる*2。色や形をカスタマイズしたい場合は利用することになるだろう。その他の取り扱い店の情報はこちら

自作キーボード界隈では、Massdrop に代表される共同購入 (group buy) サイトで不定期に募集される特注品のキーキャップを購入することも一般的に行われている。普通は通常のキーボード用ばかりだが、稀にオプションで ErgoDox 用セットが提供される場合がある。いずれの募集 (drop) も一週間程度で募集が締め切りになるので、定期的にチェックしておくとよい。2chキーキャップ総合スレでは Massdrop 以外の共同購入の情報も共有されている(物によっては品質が怪しい場合もあるようなので注意)。

WASD Keyboards では、キーキャップに好きな文字をプリントできるオプションを提供している(1個あたり7ドル)。お金があるなら JIS 配列を刻印したものを作ってもらう手も…?

ケーブル

この項については ErgoDox users meet up で発表した。

speakerdeck.com

仕様

ErgoDox は、マシン本体との接続に使う Mini USB の他に、セパレートしたキーボード同士を接続するための 直径 3.5mm の TRRS ケーブルが必要。これは、国内では「4極ステレオミニプラグ」と呼ばれてオーディオ用で流通しているものと同じもの。

2極や3極との見分け方は、コネクタ部分が3本の線4つに分かれているかを調べる。

市販品

ErgoDox EZ に付属してくる TRRS ケーブルは長めで無骨な感じのものであり、できればもっといい感じのものに買い替えたい。が、4極のオス/オスでケーブル長が短めのもの、という製品は数が限られる。

現状では、ダイヤテックが販売している Matias Ergo Pro 用のケーブルを流用するのがおすすめ。巻き取り式なので長さの調節が容易なのが良い。

あと、こういうのもあるが、買ってみたところかなり短いので広げて配置したい人には厳しそう。

オーダーメイド

ErgoDox 向きの素敵な TRRS ケーブルが不足しているのは海の向こうでも事情は同じらしく、自作しちゃう人もいるようだ。

そんな需要に応えてなのか、ケーブルをオーダーメイドで作ってくれるサービスがあり、色とか長さとかを自由に選べる。日本への配送もやってくれるっぽいが、送料込みで四~五千円くらいするのが難点。

CPU 切替器(KVM スイッチ)

今までサンワサプライ製の CPU 切替器を使っていたんだけど、どうやら ErgoDox とキーボードエミュレーション機能の相性が悪いらしく、差しても Windows で認識されない。*3

以下、手に入る範囲でいくつか試したので紹介する(6/10 現在)。現在は ATEN の製品を使っていて、マウスキーが使えない以外は切り替え時のラグもなく満足している。

メーカー 製品名 Linux (Ubuntu) Windows マウスキー 備考
サンワサプライ SW-KVM2LU ◯(即時) × ディスコン。後継機は SW-KVM2LUN
バッファロー BSKMRA201 ◯(ラグ小) △(ラグ大) -
RATOC REX-430UDA ◯(ラグ小) △(ラグ大) -
ATEN CS692 ◯(即時) ◯(即時) × -

ATEN は国内メーカーに OEM 供給しており、中身は ATEN 製というものがけっこうある。ATEN 自身のブランドで販売されているものは、ファームウェアの更新に対応している点がメリット。サンワサプライ製品も ATEN OEM が多いので、最近の製品でファームウェアが最新になっているなら使えるかもしれない。

*1:プログラマでも、現状では、普段からソースコードを読んだり仕様を調べたりする習慣がない人には厳しい感じがする。デフォルトの設定でそのまま使っても良いんだろうけど、それなら Kinesis とか買えばいいわけだし。

*2:Pimpmykeyboard は、EZ にキーキャップを供給している Signature Plastics が運営する EC サイト。

*3:Ubuntu 12.04 では動いたので、Windows の仕様と関係がありそう。