Skip to content

eswai/keyboard_analyzer

Repository files navigation

日本語キー配列アナライザー

目的

すでに英文を対象にしたキーボードのキー配列分析ソフトとしてはいくつかあって、例えばKeyboard Layout AnalyzerQMK Keymap Carpalx Analyserがあります。 しかし、これらは英文を対象としており、新下駄や薙刀式のようにローマ字ではないカナ入力方式を分析しようとすると、かなり手間がかかることになります。 そこで、英文同様の操作で日本語の文章をキーボードで入力する労力を分析し、またローマ字入力だけではなく、より先進的なカナ入力方式を分析して、よりよい入力方式を創造していく一助になるべく、日本語キー配列アナライザーを作って行くのが、このプロジェクトの目的です。

詳細

すでにいくつかの英字配列、カナ配列をいくつかjson形式で定義しています。

keysはキーボードの配列を2次元配列で定義しています。sizeはキーの幅で単位はUです。 idはそのキーを一意に表します。 legendは配列表に表示する記号です。3文字まで対応します。空配列にするとキーの枠も表示しないので、分割式キーボードのように、表示上のスペースを作れます。 fingerはそのキーを何指で押すかを示しており、左小指から右小指に向かって順に0, 1, 2と番号をふっています。 どの指でキーを押すかは個人差があるところですので、定義ファイルを自分に合わせて書き換えてください。 OrtholinearやUSキーボードなどの定義をすることができますが、column staggeredのように縦にずれた配列は表現できません。

arpeggioは2キー連続打鍵で快適にうてる組み合わせを定義します。 keysの行列位置を[[行, 列], [行, 列]]で定義しています。 キーのidで指定していないのは、英字の配列を変更してもアルペジオ定義を変更しなくてもいいようにするためです。

conversionは文字を入力するのにどのように入力するかを定義します。単にキーをおすだけか、シフトキーを押しながら、ローマ字のように2キーを連続して押すのか、を定義します。 keysに定義してもshiftに定義しても押下頻度の計算は同じですが、追って連続シフト率などを計算したいので、別にしています。 typeはローマ字のように連続して打鍵するseqのか、親指シフトのように同時に打鍵するsimのかを定義します。 連続シフトが可能な場合はrenzsft: trueとします。

謝辞

漢字まじりの文章をカナ文字に変換するためにkuromoji.jsを使用させていただいています。

テストサイト

https://keyboard-analyzer.vercel.app/

About

日本語キー配列アナライザー

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published