ErgoDox EZをWindows環境でぬるく使い始めてみる

セパレート型エルゴノミクスキーボード「ErgoDox EZ」を家のノートPC(Windows10環境)にてゆる~く使い始めてみたので、使用感やプチカスタマイズ方法を含め、色々書いてみる。
1.なぜ ErgoDox EZ なのか
この対談のPart2がきっかけ。
長時間のキーボード操作による肩・首・背中の疲労を少しでも軽減するには、エルゴノミクスキーボード(特にセパレート式)が良いハズだ・・・と長年漠然と思いつつ良いキーボードに巡り合えないままでいたところで上記の記事を読み、購入を決心した次第。
2.ErgoDox EZ 購入まで
ErgoDox EZ購入時の諸々は 別ページ にて。4月2日にオンラインで注文して、4月24日には受け取ることが出来ていた。
3.寄り道とErgoDox EZとの比較

ErgoDox EZの注文にて、メカニカルキーボードに興味が沸いてしまい(到着まで2カ月・・・というような情報もネット上には見られたので)到着までのつなぎ(?)にスタンダードなメカニカルキーボード「FILCO Majestouch 2(+カスタムキーキャップ)」を購入した。
メカニカルキーボードについて色々調べていくと、ゲーマーやプログラマー向けのハイエンドなメカニカルキーボードが流行っており、その大半が海外メーカーのモノであった。すなわち、日本語配列率は低く、日本語配列に拘ると「名作」を逃す可能性がある・・・。ということでメカニカルキーボード購入にあたり英語配列へ乗り換えることにした(結果的に、ErgoDox EZのキーマップは英語配列がベースなので、乗り換えて正解)。
購入したMajestouch 2(青軸+カスタムキーキャップ)とErgoDox EZを比較すると、
- やはり青軸は打鍵が楽しい!ErgoDox EZをGateronの赤軸にして少し後悔。
- 別途お金をかけただけに、Majestouch 2 のカスタムキーキャップも打鍵の楽しさに大いに貢献している。ErgoDox EZのデフォルトのキーキャップは手触りが今一つなのと、高級感が足りないかな・・・。
4.ErgoDox EZ 所感
(↓ Majestouch 2のノーマルキーキャップを取り付けてみた。「~」キーの傾きがオカシイ・・・)

- 「前肩」になり辛く、より自然な姿勢でタイピングができる。
- Gateron 赤軸は(購入したMajestouch 2 青軸と比較して)かなり静か。コトコトコト・・・という静かな感じ。
- 意外とMouseKeyが便利。セパレート式キーボードであっても、マウス操作に伴うキーボード・マウス間の移動が発生するため、それも疲労の原因になるのだが、素早い・緻密な操作でなければMouseKeyで十分事足りる。慣れるとそれなりに使いやすい。
- 通常のアルファベットキーの長押しがCtrlキーに相当したり等(たとえば、「Z」キー長押しで「Ctrl」キーになる)が結構便利で多用する。
- 親指周辺にキーが多く、親指を大いに活用できる。
- リストレストが臭い・・・リストレストが臭い!
- アルファベットキーがほぼ縦に一直線に配置されているので、通常のキーボードに比較してアルファベットの最下行が少し左にずれている感覚になかなか慣れず。
- (上記したように)キーキャップの質感が好みではない(ザラザラ)。交換しようにも、ErgoDox対応の代替のキーキャップの選択肢が(当然ながら)少ない。
5.ErgoDox EZ プチカスタマイズ

デフォルトのマウスキーが気に入って多用しているが、他にも欲しい動作(マウスホイール等)があるので、さっそくキーマップをカスタマイズしてみる。
カスタマイズ環境は、ErgoDox EZ をつなげたノートPC上にたまたま VMWare(Workstation 12 Player)で動作する Ubuntu 15.10 環境があったので、この環境を利用してキーマップの修正およびファームウェアのビルド・書き換えを行うことにした。
まずは、先に Teensy Loader のコマンドライン版をビルドしておく。
$ sudo apt-get install libusb-dev $ cd ~/; git clone https://github.com/PaulStoffregen/teensy_loader_cli $ cd teensy_loader_cli/ $ make $ ls teensy_loader_cli
次に、ErgoDox EZ のキーマップをファームウェアごとダウンロードし、keymap.c
を編集する。
$ sudo apt-get install gcc-avr avr-libc dfu-programmer $ cd ~/; git clone https://github.com/jackhumbert/qmk_firmware.git $ cd qmk_firmware/keyboard/ergodox_ez/ $ vi keymaps/default/keymap.c
Mediaキー押下時の「右手側」に、各種ホイール関連のボタン(WhUp、WhDown、WhLeft、WhRght)および「N」キーの位置にブラウザの検索欄をフォーカスさせる「Browser Search」を設定してみた(編集行は下記ハイライト部分)。
/* Keymap 2: Media and mouse keys * * ,--------------------------------------------------. ,--------------------------------------------------. * | | | | | | | | | | | | | | | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | | | | MsUp | | | | | | | | WhUp | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | |MsLeft|MsDown|MsRght| |------| |------| |WhLeft|WhDown|WhRght| | Play | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | |Brwser| | Prev | Next | | | * | | | | | | | | | |Search| | | | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | * ,------|------|------| |------+------+------. * | | | | | | |Brwser| * | | |------| |------| |Back | * | | | | | | | | * `--------------------' `--------------------' */ // MEDIA AND MOUSE [MDIA] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, // right hand KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_TRNS, KC_MPLY, KC_TRNS, KC_WSCH, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WBAK ), };
続けてビルドを実行し、ergodox_ez.hex
を生成する。
$ make $ ls ergodox_ez.hex
最初にビルドした Teensy Loader を root 権限で実行し、ergodox_ez.hex
を ErgoDox EZ へ転送する。
$ sudo ../../../teensy_loader_cli/teensy_loader_cli --mcu=atmega32u4 -w -v ergodox_ez.hex Teensy Loader, Command Line, Version 2.0 Read "ergodox_ez.hex": 18400 bytes, 57.0% usage Waiting for Teensy device... (hint: press the reset button)
なにやら「リセットボタンを押せ」と表示されるので、本体のリセットボタンを押下する(右手側本体の右上の小さな穴に細長い針金等を差し込むと、カチッという感触が得られる)。少し長めに押してから手を放すと、続けて以下のメッセージが表示される。
Found HalfKay Bootloader Read "ergodox_ez.hex": 18400 bytes, 57.0% usage Programming................................................................................................................................................ Booting $
LEDランプが順に点灯し、本体がブートしたら書き換えは完了だ。
6.おわりに

少々高価で手に入れ辛いキーボードではあるけれど、、柔軟にカスタマイズ可能なErgoDoxがもっと普及し、互換パーツを扱うお店がもっと増えてくれると嬉しいところだ。また、ErgoDox の名を持った、EZと違う色々な機種がもっと出てくると面白いなぁと思う(HHEDとかね!)。