2021年02月14日

【薙刀式】冗長定義、なしにする方向

打鍵ロジックの話。


薙刀式は冗長定義をしている部分がある。
カタナ式からの継承で、
同時打鍵がミスしても上手くいくように、
と配慮したものである。

具体的には「親指は遅い」という仮説に基づいていて、
親指のスペースキーが離すのが遅れて文字部分同時打鍵をしたときも、
親指を離した時と同じように動作するようにしている。

すなわち、
「シフトを押しながらでも、
濁音、半濁音、小書き、拗音、外来音の入力は有効」
とわざわざ設定してある。

これは、親指を離すコストを、
少しでも少なくしようと考えたロジックだ。

良かれと思って実装してたのだが、
自分が高速に打てるようになってきて、
これゆえにミスすることもある、
ということがわかってきた。


具体的には、AHK版で、
「を。」と連続シフトで入力しようとして、
【CM】をロールオーバーして、
「ぱ」に化けた時に気づいた。

これはオリジナルのDvorakJでは起こらない。

何故ならスペースキーは相互シフト不可能で、
タイマー同時押ししか出来ないという仕様上の限界のためだ。

僕は高速打鍵のためにタイマーを5ミリ秒まで縮めている。
(別に0でもいいんだけど気持ち的に)
5ミリ秒以内に3キーロールオーバーしない限り、
「を。」が「ぱ」に化けることはなかったわけだ。


ところがAHK版は実装が丁寧だから、
スペースキーも相互シフト可能キーにきちんと入れてくれているため、
このことに気付いたのだ。

(今QMK版がMiniAxeに入っていないため未検証だが、
似たロジックのQMK版も同様の現象が起こると予測。
同様のロジックを使ってると思われるBenkeiもか)


設計当初の予測速度よりも、
現在の僕の打鍵速度が上がり、
ロールオーバーバリバリ上等になりつつあるため、
このような限界に気づいたのである。

対策は、
離し入力を徹底するか、それとも、
連続シフト優先かだ。
連続シフト優先に定義する、
すなわち冗長定義一切カットで色々スッキリすると思う。


設計当初は、
連続シフトしながら「ので」「でも」「まで」
などを打てるように想定していたんだよね。

所詮は2キーロールオーバーしか見てなかったということだね。
もっと速くなってきたことのことは、
想定外だったのだ。


ちなみにDvorakJ版でこの冗長定義を全て外すと、
2/3くらいに定義数が減るので、
目に見えて軽くなった。
全然これでもいいかも知れないなあ。


ちなみに、
連続シフトと冗長定義が被ってるものを列挙してみる。
頻出しそうなものに●をつける。

まの が
のに ど ●
ぬの げ ●
のせ ぜ ●
のち ぢ ●
めの じ
のり で ●
のね ぎ ●
ほの ぼ
ひの び
をの ば
の、 ご ●
のみ ぞ ●

まわ ヴ ●
まつ づ ●
やま ぐ ●
さま ざ ●
まえ ず ●
まゆ べ
おま だ ●
ふま ぶ

を。 ぱ
ひ。 ぴ
ふ、 ぷ
ゆ、 ぺ
ほ、 ぽ

めよ しょ
ゆめ しゅ ●
やめ しゃ ●
よね きょ ●
ゆね きゅ
やね きゃ
より りょ ●
りゆ りゅ ●
やり りゃ ●
ひよ ひょ
ひゆ ひゅ
ひや ひゃ
ちよ ちょ
ちゆ ちゅ
ちや ちゃ
よに にょ
ゆに にゅ
やに にゃ
みよ みょ ●
ゆみ みゅ
やみ みゃ ●

3キー同時押しは検証面倒なのでやめた。

連続シフトのつもりでロールオーバーしてこれらに化ける損失と、
初心者のリカバーを考えると、
損失の方がデカイと思われる。
(初心者用の補助輪にあまりなっていないとも思えるし)



結論: 冗長定義は廃止の方向で検討。

しばらく使ってみて本格的にいいと思ったら、
マニュアルごと更新します。

ナンバーは13のままかな。
ロジックが変わっただけで配列は変えてないので。

最終結論までしばらくテスト。
posted by おおおかとしひこ at 14:24| Comment(2) | カタナ式 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
AHK版を「スペースキーはタイマー同時押しのみ」にするのは十数行の追加で可能です。
ただ、キー押しの受け付けは約16ミリ秒ごとに1キーなので、細かい調整はできないかと。

初心者といえば、私が初めてDvorakJで薙刀式をさわった頃、「ふぇ」や「ぴゅ」などを入力しようとするうちにキーリピートが始まるのが嫌で、投げ出したことがありました。
それでAHK版はカーソル系だけキーリピートにしたんですけど。

そういえば2キー、3キーの超連打で不具合が出まくるのがなかなか直らず、すみません。
Posted by なかやさとる at 2021年02月16日 20:16
>なかやさとるさん

まあなくてもいいんじゃないでしょうか。
あることによるメリットの享受が殆どない気がしたので。
僕の道具の理想系として、微妙なところは複数やり方がある、
という形が好きなのでそうしてたんですけど、
DvorakJで全部削ってみたら結構速くなったので、明らかにメリットが増えたと思いましたね。

キーリピートは編集モードでも厄介ですねえ。
DvorakJ版だとすぐ「とかとかとか…」ってなっちゃう。
現状のAHK版は理想に近いと思います。
Posted by おおおかとしひこ at 2021年02月16日 20:38
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。