が漢直WSに実装された模様。
へえ、おもしろい。
https://twitter.com/kanchokker/status/1674034006046945281?s=20
AB同時押しとAB順押しを区別することは、
同時打鍵配列には宿命的につきまとう問題だ。
タイマーロジックだと、
ABを素早く押せば同時、ゆっくり順押しすれば順押し
(離しは気にしなくて良い)
というパターンが多いが、
「素早く」と「ゆっくり」が、
文章を書いてるリズムで変わってくることを、
経験的に僕は知ってるので、
○msとか、○%重なりとかの機械的判定が、
僕には合わなかった。
そのバラツキすらも、個人差があり得るから、
一様機械的判定でも大丈夫な人もいるかもね。
で、
僕はいっそ、
「徹底的に機械的判定にして、
人間の側で同時と順を明示的指定」
と考えて、
相互シフトにたどり着いた。
ABの押し順は関係なく、
ロールオーバーすれば同時、
しなければ順押し、
というイチゼロの考え方。
割り切れていてとてもわかりやすい。
しかしこれは、
高速打鍵時にロールオーバーしてしまうことを防げない。
2〜3カナならコントロールできるけど、
7カナを一気に打つときに、
数%くらいの確率でロールオーバーしちゃうことが、
稀に良くある。
高速打鍵すればするほど足枷になるので、
うーむ、とは思っている。
そこで今回の「先押し後離し」だ。
先に押したものを最後まで押し続けて離したときに、
何を押して離したかで、
同時打鍵判定する、
という変わったシステム。
これならロールオーバーは通して、
同時打鍵は明示的に打てるはず。
ただABとBAの相互シフトで判定すると、
両方の打鍵法をマスターしないといけないから、
たぶん先押しするべきキーはAのみにする、
のように設定した方がマスターが早そうだ。
例で挙げられているのは、
「し」先押し→「よ」押し離し→「し」離し
で「しょ」となる例だ。
「よ」を先押ししなさそうだから、
この例では楽だろうね。
薙刀式の濁音同時押しだと、
濁点を後付けするから、
清音先押しにしたほうが直感的なのかな。
それとも「俺は今から濁音を打つぞ」という風に構えた方がいいのかしら。
薙刀式は現在v15(未発表、試験中)であるが、
v14では「から」をロールオーバーすると「ぶ」に化ける、
という欠点があった。
「か」が濁音同時押しキーで、「ら」の裏に「ふ」がいるため、
相互シフトが意図しない所で発動する欠点だ。
これはv15に至る過程で、
「暴発しにくい場所へ『ふ』を移動させ、
『ら』の裏には濁音にならないカナを置く」
ことで回避した。
論理配列側でカバーすることは、
ある程度可能だけど、
原理的に0には出来ないので、
v15でも残る化け問題は存在する。
(「はな」→「ぱ」とか。
ただ頻度的には低めのものばかり)
これをエミュレータのロジックでコントロールする、
というのが発想の根本ではあると思う。
ただ同時押しの良いところとして、
「順番を気にしなくて良い」
「意図しない所で逆順になってるところは結構ある
(鈍い外側指と速い内側指の同時押しなどで)」
があるので、
実際の高速打鍵時にどういう影響があるかは、
なんとも言えないところ。
結局「好み」になりそうだな。
合う人と合わない人がいそうな気がするなあ。
まあエミュレータとして、
様々な好みに対応してるのは、
すごいと思う。
ただ編集モードの暴発
(M,を押しながらFが「なんか」のロールオーバーなのか、
編集モードなのかの区別がなかなかつかない)
は、この仕組みで抑えられるとは感じる。
Fを先に離せば編集モードになるからね。
オールロールオーバー可能だが、
先押しかつ後離しを徹底する必要のあるこの仕組みと、
薙刀式の現在の、
同時に押す瞬間があるかないかで決める仕組み。
一長一短だなあ。
逆に、先押し後離しがやりやすい論理配列を、
設計するという手があり、
それが「のにいると」になるのだと予測する。
先日見たT-codeの衝撃は凄かったので、
これにカナを組み合わせることが、
人類に可能かどうかを見てみたい…
やっぱカナ単打になるとすごいと思うんだよな…
2023年06月29日
この記事へのトラックバック
ロジックはblogにも書いたのですが、かな漢字変換のように変換候補を並べて、点数づけして、一番点数が高いものを採用する方式です。点数はキーの重なり時間をもとにしました。
うまくいきそうな感触です。
https://github.com/eswai/qmk_firmware/tree/master/users/naginata_v15x
なるほどー。重みづけさえ上手くいけば便利かも。
…とはいえ文字部分では15A版でもうほぼ困ってなくて、
困ってるのはむしろ編集モードなんですよねえ。
そんな、こんな、なんか、なんと、なんとか、
あたりは単打で連接しやすいので、
この辺の化けは気をつけるしかないかなあ、
と諦めていて、
それらをロジックでカバーできると、
便利になるだろうと想像しています。
課題に入れておきます。
なるほど。言葉を書いてる時はそんなこと考えないからなあ…
「ます」と書くつもりが「まえ」になりやすいので……
ただ、スペースキーだけ連続シフトするっていうのが薙刀式エミュレータ作りの鬼門らしいので、あくまで期待です。
ぜんぶ「同時連続かつ相互シフト」で実装の方が楽なら、
それもあり得るのではと思います。
図のタイミングくらいで、「まえ」と「ます」が変わります。これくらいラップしててもまだ「す」に変換してますね。これは評価関数のチューニング次第で、そこが今後の改善余地で、面白そうなところです。
編集モードも載せて、実用的に使い始めたのですが、課題は実行時のメモリが足りなくてOLEDなどをオフにしないといけないことですね。
連続シフトは、スペースも濁点も、編集モードもしているのではと思います。
https://imgur.com/a/LrNnZZ9
にしても50msくらいの差で見分けてるのかー。
本人の癖の要素が大きくなるかもですね。
「自分は数値で言うとこうしている」
というのを理解するための測定器があると、
矯正の練習もしやすいのかしら。