いい悪い以前に見ている絵が違う


評価基準は同じようなものを比較するためにあります。新下駄とメジロ式ではだいぶ違いますよ。作るのも大変ですしユーザーにとって必ずしも有益であるとは思えません。

新配列を3つに分けます。ローマ字配列、かな配列、その他です。さらにローマ字配列を2つに分けます。Qwertyのスワップで実現できる無拡張型とNN等の定義が存在する拡張型です。かな配列も2つに分けます。文字キーでかな単打とレイヤキーが別々の独立型と兼務型です。図にするとこんな感じです。

ローマ字配列-無拡張(A)
      -拡張(B)
かな配列-独立(C)
    -兼務(D)
その他

これまで主に関わってきたのはローマ字無拡張のAとかな配列兼務のDです。この2つに限って考えることにします。

Aは移動距離を測ればいいでしょう。縦移動のコストだけで計算するサンプルです。計算式はAIに聞いてください。
text_score.html - Google ドライブ

Dですがこれは少し迷っています。一応サンプルは用意しました。暴発リスクをスコアで計測しています。
naginata_misfire_score_2.html - Google ドライブ
ディットさんの1000万字統計から2gramのファイルをダウンロードして画像の「ファイルを選択」から指定してください。
sizu.me

新下駄と比較したい方はsin-geta.txt(DvorakJの設定ファイル)をダウンロードして画像の「ファイルを選択」から指定してください。
kouy.exblog.jp

ひとまず薙刀式と新下駄の文字キー同時押しによる暴発率を比較しましたがあまりフェアとは言えないと思います。Spaceの離しによる暴発を計算に入れるべきなのでしょうが気が乗りません。また違う基準軸があるのでしょうか。

追記

暴発リスクスコア側を更新しました。計算式が不適切だったようです。失礼しました。

田中さん、実は苦戦しているのではありませんか?




じーびすさんのおっしゃっていることは正論です。その正論が実現していないということはそれなりの理由があるのだと思いますよ。Sonnet5にこう聞きました。

キーボード配列の移動距離を測ろうと考えています。単打だけでなく同時押しも含めるとかなり複雑になると予想しています。あなたの考えを聞かせてください

キーボード配列の効率評価は面白いテーマですね。単打だけなら比較的シンプルですが、同時押し(コード入力)を含めると急に難しくなる、というご指摘はその通りだと思います。整理すると、こんな論点が出てくるはずです。

**単打の場合の基本モデル**

普通は各指のホームポジションから対象キーまでのユークリッド距離(またはそれに近い指標)を求め、コーパスのバイグラム/ユニグラム頻度で重み付けして総和を取る、というのが定番のやり方です(carpalxなど既存のレイアウト評価ツールがこの方式)。ここに「同じ指で連続して異なるキーを打つ(SFB: same-finger bigram)」のペナルティを追加するのもよくある工夫です。

**同時押しで生じる複雑さ**

1. **距離の合算が意味をなさない**
 複数の指が同時に動く場合、実際にかかる時間・負荷は「各指の移動距離の合計」ではなく、並列処理のボトルネックになる指(最も遠くまで動く指)で決まると考えるのが自然です。つまりスケジューリング理論でいう「クリティカルパス」的な発想(max距離)の方が単純合算より実態に近いはずです。

2. **同一指への割り当て衝突**
 同時押しに含まれる2つのキーが同じ指に割り当てられている場合、物理的に「同時」には押せません。これは擬似同時(実質は高速な連続打鍵)として扱い、単打とは別の大きめのペナルティを課す必要があります。

3. **手の分担・跨ぎ**
 左右の手にまたがるコードは真に並列で動けますが、片手内でのコード(例:Ctrl+Shift+同じ手の文字キー)は指同士の干渉や手首の可動域の制約があるため、単純な最大距離モデルだけでは足りず、追加の「協調コスト」を経験的に見積もる必要が出てきます。

4. **ホームポジションへの復帰コスト**
 単打の連続では、実際には毎回ホームポジションに戻っているわけではなく、直前のキー位置が次の移動の起点になります。同時押しの前後でも同様に「直前状態からの遷移」を考慮しないと、実際のタイピングフローとズレた評価になりがちです。

5. **距離指標そのものの妥当性**
 ユークリッド距離だけでなく、行をまたぐ縦移動は横移動より負担が大きいなど、指の生理的な可動特性を反映した「エフォート値」を使うレイアウト評価もあります(単なる幾何学的距離より現実に近い)。

**まとめると**

- 単打:ホーム位置からの距離×頻度で加重平均、という枠組みは維持できる
- 同時押し:合計ではなく「並列動作の最大値+衝突判定+協調コストの補正」という多段階のモデルが必要
- 実データ(コーパスの頻度分布)で重み付けしないと、理論上の距離だけでは体感の負荷とズレる

もし実装まで視野に入れているなら、まずは「単打の重み付き距離モデル」を作り、そこに「同時押し用の衝突検出+max距離補正」を後付けするという段階的なアプローチが扱いやすいと思います。既存のcarpalxやKLA(Keyboard Layout Analyzer)のソースを参考にすると、距離・頻度データの持ち方が参考になるはずです。

具体的にどんな用途(配列比較、ゲームのキーバインド最適化、ショートカット設計など)を想定されていますか?用途によって「同時押しコスト」の重み付けの方向性がかなり変わってきそうです。

単純移動距離の積算はとおっしゃっていますがそれだけでも決して簡単な課題ではないと思います。ましてやじーびすさんが指標として適切であると認めるラインまで持ってくるのは至難の業でしょう。あまり無理はしないほうがいいと思いますよ。

たしかにこれ間違ってますよ

縦筆アップデートです。今回の更新点を2点説明します。
tatefude_20260818_3.html - Google ドライブ
まずWordのdocx形式に対応しました。PDF/印刷メニューから保存できます。

もちろん大岡さんが使うことを考えればやらなくてはならない措置ではありますが、常々おっしゃっている通り出版物にWordを使うという判断自体が間違っていると思います。目視確認は行わずAI判断でOOXMLの仕様に沿うのみとさせてください。

もう一つは細かいバグの修正です。速度を言われてみればそんな気もするかな程度に改善したり、Ctrl+XがUndoに含まれない問題等の対策を行っています。

おそらくまだ穴があるのでしょう。また壁打ちから始めます。

地味に変えています

tatefude_20260817.html - Google ドライブ
縦筆アップデートです。今回は既存機能の改修が中心です。3点説明します。

まずファイル読み込み時に動作が重くなるのが気になったのでスピナーを出しています。少し不安が軽減される気がします。

次に既存機能を見直しました。選択・アンドゥリドゥ・章編集の3つに手を入れました。これに伴い範囲選択の動作を始点終点の2クリックに戻しています。

最後は検索パネルを削除しました。ブラウザ標準で十分という判断です。置換の使用頻度は(大岡さんに限れば)低いと読んでいます。

機能追加よりも必要な機能を磨くべきという指摘をAIから受けています。大きい機能追加よりこうした細かい改善を積み重ねることに当分なりそうです。

章立てと向き合おう

縦筆アップデートです。今回は章立てに手を入れました。3点説明します。
tatefude_20260814_2.html - Google ドライブ
まずドラッグアンドドロップによる章の入れ替えを外しました。バグの温床になりやすいという判断です。大岡さんの使用頻度はそれほど高くないと見ています。

次に章の折りたたみ機能を実装しました。1章の最後と2章の最初を見ながら編集したい場合などに使ってください。

最後はバグや問題点の改善です。見出しや文字数を誤判定しやすくなっていた問題の改善を行っています。また編集モードを解除しやすいよう章立てパネルに解除ボタンを置いています。

IMEの改善も行いたいのですがそれはObsidianに任せます。ひとまずこんなところです。

追記

閲覧モード移行時に正常に表示が行われにくくなっていた問題の対策を行いました。それ以外に変更はありません。

田中さん、これそんなに急ぎですか?


方向性としては正しいはずなのになぜか納得いかない理由を探していたのですが田中さんの手の内が見えないことが最大の問題だと思います。口の悪い言い方をすれば何か魂胆を隠しているような気がしてなりません。

まず単純にロマさんとかなさんに紹介してほしい配列を募ってみてはどうでしょう。それだと見方が偏るのが気になっているのでしょうが、情報発信とは最終的に誰が責任を取るかが問題なのだと思います。その責任から逃れようとしている。そう言われてもおかしくありません。

焦らずに信用を貯めるところから始めてはどうでしょうか。難しい課題に挑戦しているのですから多少時間がかかるのは仕方ないでしょう。

答えは割とすぐそこにあった

縦筆アップデートです。長文対策の機能を加えました。
tatefude_20260811_2.html - Google ドライブ
一応対策はしましたがどうしても長文が重くなるのは必然です。仕様上避けられません。少し迷ったのですが結論はシンプルです。各章ごとに編集できる機能を加えました。長文(数万字から10万字程度)を書く方は章ごとに分けて編集してください。

Obsidianはデフォルトでアウトライン表示に対応しています。前回更新の時点ですぐ気がつくべきでした。失礼しました。
oookaworks.seesaa.net
obsidian.md

追記

少し気になった箇所に手を入れました。大枠に変更はありません。