オリジナルの薙刀式はDvorakJ上で実装されているが、
その同時押し、ロールオーバーのアルゴリズムに影響を受けることがある。
再現可能なロールオーバーに関するバグを見つけたので。
(実用上めったにないパターン)
「はない」が「ぱはい」に化けるパターン。
「は(C)」を押したままにする。
「な(M)」を押して離す。
「い(K)」を押して離す。
「は(C)」を離す。
つまり、最初のキーを押したまま、
2、3番目のキーをロールオーバーするパターン。
「はな」の同時で「ぱ」になるはずで、
そのあとに「い」が押し離しされれば
「ぱい」になりそうなものだが、
「は」がまだ押しっぱなしなので、
別の何かが優先されて、
「ぱはい」という意図しない出力になるのだろう。
実際、「は」を押しっぱなしにすることはないので、
実用上問題ないが、
たまたまいろんなロールオーバーを試していて発見。
2キーロールオーバーに関しては実用上よくあるが、
3キーをロールオーバーすることはめったにない。
と思っていたが、最近よくあるので。
そのときに、
押した順番と離した順番があってればいいが、
押す順番と離す順番がだいぶ違うと、
意図と異なる同時押しが出たり、
意図しない文字が出るようなバグになる恐れがあるということか。
3キーロールオーバーで、
何かの(ほぼ最初のキー)押しが残っていたときに、
バグりやすい、
という経験則としておこうか。
難しいね、
文字領域のロールオーバー。
直観通りに人が打たないときもあるからね。
考えながらとか、超高速になったときの不安定な挙動のときとか。
2023年11月14日
この記事へのコメント
コメントを書く
この記事へのトラックバック