3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

キ−配列、ロ−マ字入力規則カスタムの効果を簡単に視覚化できるブラウザアプリを作りました

Posted at

はじめに

自作キ−ボ−ドを購入してから約一ヶ月。
毎晩寝る前に考えることはキ−配列のことです。

Dvorak配列大西配列など色々試しているのですが、なかなかしっくり来るものに出会えていません。そこで、キ−配列の自作が選択肢に入って来ました。

キ−配列の自作を考え始めると、キ−配列を分析できるツ−ルが欲しくなります。
Web上に私にとってしっくり来るツ−ルが見つけられなかったため、3日ほどかけて自作しました。

作ったツ−ルはこちら↓

スクリーンショット 2025-09-22 8.08.02.png

機能紹介

分析用の例文の入力

Dvorak配列や大西配列などの配列は、打鍵の出現頻度から押しやすい並びを提案しています。
であれば、Dvorak配列や大西配列を採用すればいいじゃないかと思うかもしれませんが、そうではありません。

Dvorak配列は英文での各キ−の出現頻度、大西配列は(おそらく)「だ、である調」の文章での各キ−の出現頻度が元になっています。私は仕事用に日本語の「ですます調」に最適化されたキ−マッピングが作りたいため、例文もですます調で作成する必要があります。

分析に使用する例文は皆さんそれぞれカスタマイズするべきだと考えて、自由に入力できる設計にしました。

スクリーンショット 2025-09-22 8.18.30.png

現在のところ入力は、半角のアルファベット(大文字/小文字)、半角の句読点(,.)、半角の伸ばし棒(-)、半角スペ−スのみ受け付けています。入力を受け付けていない文字は無視されます。

ヒ−トマップとメトリクス

メインの機能として、例文に対しての分析結果を視覚化できる機能があります。
スクリーンショット 2025-09-22 8.08.02.png

ヒ−トマップ

スクリーンショット 2025-09-22 8.32.52.png

どのキ−が何度押されたかをヒ−トマップとして表示します。
表示モ−ド切り替えのプルダウン(画像右上)でヒ−トを選ぶとヒ−トマップだけを表示できます。

メトリクス

スクリーンショット 2025-09-22 8.37.42.png

キ−配列の良し悪しを決める指標になりそうな各種メトリクスを表示しています。
一般的に打鍵速度を下げると言われている同じキ−の連打/同じ指での連打回数や、最も押されたキ−が小指など押しにくい指に割当てられていないかを確認できます。

指ごとに何度押されたかもカウントしているので、押しやすい指が多く押され、押しにくい指が少なく押されているかどうかも確認できます。

ランキング

スクリーンショット 2025-09-22 8.44.17.png

押されたキ−の上位、同じキ−の連打の上位、同じ指連打の上位をランキング表示しています。

指担当の表示

スクリーンショット 2025-09-22 8.46.17.png

表示モ−ドをフィンガーにすることで、どの指でどのキ−を押す事になっているかを確認できます。
この指割当もカスタマイズ可能で、自分の打鍵に合わせて分析できるようにしています。

ロ−マ字入力規則のカスタマイズ

スクリーンショット 2025-09-22 8.49.36.png

ロ−マ字を入力するときの入力方法は人によってまちまちだと思います。
例えば、「じ」を入力するときにziを使う人もいればjiを使う人もいます。この入力規則も普段の自分の入力に合わせてカスタマイズできるようにしています。

例文が英文だったり、例文をアルファベットのままロ−マ字で入力する場合この機能は不要ですが、日本語文章を日本語→ロ−マ字変換ツ−ルを使って例文を作成した場合などにツ−ルのロ−マ字をカスタマイズすることで、普段自分で使っているロ−マ字入力規則で計測できます。

キ−配列のカスタマイズ

スクリーンショット 2025-09-22 19.54.53.png

キ−配列も自由に設定してその設定でのヒ−トマップやメトリクスが確認できます。
テキストボックスに直接文字を入力して好みのキ−配列を作成し、配列を適用ボタンを押すことでヒ−トマップに反映できます。

プルダウンから選択して反映ボタンを押すことで、プリセットでいくつかの有名な配列を設定することもできます。現状はQwerty配列Dvorak配列大西配列カスタム(前回配列を適用ボタンを押したタイミングでの設定)をプリセット入力できます。今後プリセット入力のバリエ−ションは増やしていきたいです。

指割当のカスタマイズ

スクリーンショット 2025-09-22 20.03.49.png

どの指でどのキ−を押すかも人それぞれ好みが分かれると思います。
key=fingerの形式で指割当も自由に設定できます。fingerに設定できる文字は下記の表の通りです。

L5 L4 L3 L2 TH R2 R3 R4 R5
左小指 左薬指 左中指 左人差指 親指 右人差指 右中指 右薬指 右小指

列ベ−スで指割当を自動生成ボタンを押すことで、指割当を簡単に設定することもできます。
もともと自分で使うためのツ−ルなので自動生成のロジックは私の好みですが、一般的なタイピングをする方であれば大きな違和感のない指割当が作成されるはずです。

使ってみる

まずは測定対象の文章を作成します

AIに1000文字程度でITエンジニアが仕事で使いそうな文章をですます調で作成してもらい、日本語→ロ−マ字の変換ツ−ルを使ってロ−マ字化します。

今回使用させていただいた上記のツ−ルでは「、」と「。」は変換されないのでテキストエディタで「,」「.」に変換します。ここまでの手順はいずれツ−ル内部でできるようにしたいです。

現在使っているQwerty配列のヒ−トマップを出してみます

(ロ−マ字カスタムはzi=ji, hu=fjのみ)

ヒ−トマップから分かることは、やはりQwerty配列でのロ−マ字入力はかなり効率が悪いということです。
ホ−ムポジションで押しやすいd,f,g,h,j,lはかなり押される頻度が低く、このあたりのキ−に押される頻度が高い文字を割り当てたくなります。

スクリーンショット 2025-09-22 20.31.52.png

また、登場回数が最も多いuを押す右手人差し指でy,h,j,n,mといった子音も押すため、yu,jf,nu,muなどは右手人差し指による連打が必要になり、同じ指連打の回数がかなり多いです。
同じ指連打が多いことは、打鍵速度にかなり悪影響があると感じているのでなるべく減らしたいです。

大西配列を試してみます

青空文庫の100万字を解析してロ−マ字の入力に最適化なキ−配列として、大西拓磨さんによって考案された配列です。

指割当は自動生成されたものをそのまま採用しました。3x5にピッタリ収まっていて気持ちいいです。
スクリーンショット 2025-09-22 20.46.11.png

先ほどと同じ例文で大西配列のヒ−トマップを出してみます。

スクリーンショット 2025-09-22 20.47.44.png

Qwerty配列のときのヒ−トマップと比べて、ホ−ムポジションのまま押せるキ−が大幅に増えています。
母音が左手側に集中し、担当範囲が広い人差し指ではo以外が句読点や伸ばし棒やvに割り当てられていていることで、同指連打回数も大幅に削減されています。

試行錯誤は続きます

大西配列はとても完成度が高くそのまま採用しても良いのですが、二点自分向けにカスタマイズしたい箇所があります。

  • 一つは、作成時の元デ−タが青空文庫から取り出したデ−タのため、おそらく「だ、である」調の文章を置く含んでいることです。ですます調ではアルファベットの登場順が微妙に違うため「ですます調」に最適化したいです。
  • 二つ目は、AZIK拡張の考慮がされていないことです。AZIK拡張は大西配列とは別方向からのアプローチでロ−マ字入力の高速化を試みている方法です。以前から使用していてかなり効果を感じているので今後も使い続けたいです。

せっかく満足できるツ−ルができたので、これから試行錯誤を楽しんで今年中には自分にとって最高の配列とロ−マ字入力規則を作りたいです。

おわりに

本記事を読んで興味を持ってくださった方は、一度触ってみていただけると嬉しいです。

今後は継続してメンテナンスや機能拡張を頑張っていくつもりなので、ご要望やバグ報告などありましたら本記事のコメントかX(旧 Twitter)でお知らせ下さい。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?