(memo)親指シフトエミュの同時打鍵ロジックには、全部の親指シフト系配列&和英両方で共有できる「タイムシフト+プレフィックスシフト」ロジックを載せてほしい。

(未来:「タイムシフト+プレフィックスシフト」って、なんですか(実装編)。 - 雑記/えもじならべあそび)
(過去:連続シフトでNICOLAは「ありえない」ですか? - 雑記/えもじならべあそび)
(過去:「タイムシフト」にもKISSの原則を適用してみた。 - 雑記/えもじならべあそび)


 ……今週は、なにもかもがグダグダ進行中のため、手短に。


 親指シフト対応エミュについて、シフトロジックとして「タイムシフトプレフィックスシフト」を使えるようにしてほしいです。
 タイムシフトに切り替えてくれると、一番いい気もする……のですが、「タイムシフトプレフィックスシフトを選べる」状態でもかまいません。
 やまぶきや、繭姫のような「こまやかな制御を含み、タイムシフトプレフィックスシフトの先にあるようなロジック」までいかなくても、ぜんぜんかまわないのです。


 もっとも、個人的には、【すべてのエミュがデフォルトで、タイムシフトプレフィックスシフト方式を採用】してくれると、うれしいんですけどね……。

「なぜ?」タイムシフトプレフィックスシフトか。

 ……理由は簡単。
 【親指シフト系+JISかな系の色々な配列全部を、普通に使えるロジックの中で、一番シンプルな実装になるから】ですね。


 ほかの方法だと「対応できない配列が出てくる」とか「1本指対応でコケる」とか「シフト残り対策が必要になってしまう」などいう問題が、あれこれと出てくる……のですが、そういうのをできれば「ロジックの設計段階で」考慮し対応してほしいのです。
 あくまでも配列は「ユーザーとの接点」だから、ロジックの制約に邪魔されることなく、自由に差し替えできるようにあってほしい。
 そのために、ロジックは「多くの配列を一緒くたに扱える」ほうが、上記目的を達成しやすいわけで。
 ロジックを「統一」する必要なんて全然ないけど、「どのエミュレータでも、タイムシフトプレフィックスシフトの挙動には、違いがない」状態のほうが、エミュレータによる癖で悩まなくて、よいはずです。


 タイムシフトプレフィックスシフトというのは、(文字キー同士同時打鍵方式*1をも含む)すべての配列で使える考え方なので、できればもっと広まってほしいと思う*2

*1:この場合、「プレフィックスシフト」は部分的に使えないので、「文字キー同士のプレフィックスシフトは無効」にできるべきところ。

*2:ibus-anthyで、これを取り込んでもらうことはできるのかなぁ……とか、そういったあたりはまだ言うかどうか迷ってるところ。開発者さんが抱えてる負荷をある程度把握してから、提案するかどうか決めたいと思う。