概要
キーボードレイアウトに関して、qwertyは効率が悪いとされる。効率化を図ったColemakでも良かったのだが、ローマ字による日本語入力と英文入力を考慮したオリジナルレイアウトを考えてみた。名前はFMIX。
詳細は後述するが、個人の志向が反映されたレイアウトになっている。なお、ツールはWindowsで使えるものについて説明する、
より効率的なキーボードレイアウトの要素
- 文章を打ち込んだときに指の移動距離が短い(指によって縦横の動きの負荷は異なる)
- 特定の指を使いすぎない(指によって負荷は異なる)
- 同じ指で連続打鍵しない
- 片手の連続打鍵がアルペジオ打鍵(指がロールする、例えば隣り合う指が連続する)になる
- qwertyからの移行がしやすい(キーに入れ替え数が少ない)→qwertyを併用しなければいけないときにも有利(比較的簡単にqwertyに戻れる)
- できる限り編集に使うzxcvキーの位置がqwertyと同じ
- 日本人にとっては、ローマ字による日本語入力と英文入力の双方の効率がよい(ただし双方の両立には限界がある)
これらを全て満足することは難しいので、優先度とバランスが重要になる。なお、効率がよいとは単純に速く打鍵できるということではない。打鍵の速さは慣れの部分が大きい。もちろん、qwertyよりも効率のよいキーボードで十分に慣れれば高速打鍵はできるが、それには時間がかかる。むしろ、効率がよいことで、疲労感の軽減や打鍵の爽快感を実感できるようになる。
FMIX
FMIXは、qwertyからの移行のしやすさを優先しつつ、他の要素も考慮してレイアウトを考案
レイアウトイメージ
FMIX - 英字入力に利用
※スコア計測はUSキーボートとして計測
FMIX(IMEOn) - ローマ字による日本語入力に利用
※スコア計測はUSキーボートとして計測
特徴
- 後述のスコアが英文、日本語ともに高い
- 日本語入力時、つまり、IMEOnのときにレイアウトを切り替え。このとき3キーの入れ替えるローマ字による日本語入力レイアウトも定義(IME状態の検出によるレイアウト切り替えはAutohotKey(Windowsのみ対応)で実現可能→日英双方の入力効率化が可能
- qwertyからのキーの入れ替え数は14と少なくqwertyからの移行が容易(Colemakの入れ替え数は17)
- zxcv,./がqwertyと同じ
- ローマ字、英字ともに、よく使うキーを中段(qwertyレイアウトにおけるasdfghjkl;の段)および、中指上段(qwertyレイアウトにおけるeとiの位置)に配置している
- 6キーを担当する人差し指は、ホームポジション以外、比較的、頻度の低い文字を割り当てることで人差し指の使用頻度を低減
- 小指の縦移動を抑制
AutohotKey(Windowsのみ対応)
以下に公開予定(developブランチにはα版がある)
https://github.com/luftfararen/ahk
center_shift.ahk
F13+rでFMIXレイアウトを利用可能に設定可能。
なお、特定のWindowでIME状態の検出に失敗することがある。
キーボートレイアウトアナライザ
指の移動量などを計算してキーボートレイアウトの効率をスコア化できる。有名なのは以下あたりだろうか。
https://stevep99.github.io/keyboard-layout-analyzer/
https://klanext.keyboard-design.com/
なお、キーボートレイアウトアナライザのスコアの微小な違いは気にしすぎても仕方がない。入力テキストの文字の頻度で変動し、指の負荷も科学的に計測されたものではないからである。また、個人ごとに指の長さや器用さが異なるので一概には決められない。
とはいえ、スコアの大きな差があると効率の違いは実感できる。
そこで、今回は自分の好みを反映するために、以下のキーボートアナライザを使った。
https://nsuspray.github.io/keyboard-layout-analyzer/#/main
このキーボートアナライザは、指の移動量に対するスコアの配分をチューニングできる。
今回は、デフォルトに対し、自分の特性として以下を考慮してパラメータをチューニング。
スコア
有名なレイアウトも含めてスコアを計測。スコアが高いほど打鍵の効率がよいレイアウトといえる。
レイアウト | 英文 | ローマ字 | ローマ字 (k→c) |
---|---|---|---|
qwerty | 21.12 | 20.17 | 21.10 |
MKGAP | 53.23 | 53.16 | 52.36 |
Colemak | 54.45 | 61.10 | 64.03 |
FMIX | 54.33 | 63.68 | 64.28 |
FMIX(IMEOn) | 48.03 | 66.16 | 62.11 |
CUYZ | 50.82 | 66.17 | 55.78 |
大西 | 45.82 | 68.64 | - |
Astarte | 49.40 | 63.65 | - |
ワカサギ | 53.40 | 68.48 | - |
データ
英文データは以下からダウンロードさせてもらった
https://note.com/yinouet1001/n/ne973d48e5f59
ローマ字データは以下からダウンロードさせてもらった
https://note.com/illlilllililill/n/nc099239c5565
ローマ字(k→c) データは上記ローマ字データのkをcに一括置換した
解説と考察
キー配列の効率を比較すると、zxcvキープに限定すれば、日本語のローマ字入力では「大西レイアウト」が優れたスコアを示す。一方、英文入力では「FMIX」と「Colemak」がほぼ同等の評価となる。zxcvキープの限定を外せば、ワカサギが優秀。ワカサギは覚えにくいが・・・。
FMIXとColemakの比較
英入力のスコア
Colemakが優勢だが僅差。このレベルのスコア差は、分析対象の文章や評価ツールの設定次第で容易に逆転しうる。
ローマ字入力のスコア
FMIXが優勢。しかし、「か行」を「c」で入力する設定をColemakに適用すると、その差は縮まる。
普及度と移行のしやすさ
スコアに大差がないことを踏まえると、OSやHWにプリセットが用意され、より広く普及している「Colemak」が総合的に、qwerty代替の有力な選択肢と言える。対して「FMIX」は、標準的なqwertyからキーの入れ替えが少ないという特徴がある。
IME連動のレイアウト切り替え
日本語入力(IME ON)と英字入力(IME OFF)の状態を検出し、自動的にレイアウトを切り替えることで、それぞれの言語入力に最適化された「いいとこ取り」を実現できる。ただし、IMEの状態に応じてレイアウトを切り替える手法は、多少の慣れを要するため、煩わしいと感じるかもしれまない。また、ハードウェアだけでは実現できないデメリットもある。
ローマ字テーブル最適化
FMIXはyが打ちにくい、つまり、や行がうちにくい。そこでや行をxa,xu,xoで打てるようにローマ字テーブルを書き換えるとよい。google日本語入力はローマ字テーブルを書き換えが可能。また、AZIKのコンセプトを使い、拗音(「きゃ」「しょ」など)のローマ字テーブルをカスタマイズすれば、スコアには直接反映できない入力効率を向上させることができる。また、IME連動のレイアウト切り替えが使えない場合は、か行」を「c」で入力することで、ある程度効率を維持できることはすでに示した。これらの詳細は、ローマ字テーブルの改変の項、参照。
日英両立について
英字とローマ字で頻度が異なる。とくに英字ではkの頻度が低いのに対し、ローマ字のか行の頻度は多いので、日英が両立する最適なkの位置が一意にきまらない。結局、IME連動によるレイアウト切り替え(全体的なレイアウト変更やかな入力を含む)か、ローマ字テーブルの書き換えをしないかぎり、日英両立には妥協が必要になる。
設計について
14キーの入れ替えについて
qwertyのdfjkl;に、使用頻度の高いキーrtneioを割りあてようとすると、13キーの入れ替えが必要でueioの位置は以下のように割り当てるのが効率的。
u p
eio
このときpは固定できるのだが、poという打鍵の頻度は高く、右小指で連打しにくいので、結局pの位置を変更する必要があり、ある程度の効率を求めると最低14キーの入れ替えが必要であった。
設計制約
FMIXは、14キー変更の縛り、IME ON時に3キーのみの変更で効率を維持する制約で設計している。ueioを先に決め14キー縛りを課すと変更可能なキーは*のキーになる。
qw***y*u**
as**gh*eio
zxcvb*m,./
今後のカスタマイズ
14キー変更縛りを外して変更可能キーを増やしたり、3キーのみの変更の制約を外したりすれば、さらにスコアを伸ばす余地がある。また、ローマ字テーブルを最適化を同時に行ったり、記号入力をカスタマイズしたりすることで、さらなる改善が見込める。
さいごに
最適なキー配列は、各個人の指の特性やレイアウトに求める要素の優先度によって異なる。あくまで、自分としては現在のFMIXがよいと考え使っている。総合的にはColemak+ローマ字最適化でも十分かもしれない。それでも最適なレイアウトを追求したい読者の対し、参考にしてほしいと思いこの記事を書いた。
付録
ローマ字テーブルの改変
や行←をxa,xu,xo
きゃ、しゃ、・・・←kj,sj,…
きゅ、しゅ、・・・←kf,sf,…
きょ、しょ、・・・←kp,sp,…
ぴょ←ppp
※◯ょう、◯ゅうなどは頻度が多い。FMIXは、fupという並びなので、FMIXではアルペジオ(連指)が使える。
か行←ca,ci,cu,ce,co
きゃ、しゃ、・・・←cj,cj,…
きゅ、しゅ、・・・←cf,cf,…
きょ、しょ、・・・←cp,cp,…
レイアウト(文字列版)
qwertyレイアウト
qwertyuiop
asdfghjkl;
zxcvbnm,./
FMIXレイアウト
qwldkyfup;
asrtghneio
zxcvbjm,./
FMIX(IMEon)レイアウト
qwrdlyfup;
asktghneio
zxcvbjm,./