ロールオーバーの具合で変わってくるやつ。
DvorakJは、
相互シフトの監視を、
「ロールオーバーしたものについて、
定義がなければ一つずつ押したものとして出す」
方式になっている。
つまり、
「へった」を3ロールオーバーして離すと、
「へった」になる。
ところが、
「へっ」を2キーロールオーバーして離し、
「た」をあとで押すと、
「へっ」が「ちゅ」の組み合わせに定義されているため、
「ちゅた」になってしまう。
つまり、3キーロールオーバーなら、
「すりへった」と意図通りに、
ちょっと遅れて2キーロールオーバーなら、
「すりちゅた」になってしまう。
むむ。これはややこしい。
QMK薙刀式のアルゴリズムはどうなってたっけ。
バッファの前から同時押し定義があれば待ち、
なければそこまでを放出するようになってたはず。
ということは、
「へった」を3キーロールオーバーすると、
かならず「すりちゅた」になるのでは。
3キー同時押しとロールオーバーの関係、
ややこしくなってきた。
僕としてはこの現象を感知していなかったため、
はじめてこの現象に気づいた感じだ。
まあ同時押し定義をロールオーバーする奴が悪い、
と思ってたので、
「へった」の3キーロールオーバーは、
偶然良かった例になる。
逆に、高速入力には、
こっちのアルゴリズムのほうがいいかもなあ。
バビロンの導入によって、
意外な運指が高速入力可能になって、
こうした運指に遭遇してしまった。
まさか3キーロールオーバーの問題を考える日が来るとは。
qwertyローマ字でムカついてた頃が遠すぎる…
2022年08月19日
この記事へのトラックバック
自分が紅皿 ver.0.1.5.0 で試したところ、「へ」の打鍵タイミングを「っ」の打鍵タイミングが追い越してしまい、結果として「ちゅた」となる状況が、しばしば発生しました。ログで確認済みです。
右小指で"p"を打鍵したつもりであっても、まだキーダウンコードが出ていない状況で、左親指で"g"を打鍵しているのだとおもいます。
「やったつもりでもやってなかった」状態を、
エミュレータ側がどれくらい吸収するかは、
それぞれにお任せでいいかなあと思っていますね。
僕は「間違えたら間違えた原因が特定できる
(ゆえに矯正しやすい)」のが好みなので、
ああ間違えたな、ちゃんと打とう、
と判断させてくれるものを使う感じです。
紅皿の設定もそれで使ってるので、
それで試してみます。
P小指だと遅れやすいのかな。
僕はP薬指なので、その辺も影響してる感じですかね。
いずれにせよ問題ではなく、
「ちゃんと打てばOK」の世界ではあると思います。