ローマ字入力に最適なキー配列を考える(制作編)
日本語のローマ字入力において、一般的なQWERTY配列に比べて指の移動距離が半分以下に、同じ指の連続が約9分の1になる「大西配列」を考えた話。
0. 疑問を持つ
パソコン仕事を始めて数年、一向にブラインドタイピングができない。
何度か教材にも向き合ったが、上達するのは「手段を目的化させるのは道具側のバッドデザインだろ」という文句ばかり。
そこで調べてみると、従来のキーボードにはハードにもソフトにもさまざまな批判とオルタナティヴがあることがわかった。
私はすぐに遊舎工房で人間工学的に正しいキーボード*を入手し、VIAでキーマップを弄り始めた。
始めはぼんやりと、自分はプログラムを書くから英語と日本語がバランスよく打ちやすければと思っていた。
だが考えているうちに、速度がもどかしいのはもっぱら検索・作文・チャットで日本語をローマ字入力するときだと気づき、「ローマ字入力に第一に最適化された配列」という課題設定**を明確にした。
さらに、同様の理念から生み出された複数の「ローマ字用」配列に調べ当たったものの、その悉くが不透明なプロセスのなかに完成し、最適さの証明を放棄している(じっさい最適化も不十分である)ことにムカついた。
ここに自分の手で新しい、共有可能な合理性をもった配列を考えてみよう。
1. 片手の連続使用を減らす
まずは、右手と左手の担当キーを決めるところからだ。
ここで参考になるのは科学的キーマップの元祖、Dvorak配列(1936, August Dvorak)である。
母音を片手に固めて左右交互打鍵による高速化を狙うというかの配列のフィロソフィーは、基本的に子音と母音が交互に連なる日本語のローマ字入力でこそ真価を発揮するはずだ。
そこで、おおざっぱに母音(AIUEO)と句読点・使わない子音を左手に、ローマ字でよく使う子音を右手に割り当てる。
とはいえ、Dvorak配列は博士の生涯を懸けた布教も虚しく規格化バトルに敗れ、それから今日まで続くQWERTYの支配下で、あらゆるOSやソフトウェアはQWERTY前提のキーバインドを敷いてきた歴史的経緯がある。
それでColemak配列(2006, Shai Coleman)に端を発するいわゆる英語用「モダン配列」の多くは、コピペなどの基本的なショートカットに使うZXCVQWあたりのキーを、QWERTYと同じ位置に保存するのがセオリーになっている。
私も右手でカーソルを動かしながら左手でバシバシコマンドを打つ操作に慣れているので、ZXCVとその左のシフトキー*は左手下段に既定とした。
2. 指の移動を減らす
次に、指をできるだけ動かさずに済むほうが速く楽にタイピングできるので、両手の中でホームポジションから押しやすい場所に使用頻度の高いキーを集めたい。
まずは「押しやすい場所」を調べるために、ホームポジションから各キーを100回連打するのに要した時間を計測し、16段階に正規化した。
次に各キーとその指のホームキーを交互に100連打して差分をとれば移動コストが測れると思ったが、指が疲れてやる気次第になったのでここは感覚で補正した。
それらを合計して押しにくさと評価してみる。同じ暗さでも赤みがかっているほうが、打鍵回数に占める連打率が高い(移動コストが省略される)キーに向いているということだ。
とはいえ、この後の最重要ステップを控えて一定以上の厳密性を捨象し、以降は5段階で下図のように「○等地」と呼ぶことにする。
それが終わったら今度は「使用頻度の高いキー」を調べる。
青空文庫から適当に*ローマ字を100万字集めて頻度分析をし、スプレッドシートでソートする。実際のシートはこちら。
出現頻度の高い順に1〜5等地に仮置きする。
3. 指の連続使用を減らす
いよいよ仕上げに入る。
各キーの位置を決定するにあたっては極力、タイピングの流れを堰き止める同じ指の連続使用を回避できるよう気をつけたい。
さっき集めた100万字で、今度は連続する2字(bigram;二連字)の頻度分析を行う。結果はスプシの2ページめを参照。
これらの多くは母音と子音で手を分けた時点で解消されているのだが、それでも避けられない幾つかを、同じ手の中でもせめて違う指の守備範囲に分離していく。
3-1. 連母音
まず、母音5個を指4本で捌く以上、「母音→母音」の二連字を踏む指が出る。
母音どうしが互いに連なる頻度*は、低い順に
・ue (9) + eu (2) = 11‱
・au (9) + ua (5) = 14‱
・eo (5) + oe (12) = 17‱
・ao (13) + oa (15) = 28‱
・ae (25) + ea (12) = 37‱
・iu (16) + ui (22) = 38‱
・io (12) + oi (39) = 51‱
・ie (10) + ei (81) = 91‱
・ai (125) + ia (16) = 141‱
・uo(4) + ou(171) = 175‱
だが、中指中段は1等地でありUとEとかいう二軍母音は入れられないから、2番めに連なりにくいAとUのペアを充てる。
3-2. ザ行
次に、ZXCVを固定した弊害として、ザ行が左手でジャミングしてしまう。
だが「zi」に関しては「ji」と打つことで回避できるので、IがZの上に置ける。
この操作は、出現および連打率の高いIをより強い指に置くべきであることと、連母音の頻度2位である「ai」が押しやすくなる*ことからも正当化できる。
3-3. 母音→, . -
また、句読点・長音も母音からの連続を避けられない。
これら3つと互いに繋がりにくい母音は順にE(54‱),O(55‱),U(73‱),I(73‱),A(147‱)だが、Eには5等の空き地が1つあるだけだ。
句読点と長音どうしは互いにほとんど連続しないことも考えると、全部まとめて人差し指(O)の広い守備範囲を埋めるのが適当だろう。
長音はUと繋がりやすいので上に置き*、使用頻度の低い句点は隅へ。これで左手側がすべて確定した。
3-4. 子音→Y
右手では、「きゃ」などの拗音を打つ際にYがほかの子音に連続する。
これはYを母音サイド、特にIの指に移すことでも解消できるが、代わりに「イ段→ヤ行」を踏む量がばかにならない。
子音サイドのなかでYを伴って拗音を作らないのはWとJだけだが、シャ行に限っては「sh→母音」でも入力できるので、Sの指にWかJと並置することができる。
3-5. N→子音
また、「ん」という字は例外的に子音で打ち終わるので、Nはすべての子音に連続する。
ルームメイトが5人いる人差し指はまず避けなければならず、配属先は中指一択。指をシェアする2等地と3等地にふさわしいのは、Nのあとに続きにくいF(0‱), R(5‱), Y(6‱だが前述の理由で不適), B(6‱), M(6‱), P(8‱)…のなかではRとMだろう。
3-6. T・D→Hと同鍵連打
この作業をしていて初めて知ったが、「てぃ」「でぃ」はそれぞれ「thi」「dhi」で出すものらしい。「th」は英語の最頻二連字でもあるので、できればHを人差し指から追い出したい。
同時に、テクニカルには指の連続使用に含まれる「同じキーの連打」について考えてみると、比較的頻繁に連打される*Kが(2節でみたように)連打の遅い小指にあるのが気になる。
そこで、まず連打しないが使用頻度は低くないHに小指のホームを譲る。シャ行も打ちやすくなるし。
3-7. (清濁隣接)
子音側のタブーはそんなところなので、あとの采配は好みだ。
ここで、M式のように濁音・半濁音(ガザダバパ)が清音(カサタハ)の上下に来る法則がまだ実現できることに気づく。
ブラインドタイピングが当初の目的だったから、覚えやすいに越したことはないだろう。
GとPを5等地に追いやるのは心苦しいが、ロウスタッガードに輸出することも考えればこれらの位置は悪くない。
こうして、すべてのキーの位置が確定した。
4. 先行研究を葬る
長くなったので別記事にまとめる。
結果としては、Keyboard Layout Analyzerのローマ字スコアにおいて既存の「ローマ字用」入れ替え配列6種を無事に蹴散らすことができた。
さらに、ローマ字テーブルを弄って打鍵数自体を減らしているIME拡張配列のほとんどにも(理論上)勝っており、現在出回っているなかでもっとも「ローマ字入力に適した」キー配列のひとつになったと言っていいだろう。
なにより、デフォルトのローマ字入力の効率において「大西配列」より大きく優れた配列は、原理的に今後も現れないのではないか。
もちろん、KLAのローマ字スコアだけを追えばもう1ポイントほど上げることもできるのだが、
・Dvorakの母子分離
・Colmak以降のZXCV保存
・M式の清濁隣接
・Eukalyn以降の日英両道
と古今東西のキーマップ哲学のいいとこ取りが成立した点に、いったんの納得感を得ることができた。
5. 慣れる
レイヤーも含めた最終的なCorneのキーマップはこうなった。
親指キーがあるなら、句読点はそちらに移した方が便利なことには途中から気づいていた。
環境を統一するため、MacBook本体のキーマップもKarabiner-Elementsで書き換え、
キャップも包丁の刃先で張り替えた。
当初の目的だったブラインドタイピングは初めからできたし、一週間ほど練習して速度も問題ない水準に達している(この記事も大西配列で書いている)。
これから一年くらい使ってみて、どこまでタイピングが気持ちよくなるか楽しみだ。
●
2022/12/11追記:
1ヶ月練習して300打鍵/分くらいは出るようになった。マイナーチェンジ( , と - を交換)して、試し打ちができるホームページも作ったよ!
ここから先は
自分語りをしている部分
大西拓磨のこと好きな人向けの情報。近況、思い出話、グロいポエム、新コンテンツのβ公開(テストプレイ募集)とか。
この記事が気に入ったらサポートをしてみませんか?