tekiehei2317's blog

一行配列のその後

投稿日: 2025-05-17

前回、レイヤーキーを2つ使ってキーボードの一行だけでローマ字入力をする配列を考えました。この配列で先日、目標のe-typing 400pt(日本の昔話)を達成したので、振り返ります。

前回の記事: ホームポジションだけで入力できる配列を練習している | tekiehei2317's blog

e-typing 日本の昔話 400pt

鉄馬 on X: "42日目 自作配列でついに目標の400達成!うれしい。あと一歩のところを気合いでなんとか押し込んだ。 https://t.co/BRZw2Mse7b" / X

19日目に350ptを出してからモチベの低下などで伸び悩んでいましたが、42日目で念願の400ptを出せました。タイパー初心者に片足を突っ込んだくらいのレベルでしょうか。

e-typingの腕試しはやっていませんが、マイタイピングの簡単短文(20ワード)で5.0key/sを出しているので、おそらく300前後のスコアになるのではないかと思います。

感想

配列についての感想

シフトがつらい!(雑)

ある程度慣れてくると、同じシフトで打てる箇所は長押ししてシフト数を減らせるようになりましたが(例えば、「かぐや姫」をkag→上段シフトuy→シフト離してah...みたいな)、それでもつらかったです。

この配列でQWERTYを超えられる気はしないので、別れを惜しみつつ引退します。

練習した感想

ローマ字入力をする配列としては限界を感じましたが、練習の過程でいくつか収穫がありました。

一つは、QWERTYの実力を維持(向上)しながら別の配列を練習できたことです。一行配列の練習にハマっているときは、QWERTYに切り替えたときに一瞬だけ手が上段に動かないことがありましたが、何キーか打てば戻りました。

ほとんどの期間で、QWERTYのほうが練習量が多かったので、一行配列のほうが多少下手になることはあってもQWERTYに支障が出ることはなかったです。

混乱しなかった要因としては、練習量のほかに、親指シフトという特殊な入力なので別のコンテキストが働いていたこと、入力方式は違えど中身はQWERTYであることが挙げられます。

もう一つは、一行配列でのミスはシフト操作がほとんどで、キーを押し間違えることはほとんどなかったことです。つまり、キー範囲を少なくすれば打ち間違えを減らせるのではないかと気づきました。

シフト操作でのミスは、シフトから無シフトになるときとその逆で発生しやすく、na(右シフト→無シフト)、ma(右シフト→無シフト)や、ki(無シフト→ 左シフト)などは意識してゆっくり打つ必要がありました。

配列の改良案

この配列の課題は、シフトによる打鍵数の増加と、シフト回数が多くシフト操作のミスが発生しやすいことでした。そこで、ひばり配列という一行の配列を参考に、シフト回数を減らす改善を考えました(ひばり配列は、うぇるあめさんの配信コメントで教えていただきました🙇)。

ひばり配列

ひばり配列はいわゆる行段系の配列で、一打目に行、ニ打目に段を入力します(例: か行+う段→く)。つまり同じキーに2つの役割があります。この考え方をローマ字入力に適用して、次のような一行の配列を考えました。

鉄馬 on X: "ぼくのかんがえたさいきょうの一行配列 feat. ひばり配列 ローマ字日本語入力用です。今の配列でエタイ400達成したら使ってみようと思っています。 https://t.co/4ekvKEEqo0" / X

一打目に清音の行を入力し、ニ打目に母音を入力します。濁音と母音単体はシフトで入力します。

母音の段にtとyが入っているのは、拗音(ゃゅょ)と促音(っ)の入力をするためです。促音については、子音の連続打鍵が使えないのでxtuを代わりに使います。小書きにlではなくxを使っているのは、「ん」もxnで打てるようになるからです。

どれくらいの打鍵数になるのか?

まず、清音は普通のローマ字入力と同程度の打鍵数で打てると考えてもよいでしょう。nだけで「ん」を打てなかったり、子音の連続で「っ」を打てないので多少増加しますが、歌詞タイピングや対戦以外で不利に働くことはないためです。

なので、打鍵数の増加はシフトによってのみ起こります。日本語でのかなの出現頻度を調べたところ、母音単体(あ〜お)は約15%程度、濁音・半濁音は約10%程度でした。つまり、シフトを1打鍵と考えるならば、打鍵数は約25%増加することになります。

なので、キー範囲が1行になることで1.25倍の打鍵速度を実現できればよいのですが、流石に無理があります。なので、さらに改良して、シフトを不要にして2行にするところに落ち着きました。

鉄馬 on X: "たじさくそうまごウェルでQwertyに勝てる気がしなかったので2段に増やしました。 前置シフトだと打鍵数が3割(たじさくの場合)増えるので勝ち目がなく、連続シフトだと離すタイミングがシビアで次のキーにもシフトがかかってしまいそうなためです。 https://t.co/BqLE0079b5" / X

これでやっとQWERTYと同等の速度を出せるポテンシャルを持った配列になったのではないかと思います(裏を返せばこれまでに考えた配列は全く勝ち目がないということですが...)。

この配列のデメリットとしては、タイプミスをしたときのリカバリーがやや難しいことと、英語など他の言語が打てないことがあります。後者については、個人的にはプログラムを書くときに困るので、かな入力のように日本語入力の時だけ有効にするなどの対処が必要です。

日本語入力について雑な考察

キー範囲と、1かなの入力に必要な打鍵数について

かな入力についていて調べていて思ったことは、日本語入力を「いくつかのキーの打鍵をひらがな1文字に変換するもの」と捉えることです。そう考えると、ローマ字入力より日本語を早く打てる配列は必ず作れるように思えます。なぜかというと、ローマ字入力よりキー範囲を狭くしたり、キー範囲を同程度に保ったまま1打鍵=1かなとなるキーの数を増やせるからです。

JISかなは4行12列という巨大なキー範囲を使うことで、ほとんどのかなを1打鍵で入力することができます。ローマ字入力はその対局にあり、3行10列程度のキー範囲を使い、複数打鍵で1かなを入力します。ここには、キー範囲を広くすれば1打鍵で入力できるかなの数が増え、キー範囲を狭くすれば1かなを入力するのに必要な打鍵数が増えるというトレードオフが見られます。

ローマ字入力に限らなければ、打鍵をかなに変換するもっと効率のよいルールが作れます。例えば先ほど考えたニ行の配列は、ローマ字入力という体裁を取ってはいるものの、実質的には「kl→こ、fj→る」のような変換ルールを作っていると考えることができます。つまり、QWERTYローマ字入力には使われていないけれど打ちやすいキーの並びも使えるということです。

今年のRTCではローマ字入力が優勢でしたが、例えばe-typing(K)の長文では900pt(ローマ字換算で1.5倍すると1350pt)を超える記録が出されています。これに並ぶ速度をローマ字入力で出すのはほとんど不可能でしょうから、1打鍵=1かなの強力さがよく分かります。

月配列について

月配列という競技タイピングでも実績のあるかな入力の配列があります。月配列は3行11列とQWERTYローマ字入力に近いキー範囲を持ちつつ、頻度の高いかなは単打で、頻度の低いかなは中段中指(kとd)の前置を使った2打で打つことができます。

「月」 --- 中指シフト新JIS配列

月配列の打鍵数は、日本国憲法前文ではローマ字入力の1475打鍵に対し、1097打鍵と75%の打鍵数で済んでいます。他の例では75~80%だったので、多めに80%と見積もると、ローマ字入力の8割の速度を出せれば同程度の速度で文字入力ができるということになります。打鍵の特性(クロスシフトなので交互打鍵が多い等)は考慮していないものの、JISかなのキー範囲の広さに対応できなさそうな私にとって非常に魅力的な選択肢です。

次は何を練習する?

二行配列を練習するか、月配列を練習するか迷っていますが、多分月配列をやります。JISかなをやったことがないので初めてのかな入力です。QWERTYローマ字入力も引き続き練習していくので、別配列を練習するのが原因で実力が落ちることはない...ようにしたいと思います。配列の練習の記録もXまたはブログでときどき投稿していきます。

参考