VimmerがErgoDoxを買った

## はじめに
最近ネット界隈で話題になっていた左右分離型キーボードのErgoDoxを買いました。

今まであまりキーボードにこだわりは無く大した知識は無かった状態でしたが、レイヤー切り替えなどKeymapが自由に変更できると知り、これはVimっぽい動きが出来るのでは！？と思い即購入を決意。

少しでもその経験が共有できればと思いここに記します。

---
<a data-flickr-embed="true"  href="https://www.flickr.com/photos/109775711@N02/30594074672/" title="ergodox"><img src="https://c1.staticflickr.com/6/5551/30594074672_9c30e39941.jpg" width="500" height="375" alt="ergodox"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script>

ウッドケースに一目惚れ:cupid:

自宅用途のため少し可愛くしてみました。
職場で使うのは少々気が引けるけど、女子ウケは良いかもしれない。

---
## 購入方法＆構成

先人の教えを参考に色々検討した結果、falbatechとWASD keybordで購入。

職場で使う場合は、素直に[ErgoDox EZ](https://ergodox-ez.com)の黒を購入した方が良いかと思う。
白もカッコイイなぁ

---

### [falbatech](http://falbatech.pl)

9/24注文、10/7到着

|type    |name                                                         |QTY|Price  |Total  |
|--------|-------------------------------------------------------------|--:|------:|------:|
|ケース  |ErgoDox Standard Beech Wood Case Limited!                    |1  |€75,00 |€75,00 |
|部品    |SMD DIode                                                    |1  |€15,00 |€15,00 |
|部品    |Teensy 2.0 USB Development Board                             |1  |€20,00 |€20,00 |
|基盤    |ErgoDox PCB Set - New quality                                |1  |€25,00 |€25,00 |
|ケース  |ErgoDox Acrylic laser switch plate - pvc and wood only 76-key|1  |€10,00 |€10,00 |
|スイッチ|MX Gateron - Red 76PCS (PCB Mount)                           |1  |€50,60 |€50,60 |
|組み立て|Full assembly of a keyboard - Service                        |1  |€25,00 |€25,00 |
|        |小計                                                         |   |       |€220,60|
|        |送料&手数料                                                  |   |       |€20,00 |
|        |合計                                                         |   |       |€240,60|

€240,60 EUR = ¥28,477

---

- キースイッチは赤軸。ビックカメラで押し比べた結果一番しっくりきた。
- ハンダ付けする時間は取れなさそうだったので、組み立てサービスを利用(¥3,000程度)

<a data-flickr-embed="true"  href="https://www.flickr.com/photos/109775711@N02/30963009096/in/dateposted-public/" title="IMG_4478"><img src="https://c1.staticflickr.com/6/5509/30963009096_8e2fa54832.jpg" width="500" height="375" alt="IMG_4478"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script>

事前の情報通りお菓子が付いてきた！！(まだ食べてない)

---

### [WASD keybord](http://www.wasdkeyboards.com)

9/29注文、10/6到着

|type    |name                                            |QTY|Price |Total  |
|--------|------------------------------------------------|--:|-----:|------:|
|セット  |87-key Custom Cherry MX Keycap Set              |1  |$47.00|$47.00 |
|不足キー|Row 3, Size 1x1.50 Cherry MX KeycaKp (R3 1x1.50)|10 |$2.00 |$7.50  |
|不足キー|Row 4, Size 1x2.00 Cherry MX Keycap (R4 1x2.00) |3  |$2.50 |$20.00 |
|        |小計                                            |   |      |$74.50 |
|        |送料＆手数料                                    |   |      |$28.50 |
|        |合計                                            |   |      |$103.02|

- KeyCap SetのみだとErgoDox用では足りないキーがあるので、追加で購入する必要がある。　

$103.02 USD = ¥10,765

---

<a data-flickr-embed="true"  href="https://www.flickr.com/photos/109775711@N02/25362370119/in/dateposted-public/" title="IMG_4477"><img src="https://c8.staticflickr.com/6/5773/25362370119_8c566f046f.jpg" width="500" height="375" alt="IMG_4477"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script>

---

<a data-flickr-embed="true"  href="https://www.flickr.com/photos/109775711@N02/22820283958/in/dateposted-public/" title="ergodox"><img src="https://c7.staticflickr.com/6/5340/22820283958_ecc6526bb1.jpg" width="500" height="375" alt="ergodox"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script>

- 打鍵しやすいように押す指によって微妙に角度が付いている。

---

総合計 ¥39,242

超高級キーボードになってしまった Σ(・∀・；)

---

## Keymap

### 環境など

OSは「macOS Sierra」を使用。Windowsは環境が無いのでまだ試していない。
かなりOSのショートカットキーに依存している部分があるので、VMWare FusionなどVM上で使用しない場合は、別途Windows用のファームウェアを作成する必要がありそう。

Configuratorは使用せずにgccでC言語のソースをビルドしている。

---

自分のソースは[GitHub](https://github.com/kgfnk/qmk_firmware/blob/mylayout/keyboards/ergodox/keymaps/kgfnk_osx/keymap.c)に上げておきます。

Configuratorのリンク
- <http://configure.ergodox-ez.com/keyboard_layouts/>
- <https://keyboard-configurator.massdrop.com/ext/ergodox>
- <https://input.club/configurator-ergodox/>

キーマップ画像は以下のサイトで作成
<http://www.keyboard-layout-editor.com>

---

## Layer

やっと本題、ここまでVim一切関係なし。

<i class="fa fa-keyboard-o"></i> Layer 0: Base layer 
--------

QWERTY、英字配列

![](https://raw.githubusercontent.com/kgfnk/qmk_firmware/mylayout/keyboards/ergodox/keymaps/kgfnk_osx/base.png)

---

Good \:+1: 
---------

- 左上のEscの位置でVim Nomal Modeへ変更
	- トグルは嫌いなのでデフォルトレイヤーを入れ替えて同じキーで戻らないようにしている。
- 左下の小指押しっぱなしで一時的なLayer変更
	- これでBackSpaceとDeleteを切り替えるのはかなり便利
- Vimmerとしては右親指で打てるEscキーの位置がなかなか心地良い

- 日本語入力の切り替えは、KC_LANG1、KC_LANG2で変更できる。
左Commandの空打ち：IME Off
右Commandの空打ち：IME On
**※Commandキーの長押しでModifierキーとして動作**

- 日本語の変換が左親指キー（Space(変換)、Tab(予測変換)）で行える
  - Enterで確定し、Shift＋BackSpaceで再変換するように設定。
- 日本語入力周りが左右の親指で完結するので入力のリズムがいい気がする
- PrintScreenキーで、「Command」＋「Shift」＋「4」をマップ。macのスクリーンショットの撮り方を忘れがちなので１キーで呼べるのは便利！！

---

Bad \:-1: 
---------

- Zの長押しでMouse Layerへ切り替えをするようにしているが、Zの単体入力がたまにうまく入らない。ざ行の入力の誤タイプの原因となっている(位置的にベストなのだが)
- Hyper、Mehの使い方がまだよくわかっていない
- まだ使用していないキーもあるのでもう少し改善の余地あり

<i class="fa fa-keyboard-o"></i> Layer 1: Vim Normal Mode
---------

![](https://raw.githubusercontent.com/kgfnk/qmk_firmware/mylayout/keyboards/ergodox/keymaps/kgfnk_osx/vim.png)

ErgoDox購入にあたってこれが一番やりたかった。
vim以外でvimっぽい動きをするためのモード。

---

Good \:+1: 
---------

- 基本のhjklキーによる移動。Base Layerから完全に矢印キーを取っ払ってしまった(^^ゞ
	- これさえできればほぼ満足 :100: 
- i,o,aでInsert Mode(Base Layer)へ戻る
- Yank(Copy)、Paste、Cut、Undo、RedoはOSのショートカットを呼び出し
- f,b,g,e辺りも割りと良い感じ
- 「:」キーの位置で、Command Modeの代わりに[Alfred](https://www.alfredapp.com)を起動するようにしている
- 「/」キーの位置で、Find(Command + F) 検索

---

Bad \:-1: 
--------

- とりあえず設定してみたキーマップがある。アプリケーションによって動きが違うので微妙
	- Word(Option + →) 単語移動
	- SelectWord(Option + Shift + →)　単語選択
	- Menu(Ctrl + F2)　メニューバー選択
	- Tab(Command + T) タブを開く

	BetterTouchToolでリマップすれば良いだけかもしれない。
	
- [Macro](https://github.com/jackhumbert/qmk_firmware#macro-shortcuts-send-a-whole-string-when-pressing-just-one-key)や[Leader key](https://github.com/jackhumbert/qmk_firmware#the-leader-key-a-new-kind-of-modifier)を使えばもう少し色々できそうではあるが、なかなかの時間泥棒なのでやり過ぎは良くない。
	- そこまでしてからこのエントリー書けって(゜o゜;

- Vim上でこのモードに入ってしまうとかなり混乱する

---

<i class="fa fa-keyboard-o"></i> Layer 2: Media and Mouse Layer
--------

![](https://raw.githubusercontent.com/kgfnk/qmk_firmware/mylayout/keyboards/ergodox/keymaps/kgfnk_osx/mouse.png)

---

Good \:+1: 
--------

- Mediaキー的には問題ない
- TeensyのRESETキーをここに設定。ウッドケースだと爪楊枝で簡単にリセットボタン押せた。

---

Bad \:-1: 
--------

- マウスカーソル操作は使うようであまり使っていない。たまに使うと便利なこともあるが細かい操作は難しい。
- 結局こうなるよね・・・トラックパッド便利
<a data-flickr-embed="true"  href="https://www.flickr.com/photos/109775711@N02/30076704343/in/dateposted-public/" title="ergodox"><img src="https://c8.staticflickr.com/6/5575/30076704343_c0727b5df9_n.jpg" width="320" height="240" alt="ergodox"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script>

- OSの設定によるのかもしれないが、「ACL0〜2」はアクセルというよりブレーキになっている。微調整が難しい
- BrowserBackが何故か利かない（OS依存？？）

---

<i class="fa fa-keyboard-o"></i> Layer 3: 10key and Symbol Layer
--------

![](https://raw.githubusercontent.com/kgfnk/qmk_firmware/mylayout/keyboards/ergodox/keymaps/kgfnk_osx/symbol.png)

---

Good \:+1: 
--------

- 「000」「00」はMacroで実装。地味に便利。

---

Bad \:-1: 
--------

- 記号入力が楽になるかと期待したがまだ迷走中(位置が覚えられない)

---

## 使ってみた感想

一ヶ月程度使ってみたものの、自宅で触れる時間がなかなか取れないためまだ完全には慣れていない。最初に触った時に幾度となく入力したはずのログインパスワードすらまともに入力できなかったのは驚愕した。

初めてVimに触れた時に、こんなん出来るか〜(ノ ゜Д゜)ノガターン|____|となった事を思いだした。

色々と工夫してvimrcを編集し、自分の手に馴染むようになってくるとキーボードに触れるのが楽しくなる。ErgoDoxにも全く同じことが言える。

これでブラウザやエディタ、IDEでVimモードのプラグインを探し回る地獄から解放されるか？(依存度は確実に上がっている)

結局のところ、ああしたらどうだろう、こうしたら便利かもしれない。そんな事を考えながらvimを使ってソースコードを編集しているのが楽しいだけなのかもしれない。

C#に特化したLayer作ってる人もいた。[csharp_dev](https://github.com/jackhumbert/qmk_firmware/tree/a258358b6c2df0d1347a6506831076ef6a9784b3/keyboards/ergodox/keymaps/csharp_dev)色々な人がいるなぁと思う。
もっとユーザーが増えて色々なアイデアが出て来ると面白いですね。

なかなかGeekな世界。また踏み込んではいけない所に足を踏み入れてしまった気がする。

---

## 結論

やっぱりVimが好き！！

---

## 参考にしたサイト

大変お世話になりました。先人の皆様に感謝します。

* [Ergodox買おうの会 · GitHub](https://gist.github.com/yymm/0ccbe5f129e10c72b978)
	* ほとんどここの情報が頼りでした。
* [めちゃカワなキーボード ErgoDox を手に入れた!!](https://blog.kksg.net/posts/ergodox)

	- キーキャップの配色を参考にさせて頂きました
* [Ergodox EZ を使ってみよう](http://qiita.com/kei_s/items/40a896d1a1c70f2961e0)
* [ErgoDoxのキーマップをいじる時に見るチートシート](http://qiita.com/ReSTARTR/items/970354940f49c67fb9fd)
	* このチートシートなしでは厳しかったです。
* [ErgoDox EZのキーマップを変更する](http://qiita.com/ReSTARTR/items/f84f8f3c4c51c876cb2f)
* [ErgoDoxを購入して人生がバラ色になった](http://ymotongpoo.hatenablog.com/entry/2016/03/25/203734)
* [ErgoDox users meet up](https://eventdots.jp/report/20160610_588645)