2023年11月14日

【薙刀式】ロールオーバーに関するバグ

オリジナルの薙刀式はDvorakJ上で実装されているが、
その同時押し、ロールオーバーのアルゴリズムに影響を受けることがある。

再現可能なロールオーバーに関するバグを見つけたので。
(実用上めったにないパターン)


「はない」が「ぱはい」に化けるパターン。

「は(C)」を押したままにする。
「な(M)」を押して離す。
「い(K)」を押して離す。
「は(C)」を離す。

つまり、最初のキーを押したまま、
2、3番目のキーをロールオーバーするパターン。
「はな」の同時で「ぱ」になるはずで、
そのあとに「い」が押し離しされれば
「ぱい」になりそうなものだが、
「は」がまだ押しっぱなしなので、
別の何かが優先されて、
「ぱはい」という意図しない出力になるのだろう。

実際、「は」を押しっぱなしにすることはないので、
実用上問題ないが、
たまたまいろんなロールオーバーを試していて発見。

2キーロールオーバーに関しては実用上よくあるが、
3キーをロールオーバーすることはめったにない。
と思っていたが、最近よくあるので。
そのときに、
押した順番と離した順番があってればいいが、
押す順番と離す順番がだいぶ違うと、
意図と異なる同時押しが出たり、
意図しない文字が出るようなバグになる恐れがあるということか。

3キーロールオーバーで、
何かの(ほぼ最初のキー)押しが残っていたときに、
バグりやすい、
という経験則としておこうか。


難しいね、
文字領域のロールオーバー。
直観通りに人が打たないときもあるからね。
考えながらとか、超高速になったときの不安定な挙動のときとか。
posted by おおおかとしひこ at 10:33| Comment(0) | TrackBack(0) | カタナ式 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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

この記事へのトラックバック