Keyboard Layout Analyzerを使ったキー配列12種類の比較

Ergodox EZの購入にあたり[Keyboard Layout Analyzer](http://patorjk.com/keyboard-layout-analyzer/#/main)を使って色々なレイアウトのデータをとってみました｡参考になれば幸いです｡

##データ取得に使用した文字列
http://www.literatureproject.com/crime-punish/index.htm#TOC_Section_8
ドストエフスキーの罪と罰(英語版)の第3章から記号､数字､スペースを削除し小文字に変換した約132,000字の文字列

この文字列中のアルファベット使用頻度:

|Rank|Key|Presses|%||||||
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|#1|E|	15302|	11.57%||#14|M|	3444|	2.60%|
|#2|T|	11972|	9.05%||#15|W|	3027|	2.29%|
|#3|A|	11155|	8.43%||#16|C|	2768|	2.09%|
|#4|O|	10549|	7.98%||#17|G|	2628|	1.99%|
|#5|I|	9637|	7.29%||#18|F|	2327|	1.76%|
|#6|N|	9328|	7.05%||#19|P|	2086|	1.58%|
|#7|H|	8088|	6.12%||#20|B|	1703|	1.29%|
|#8|S|	7949|	6.01%||#21|V|	1663|	1.26%|
|#9|R|	7408|	5.60%||#22|K|	1399|	1.06%|
|#10|D|	5630|	4.26%||#23|X|	311|	0.24%|
|#11|L|	5523|	4.18%||#24|Z|	265|	0.20%|
|#12|U|	4345|	3.29%||#25|Q|	132|	0.10%|
|#13|Y|	3503|	2.65%||#26|J|	116|	0.09%|


下記リンク内の使用頻度とは最大で1%程度の誤差がある｡
[Letter frequency - Wikipedia](https://en.wikipedia.org/wiki/Letter_frequency)
[English Letter Frequency Counts](http://norvig.com/mayzner.html)

##おもなスコア

<dl>
  <dt>総合スコア</dt>
  <dd>指の移動距離(33%)､特定の指の使用頻度(33%)､交互打鍵率(34%)から算出される｡ 高いほど良い｡</dd>
  <br>
  <dt>Distance</dt>
  <dd>指が移動した距離｡ 単位はメートル｡ 短いほど良い｡</dd>
  <br>
  <dt>Consecutive Finger Use</dt>
  <dd>Dvorakなら 'LS' や 'UI' ､QWERTY配列なら 'FG' などの同じ指を使った連続入力の回数｡
  <br>おそらく最も重要なスコア｡ 少ないほど良い｡</dd>
  <br>
  <dt>Consecutive Hand and Thumb Use</dt>
  <dd>同じ側の手を使った連続入力の回数｡ 少ないほど交互打鍵率が高い｡ ただし親指は別のパートとして計算される｡</dd>
  <br>
  <dt>Home Row Usage</dt>
  <dd>親指のホームポジションを含むホーム行の使用率｡ 高いほど良い｡</dd>
  <br>
</dl>

###不十分な点

Keyboard Layout AnalyzerではBigramなど複数文字単位での使いやすさはスコアに含まれない。
ただしConsecutive Finger Useのスコアは目安として使えそう｡

##結果(総合スコアの低い順)

※アルファベット以外の配置は適当です

\#順位 レイアウト (生まれた年)

###\#12 QWERTY (1874)

古き良きQWERTY配列｡ 互換性が高く､タイプライターに優しい｡
プログラムによって自動生成されるランダムなレイアウト､Personalizedよりもスコアが低い｡
![qwerty.png](https://qiita-image-store.s3.amazonaws.com/0/67844/5c86db5c-83d6-ff71-cb28-bf17914d0f51.png)

||||
|:-:|--:|:--:|
|総合スコア|         41.10  | #12 (最下位)|
|Distance|        3885.3  | #12 (最下位)|
|Finger Use|        14342 | #12 (最下位)|
|Hand / Thumb Use| 65756  | #12 (最下位)|
|Home Row Usage| 33.9%  | #10 (最下位)|

---

###\#11 Minimak (2012)

4ヶ所のみ配置を変更したレイアウト｡
http://www.minimak.org/
![Minimak.png](https://qiita-image-store.s3.amazonaws.com/0/67844/5385692a-05f2-8f15-5bce-b3c5aa63ad79.png)

||||
|:-:|--:|:--:|
|総合スコア|         54.44  | #11|
|Distance|        3067.9  | #11|
|Finger Use|        10974 | #10|
|Hand / Thumb Use| 59372  | #8|
|Home Row Usage| 49.2%  | #9|

---

###\#10 Norman (2013)

指の移動距離をQWERTY配列の半分以下に抑えたレイアウト｡
移動距離以外のスコアはMinimakよりも低い結果となった｡
https://normanlayout.info/index.html
![norman.png](https://qiita-image-store.s3.amazonaws.com/0/67844/fe68289f-e07e-89a3-2db8-8a7e9633b2b5.png)

||||
|:-:|--:|:--:|
|総合スコア|         57.56  | #10|
|Distance|        1801.7  | #4|
|Finger Use|        13250 | #11|
|Hand / Thumb Use| 61586  | #11|
|Home Row Usage| 68.1%  | #4|

---

###\#9 Workman (2010)

横方向と斜め方向への移動を抑えた設計がされたレイアウト｡
[Dvorakのその先へ（その2）](http://qiita.com/miyaoka/items/4f363059e831bd003775#keyboard-workman)
https://github.com/ojbucao/Workman
![workman.png](https://qiita-image-store.s3.amazonaws.com/0/67844/b8740dc7-4bc1-210d-1f18-e7999161f292.png)

||||
|:-:|--:|:--:|
|総合スコア|         61.28  | #9|
|Distance|        1793.1  | #3|
|Finger Use|        10047 | #8|
|Hand / Thumb Use| 61162  | #10|
|Home Row Usage| 68.1%  | #4|

---

###\#8 Colemak (2006)

指の使用率のバランスが良く､同じ指を使った連続入力の頻度が低い｡
https://colemak.com/
![colemak.png](https://qiita-image-store.s3.amazonaws.com/0/67844/bb3a680b-2859-d0ba-a2ee-f7b1a65ce914.png)

||||
|:-:|--:|:--:|
|総合スコア|         61.77  | #8|
|Distance|        1841.0  | #6|
|Finger Use|        8711 | #6|
|Hand / Thumb Use| 59771  | #9|
|Home Row Usage| 73.4%  | #2|

---

###\#7 Dvorak (1936)

歴史ある交互打鍵配列｡ 小指に厳しい｡
![dvorak.png](https://qiita-image-store.s3.amazonaws.com/0/67844/8a7859df-cbb3-e93d-1a02-9dedb7bae57b.png)

||||
|:-:|--:|:--:|
|総合スコア|         62.17  | #7|
|Distance|        2012.4  | #9|
|Finger Use|        9818 | #7|
|Hand / Thumb Use| 46456  | #4|
|Home Row Usage| 71.0%  | #3|

---

###\#6 Capewell-Dvorak (2004)

使用頻度の割に押しにくい位置にある L､I の位置を変更し､ ZXCVをQWERTY配列の位置に戻したレイアウト｡
http://www.michaelcapewell.com/projects/keyboard/layout_capewell-dvorak.htm
![capewell-dvorak.png](https://qiita-image-store.s3.amazonaws.com/0/67844/fd8a735b-495d-3163-35a5-5c45b7c37020.png)

||||
|:-:|--:|:--:|
|総合スコア|         63.08  | #6|
|Distance|        1837.0  | #5|
|Finger Use|        10286 | #9|
|Hand / Thumb Use| 49068  | #5|
|Home Row Usage| 71.0%  | #3|

---

###\#5 Maltron (1977)

左手親指に突出して使用頻度の高いEを割り当てたレイアウト｡ 
指の移動距離がQWERTY配列より60%以上短い｡
http://xahlee.info/kbd/maltron_vs_dvorak_layout.html
![maltron.png](https://qiita-image-store.s3.amazonaws.com/0/67844/86ff29a3-e6c6-a9ea-4699-1ba9996e8dfa.png)

||||
|:-:|--:|:--:|
|総合スコア|         64.00  | #5|
|Distance|        1504.7  | #1|
|Finger Use|        7806 | #3|
|Hand / Thumb Use| 51353  | #7|
|Home Row Usage| 75.1%  | #1|

---

###\#4 BEAKL (2016)

Balanced Effortless Advanced Keyboard Layout
個人的にいいなと思ったのがこのレイアウト｡
｢ホームポジションの小指よりも他の指の上下移動のほうが速く快適に入力できる｣という新しい理論で考案されたKinesis向けレイアウト｡
あえて小指のホームポジションを使わないため移動距離は多いものの､Bigramの考慮された配置と交互打鍵率の高さが良いかんじ｡
このレイアウトでは､各キーは以下のKeyboard Effort Gridに基づいて配置される｡
薬指と人差し指は小指のホームポジションのキーよりも2倍以上速くなることがあるそう｡

![Keyboard_effort_grid.png](https://qiita-image-store.s3.amazonaws.com/0/67844/a6d8ed43-ac55-eb25-7784-70b7f8791c58.png)


https://deskthority.net/wiki/Keyboard_layouts#BEAKL_.282016.29

![beakl.png](https://qiita-image-store.s3.amazonaws.com/0/67844/61bd1711-4da1-35bd-fdde-16d2af6710a0.png)

||||
|:-:|--:|:--:|
|総合スコア|         66.81  | #4|
|Distance|        2186.1  | #10|
|Finger Use|        8640 | #5|
|Hand / Thumb Use| 45391  | #3|
|Home Row Usage| 57.6%  | #8|

---

###\#3 MTGAP Thumbshift

Keyboard Layout Analyzerのプリセットで見つけたレイアウト｡
MTGAPというプログラムによって生成されたものと思われる｡
親指を使わないレイアウトの中では最高のスコア｡
https://deskthority.net/wiki/Keyboard_layouts#MTGAP
![mtgap.png](https://qiita-image-store.s3.amazonaws.com/0/67844/99a1f668-7fcb-1e5b-15ca-35f3e126a3b4.png)

||||
|:-:|--:|:--:|
|総合スコア|         67.69  | #3|
|Distance|        1879.9  | #8|
|Finger Use|        7956 | #4|
|Hand / Thumb Use| 49422  | #6|
|Home Row Usage| 63.7%  | #6|

---

###\#2 Modified BEAKL (2017)

今回作成したレイアウト｡
Maltron Keyboard Layoutを参考に､右手親指に使用頻度の高いTを割り当て､子音の位置を調整してみた｡
スコアは高いが､親指を使いこなせるかが問題｡
![modified_beakl.png](https://qiita-image-store.s3.amazonaws.com/0/67844/fedec852-2568-e388-c3dc-141524f8143e.png)


||||
|:-:|--:|:--:|
|総合スコア|         72.26  | #2|
|Distance|        1875.0  | #7|
|Finger Use|        7396 | #2|
|Hand / Thumb Use| 35015  | #2|
|Home Row Usage| 63.4%  | #7|

---

###\#1 BEAKRAK (2017)

今回作成したレイアウト｡
右手側の子音位置をDvorak寄りにしたつもり｡
スコアだけで見るとQWERTY配列の2倍効率的ということになる｡
![beakrak.png](https://qiita-image-store.s3.amazonaws.com/0/67844/185c856f-8b78-d968-e505-b7bf94fba9fa.png)

||||
|:-:|--:|:--:|
|総合スコア|         72.48  | #1|
|Distance|        1786.6  | #2|
|Finger Use|        7229 | #1|
|Hand / Thumb Use| 34780  | #1|
|Home Row Usage| 65.8%  | #5|

---

##まとめ

今回作成した親指をアルファベット入力に使うレイアウトは実験的なもので､効果はまだわかりません｡
その他のレイアウトではBEAKLかMTGAP Thumbshiftが優秀という結果となりました｡


- 各指ごとの使用頻度など､より詳細なデータはこちら ※文字数が多いためロードに時間がかかる場合があります。

Colemak Norman Minimak Workman QWERTY
http://patorjk.com/keyboard-layout-analyzer/#/load/jnh603Lq

Dvorak Capewell-Dvorak BEAKL Maltron MTGAP-Thumbshift
http://patorjk.com/keyboard-layout-analyzer/#/load/nKPWJ0tf

Modified-BEAKL BEAKRAK
http://patorjk.com/keyboard-layout-analyzer/#/load/4gHPln4m

いずれも同じ文字列を使用した結果です｡
入力用の文字列を右上のMainから編集し､特定の言語での記号使用率や日本語入力に最適なキー配列を調べるといった使い方もできると思います｡
[Σ Xah Code - Computer Languages Characters Frequency](http://xahlee.info/comp/computer_language_char_distribution.html)

- スクリーンショット一覧: https://github.com/ZeptByteS/keyboard_layout_analyzer

##参考

[Letter frequency - Wikipedia](https://en.wikipedia.org/wiki/Letter_frequency)
[English Letter Frequency Counts](http://norvig.com/mayzner.html)
[Deskthority - Keyboard_layouts](https://deskthority.net/wiki/Keyboard_layouts)
[Σ Xah Code - Alternative Keyboard Layouts List](http://xahlee.info/kbd/dvorak_and_all_keyboard_layouts.html)

##2017/03/05 追記:

現在こうなってます｡

![beakrak_v1.2.png](https://qiita-image-store.s3.amazonaws.com/0/67844/47d423ba-40b1-f477-ba54-eb16e623d45e.png)


|||
|:-:|--:|
|総合スコア|         70.26  |
|Distance|        1822.1  |
|Finger Use|        6605 |
|Hand / Thumb Use| 38633  |
|Home Row Usage| 66.7%  |

<dl>
  <dt>母音の位置</dt>
  <dd>BEAKLの母音位置だと使用頻度の高いOU､IE､EAはとても入力しやすいが､使用頻度そこそこのEOを中指のみで入力しなければならない｡ AとEを入れ替えることでこれを解決｡</dd>
  <br>
  <dt>HとIの入れ替え</dt>
  <dd>小指と中指の組み合わせは入力難度がやや高い｡ HとIを入れ替えることで､H+母音の組み合わせが入力しやすくなる｡</dd>
  <br>
  <dt>小指</dt>
  <dd>小指上段はホームポジションが崩れるため､入力難度が非常に高いので使わない｡
  <br>小さくて非力な小指の場合､上下移動よりも手のひらを広げる動作のほうが楽なため､小指下段よりもホーム行外側の1.5サイズのキーのほうが入力難度は低い｡</dd>
  <br>
  <dt>その他の子音位置</dt>
  <dd>Bigramsの使用頻度上位100位までとにらめっこしながら配置を変更｡ 左手にHを割り当てたことで交互打鍵率と総合スコアは低下したが､より効率的にタイピングできるようになったはず｡</dd>
</dl>

---

##Kengo's Modified Dvorak

![kengo's_modified_dvorak.png](https://qiita-image-store.s3.amazonaws.com/0/67844/ecc0000e-c33a-00e3-1bab-d33066f114c0.png)

BEAKRAKと同じパターンで左手側の配置を変更し､Lをホーム行に移動｡ 小指が忙しいことに変わりはないが､右手側の子音位置をほとんど変更せずに同じ指での連続入力を低減｡

||Modified Dvorak|Dvorak||
|:-:|--:|--:|--:|
|総合スコア|         64.98  |62.17|+2.81|
|Distance|        2139.2  |2012.4|+126.8|
|Finger Use|        8650 |9818|-1168|
|Hand / Thumb Use| 46066  |46456|-390|
|Home Row Usage| 66.6%  |71.0|+4.4|

---

BEAKRAK v1.2 & Kengo's Modified Dvorak
http://patorjk.com/keyboard-layout-analyzer/#/load/v8RKVrph

##2019/10/13 追記:

下界に戻ってきました｡

![Screenshot from 2019-10-13 11-27-42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67844/6fa87b9b-b4f3-9832-f382-890a001c1ce0.png)



|||
|:-:|--:|
|総合スコア|         71.01  |
|Distance|        1509.5  |
|Finger Use|        7537 |
|Hand / Thumb Use| 31447  |
|Home Row Usage| 66.0%  |


  <dd>英文入力時の気持ち良さのみを追求</dd>