初版: 2001-09-18
更新: 2005-05-05
いくつかの日本語キーボード配列を比較してみた。 ただし, いわゆる漢字直接入力方式 (「T-Code」など) は対象とせず, かなを入力するためのキーボード配列のみに限った。
キーボード配列のいろいろについては, かなを入力するためのキーボードレイアウト各種 というページに書いたので, そちらを参照。 (ただし, 本ページより先に書いたので, 一部の記述に重複がある)
富士通の OASYS サイトに 「キーボードを科学する。」 という文章があるが, この比較記事は親指シフトに有利になるように意図的に例文を選んであり, 参考とするに足りない。 このテストでは, 以下の2つのテキストを使用した。 仮名の出現頻度は「文字・順位・頻度・百分比・累積」の順に並んでいる。
ほかにカタカナ語の多い現代の文章も試した方がいいかもしれない。
よく配列の説明には「何百万字のテキストで試験して」うんぬんと書いてあるのに比べると字数が 3桁くらい不足しているが, 単字頻度については 1000字もあればだいたいの傾向はわかると思うし, だれでも簡単に追試験できるデータの方がいいだろう。
上記のテキストを Perl のスクリプト(注: すべて Shift JIS) で打鍵の列に変換した。 なお, スクリプトは以下の文字だけに対応している。
あいうえおぁぃぅぇぉかきくけこがぎぐげごさしすせそざじずぜぞたちつてと だぢづでどはひふへほばびぶべぼぱぴぷぺぽまみむめもやゆよゃゅょらりるれ ろわをんっヴー、。・「」
QWERTY ローマ字入力などでは単独の濁点(゛゜)に対応していないことに注意。
注
そのあと, eval.pl (評価用スクリプト) を使って打鍵の傾向を調べた。 このスクリプトはスペースバーの打鍵を勘定していないため, 空白を入力する以外の目的でスペースバーを押す入力方式 (例: タッチ16)には多少有利になる。
下のテスト結果は上記のスクリプトを呼び出す test.pl と test2.pl を使って生成した。 (JPerl を使う場合は, こちらを使用すること: test.pl, test2.pl)
日本国憲法前文では下のようになった。
| 方式 | 打鍵数 | 左 | 右 | シフト | 左人 | 左中 | 左薬 | 左小 | 右人 | 右中 | 右薬 | 右小 | 最下 | 2段め | 3段め | 最上 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ローマ字 | 1475 | 530 | 945 | 0 | 164 | 111 | 125 | 130 | 409 | 316 | 215 | 5 | 228 | 444 | 803 | 0 |
| AZIK | 1232 | 512 | 720 | 0 | 185 | 74 | 145 | 108 | 245 | 268 | 155 | 52 | 173 | 486 | 573 | 0 |
| SKY | 1329 | 680 | 649 | 0 | 267 | 175 | 125 | 113 | 231 | 206 | 115 | 97 | 119 | 909 | 301 | 0 |
| タッチ16 | 1784 | 868 | 916 | 0 | 375 | 279 | 139 | 75 | 467 | 293 | 156 | 0 | 0 | 1063 | 721 | 0 |
| チョイ | 1823 | 835 | 988 | 0 | 219 | 377 | 223 | 16 | 345 | 294 | 224 | 125 | 132 | 1169 | 522 | 0 |
| カナタイプ | 922 | 486 | 436 | 115 | 208 | 151 | 86 | 41 | 142 | 75 | 74 | 145 | 219 | 254 | 314 | 135 |
| JIS X 6002 | 922 | 414 | 508 | 105 | 179 | 128 | 65 | 42 | 135 | 109 | 83 | 181 | 187 | 243 | 326 | 166 |
| JIS X 6004 | 922 | 424 | 498 | 123 | 137 | 123 | 110 | 54 | 200 | 144 | 101 | 53 | 213 | 425 | 284 | 0 |
| ナラコード | 865 | 271 | 594 | 110 | 97 | 44 | 46 | 84 | 200 | 139 | 87 | 168 | 239 | 252 | 196 | 178 |
| TRON | 867 | 374 | 493 | 202 (55) | 121 | 131 | 84 | 38 | 194 | 123 | 89 | 87 | 179 | 387 | 301 | 0 |
| NICOLA | 863 | 395 | 468 | 312 (59) | 143 | 76 | 99 | 77 | 147 | 114 | 101 | 106 | 89 | 475 | 299 | 0 |
| 中指NICOLA | 1212 | 585 | 627 | 0 | 165 | 244 | 99 | 77 | 158 | 203 | 101 | 165 | 92 | 822 | 298 | 0 |
| 花 | 1123 | 541 | 582 | 0 | 199 | 143 | 154 | 45 | 207 | 212 | 132 | 31 | 325 | 452 | 346 | 0 |
| 方式 | 打鍵数 | 交互打鍵(率) | 左左 | 右右 | 同指異鍵 | 同手跳躍 | 左手縦連 |
|---|---|---|---|---|---|---|---|
| ローマ字 | 1475 | 662 (44.9%) | 199 | 613 | 96 | 220 | 0 |
| AZIK | 1232 | 554 (45.0%) | 235 | 442 | 74 | 144 | 0 |
| SKY | 1329 | 1217 (91.6%) | 71 | 40 | 13 | 5 | 0 |
| タッチ16 | 1784 | 1648 (92.4%) | 43 | 92 | 9 | 0 | 0 |
| チョイ | 1823 | 1638 (89.9%) | 16 | 168 | 0 | 0 | 0 |
| カナタイプ | 922 | 508 (55.2%) | 232 | 181 | 106 | 156 | 38 |
| JIS X 6002 | 922 | 486 (52.8%) | 171 | 264 | 104 | 145 | 24 |
| JIS X 6004 | 922 | 609 (66.1%) | 119 | 193 | 46 | 27 | 1 |
| ナラコード | 865 | 373 (43.2%) | 84 | 407 | 138 | 190 | 8 |
| TRON | 867 | 515 (59.5%) | 116 | 235 | 66 | 44 | 1 |
| NICOLA | 863 | 517 (60.0%) | 136 | 209 | 50 | 26 | 1 |
| 中指NICOLA | 1212 | 828 (68.4%) | 170 | 213 | 64 | 17 | 1 |
| 花 | 1123 | 813 (72.5%) | 134 | 175 | 75 | 56 | 3 |
ここで「交互打鍵」は左手の次に右手(またはその逆)のように左右交互に打鍵することを指す。 また「同指異鍵」は同じ指で違う位置を連続して打鍵すること, 「同手跳躍」は同じ手で下段から上段というように 2段以上とびこえたキーを連続して打鍵すること, 「左手縦連」とは cr, xe, zw のように, 連続して打鍵しようとすると左手の 2本の指が垂直に並ぶ場合を指す。 同指異鍵・同手跳躍・左手縦連はいずれも打ちづらいと思われる同手打鍵だが, これに対して(QWERTY でいうと) kj・df のように, より打ちやすい同手打鍵もある。 ただどのキーがどの程度打ちやすいかがはっきりしないため, ここでは数えなかかった。
各キー位置の使用率詳細は 表 を参照。 (この表は, evalmap.pl と, それを呼びだす testmap.pl を使って作成した。 JPerl では こちら を使用すること)
QWERTY ローマ字入力では,
JIS X 6002 カナ入力にくらべて打鍵数が 1.6 倍になった。
漢語の多い文章を入力する場合, 使用頻度の高いキーが右手に偏っているため,
右手の負担がかなり大きくなることがわかる。
また, 母音が a を除いて 3段目に集中しているため, 3段目の打鍵数が多く,
しかも 1/2段めと 3段めのキーが交代に出てくる傾向が強いので,
指が激しく上下にいったりきたりすることになるのも問題だ。
(2指の連続の「右右」の多さはそれを物語る)
DVORAK に変えれば左手または右手が連続する場合や 3段目の多用は減るが,
非常によく使う k が母音と同じ左側にあるため,
かたより自体はあまりかわらない。
AZIK の DVORAK 版などは k のかわりに c
を使うことでこの問題に対処しようとしているようだ。
AZIK は, 右手へのかたより問題にはかなり効果を発揮している。 左手の打鍵数そのものはふつうのローマ字入力とそれほど変らないが, 右手の打鍵数がかなり減っているのがわかる。 ただ, 実際に使ってみると, いつもほとんど使わない p のキーを押すことが多く, 通常のローマ字入力に慣れていると小指が疲れる。
SKY は AZIK よりも少し打鍵数が多いが, QWERTY よりは明かに少なく, かつ 2段めの使用率と交互打鍵率が圧倒的に高い。
タッチ16 とチョイは打鍵数がローマ字より 2割以上多く,
JIS X 6002 カナ入力の 2 倍に達しているが,
左左・右右のように連続して同じ指を使う割合がきわめて少ない。
同じ指で違うキーを2回以上打鍵する回数は, ローマ字で 96回に達したのに対し,
タッチ16ではわずか9回, チョイは0回だった。
なおタッチ16の打鍵数がチョイより少なくなっているのは,
eval.pl がスペースバーの打鍵を勘定していないためで,
じっさいの打鍵数はタッチ16の方がすこし多い。
JIS X 6002 カナは右小指を酷使すること,
最上段のキーの使用頻度が高いことがあきらかに問題。
また, キー数が多いわりにシフトキーを多用するのも問題。
これに対し, JIS X 6004 の結果は総打鍵数は同じであるにもかかわらず,
いちじるしく改良されている。
しかもシフトの押し下げ回数の増加は驚くほど小さくおさえられている。
JIS X 6004 のシフトはプレフィックス型なので,
「2指の連続」は本来ならばシフトキーも含めて数えなければならないが,
この表ではそうなっていない。
しかしそれでも,
同指異鍵・同手跳躍・左手縦連などの難しい打鍵がきわめて少なくなっているのがわかる。
ついでに JIS X 6002 の原型であるカナタイプも調べてみた。
カナタイプでは「せそへけむめぬろ」がシフト側にあるにもかかわらず,
シフトの打鍵数は JIS X 6002 と大して変わらない。
右手小指や最上段の使用はやはり多いが, JIS X 6002 よりは少ないし,
ホームポジションから極端に離れたキーは使われていないので,
かなり楽だろうと思う。
ナラコードは打鍵数こそ少ないが, それ以外は論外。 もともと速く打てるようにはデザインされていないのだから当然かもしれない。
TRON 配列が NICOLA より 4打多いのは, 半濁音(ぱ,ぽ)があるため。
上の表のシフトの欄でかっこに入っているのはクロスシフトの数。
他の方式にくらべて, NICOLA 配列はとびぬけてシフト押し下げ回数が多い。
NICOLA は最下段の打鍵数が極端に少ない。
濁音のつけられる字をすべてシフトなしで入力できるようにするため,
頻度の少ない「ひふへほ」を最下段にもってきたのがその理由だが,
親指をホームポジションに置いたまま最下段のキーを押そうとすると,
手をまるめて打たなければならず, 速く打てないこともあるのかもしれない。
親指シフトの問題はほかにもある。
eval.pl の評価対象には含まれていないが, NICOLA では,
「びりびり」(び=右シフト+x, り=左シフト+e) のように
右シフトと左シフトの字が交互に出てくるとかなり打鍵しづらくなる。
中指NICOLA の打鍵数は AZIK と大差ない。 シフト押し下げ回数の多い NICOLA の悪い面がもろに出てしまっている。 また NICOLA 配列はもともと中指をシフトがわりに使うことなど考慮されていないので, シフト数が多いこととあいまって, 中指を使う頻度が極端に高くなっている。 右小指の打鍵数が多いのもいただけない。
それにくらべると花配列はすぐれている。 シフトキーを中指に移動したため, シフトの問題はまったくなく, ふつうのキーボードがそのまま使えるだけでなく, 打鍵数もローマ字にくらべて明かに少なく, JIS X 6002 の 2割増し程度ですんでいる。 交互打鍵率も仮名入力方式としては高く, 試した中ではもっとも釣合いのとれた優れた入力方式だと思う。 ただし, ほかの方式にくらべて最下段の打鍵数がもっとも多い。 このため, 同手跳躍がほかの方式に比べて多めであるが, 左手縦連のように極端に難しい打鍵は避けられているようだ。
「めくらぶどうと虹」でも大体の傾向は同様だが, よく見ると異なっている点もある。
| 方式 | 打鍵数 | 左 | 右 | シフト | 左人 | 左中 | 左薬 | 左小 | 右人 | 右中 | 右薬 | 右小 | 最下 | 2段め | 3段め | 最上 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ローマ字 | 4864 | 2192 | 2672 | 0 | 640 | 384 | 344 | 824 | 1133 | 885 | 603 | 51 | 875 | 1704 | 2284 | 1 |
| AZIK | 4395 | 2091 | 2304 | 0 | 749 | 297 | 355 | 690 | 944 | 726 | 480 | 154 | 827 | 1707 | 1861 | 0 |
| SKY | 4663 | 2265 | 2398 | 0 | 826 | 525 | 488 | 426 | 1054 | 518 | 522 | 304 | 339 | 3322 | 1002 | 0 |
| タッチ16 | 5664 | 2765 | 2899 | 0 | 1212 | 871 | 536 | 146 | 1166 | 1330 | 403 | 0 | 0 | 3569 | 2095 | 0 |
| チョイ | 5884 | 2612 | 3272 | 0 | 1091 | 1044 | 418 | 59 | 1221 | 807 | 725 | 519 | 516 | 3647 | 1721 | 0 |
| カナタイプ | 3045 | 1538 | 1507 | 262 | 607 | 382 | 314 | 235 | 524 | 199 | 208 | 576 | 502 | 896 | 1283 | 364 |
| JIS X 6002 | 3045 | 1415 | 1630 | 334 | 568 | 349 | 279 | 219 | 488 | 313 | 278 | 551 | 600 | 828 | 1201 | 416 |
| JIS X 6004 | 3045 | 1295 | 1750 | 643 | 527 | 308 | 244 | 216 | 535 | 452 | 446 | 317 | 635 | 1665 | 745 | 0 |
| ナラコード | 2967 | 1076 | 1891 | 504 | 600 | 79 | 129 | 268 | 728 | 442 | 272 | 449 | 760 | 1025 | 557 | 625 |
| TRON | 2781 | 1417 | 1364 | 722 (280) | 569 | 282 | 228 | 338 | 596 | 275 | 312 | 181 | 816 | 1142 | 791 | 32 |
| NICOLA | 2769 | 1421 | 1348 | 1267 (276) | 335 | 496 | 397 | 193 | 522 | 277 | 330 | 219 | 347 | 1300 | 1090 | 32 |
| 中指NICOLA | 4216 | 2086 | 2130 | 0 | 425 | 1070 | 398 | 193 | 571 | 703 | 330 | 526 | 350 | 2747 | 1119 | 0 |
| 花 | 3733 | 1923 | 1810 | 0 | 633 | 668 | 451 | 171 | 518 | 530 | 530 | 232 | 1089 | 1658 | 986 | 0 |
| 方式 | 打鍵数 | 交互打鍵(率) | 左左 | 右右 | 同指異鍵 | 同手跳躍 | 左手縦連 |
|---|---|---|---|---|---|---|---|
| ローマ字 | 4864 | 2240 (46.1%) | 1072 | 1551 | 317 | 746 | 0 |
| AZIK | 4395 | 2190 (49.8%) | 996 | 1208 | 194 | 589 | 0 |
| SKY | 4663 | 4209 (90.3%) | 160 | 293 | 28 | 10 | 0 |
| タッチ16 | 5664 | 5130 (90.6%) | 199 | 334 | 40 | 0 | 0 |
| チョイ | 5884 | 5106 (86.8%) | 59 | 718 | 0 | 0 | 0 |
| カナタイプ | 3045 | 1798 (59.1%) | 639 | 607 | 296 | 333 | 52 |
| JIS X 6002 | 3045 | 1756 (57.7%) | 537 | 751 | 288 | 366 | 44 |
| JIS X 6004 | 3045 | 1775 (58.3%) | 407 | 862 | 229 | 99 | 3 |
| ナラコード | 2967 | 1383 (46.6%) | 384 | 1199 | 475 | 503 | 3 |
| TRON | 2781 | 1596 (57.4%) | 619 | 565 | 216 | 172 | 16 |
| NICOLA | 2769 | 1419 (51.3%) | 711 | 638 | 222 | 176 | 9 |
| 中指NICOLA | 4216 | 2565 (60.9%) | 803 | 847 | 226 | 132 | 4 |
| 花 | 3733 | 2464 (66.0%) | 691 | 577 | 266 | 220 | 3 |
各キー位置の使用率詳細は 表 を参照。 よく出てくる文字の並びが日本国憲法とだいぶ違っていることがわかる。
日本国憲法で顕著だったローマ字入力の右手へのかたよりは,
こちらではあまり顕著でない。
しかし, そのかわり左手小指の打鍵数が極端に多くなっている。
これはもちろん「a」が大量に出てくるためである。
最上段の 1打は長音符号「ー」がでてくるため。
ここでもやはり AZIK の効果はあるが, 日本国憲法の場合にくらべてさほどはっきりしない。
SKY の打鍵数はこの例ではかなり多い。 もっとも SKY は打鍵数を減らすことよりも交互打鍵を増やすことが目的であるようなので, その意味ではこの例でも成功しているといえる。
タッチ16で右中指の打鍵数が目立って多いのは, やはり「a」が多いため。
カナタイプのシフト数は JIS X 6002 よりもかえって少ない。 右手小指が多いのは句読点を押すため。
JIS X 6004 のシフト数はけっこう多く, TRON 配列のクロスシフトを除いたシフト数より多くなっている。 JIS X 6004 では「ま」を打鍵するときシフトを押す必要であるため, 「です・ます」調ではシフト押し下げ回数がふえてしまうもののようだ。 また漢語に多い「ん・う・く」などの頻度が低くなっていることも大きい。 交互打鍵率も低く, 同指異鍵も多い(ただし中段の打鍵数が多いので同手跳躍は避けられている)。 JIS X 6004 は漢語の多い高校の教科書をデータとして最適化したそうなので, 漢語の少ない文章には弱いのかもしれない。 しかし, NICOLA 配列に較べればいぜんとしてシフトを押す回数は少ない。
TRON 配列や NICOLA で最上段を使っているのは引用符(「」)の入力のためである。
複数カナをまとめて入力するナラコードの特徴は, 漢語の少ない文章ではほとんど効果を発揮しないことがわかる。
花配列はあいかわらずすぐれており, 中指NICOLA はあいかわらずダメだ。
花配列の結果が思ったよりもよかったので, 実際に使って見た。 設定のしかたは, 花配列を使う に書いたのでそちらを参照。 「し」が「x」のキーに割り当てられているのがちょっと意外で, 「しょ(xq)」が打ちづらい。 「か(s)」ととりかえた方がいいかもしれない。 それ以外は楽に打てそうだ。 中指シフトという考え方のおかげで, 字によって 1打だったり 2打だったりするのも不自然ではないし, ふつうのキーボードで使えるため, ローマ字入力に慣れた人間にも抵抗が少ない。