そういえば、KeyRemap4MacBookの「連続シフト対応」って、どういうロジックになったのだろうか……。
やまぶき・姫踊子草みたいに、「実装が複雑だけれど、手に馴染みやすい」方法までは、さすがに行ってない気がする……あっという間に実装されていたし。
でも、SurikireOfGokouさんによる評価が『◎』だったようだ……ということから考えて、結構いい感じに実装されてる予感はする。
うーん、↓のような「キーDownだけじゃなく、キーUpもずらす」実装だったりするのかしら?そうだとすると、「シフト残り」問題も発生しないから、かなりいい感じじゃないかとおもうのだけれど。
もしも↑の様じゃなかった場合には、あとあと「シフトキーを離してから文字キーを押したつもりが、なぜかシフト側の文字が出てしまった」という、いわゆるシフト残り現象で悩まされる*1から……そこは確かめておくほうがいいのかも。
……いずれにせよ、「文字キーをどう押そうと関係なく、親指シフトキーを押してる間はきちんと、親指シフトキーを押しているという意思が反映される」ってのは、シンプルでいいと思う。
もともとNICOLAでは、「Up-OyaShiftKeyの遅れ補償」……というか「シフト残り現象への対策」として、なぜか「同期非連続シフト」を採用した*2……けど、べつに「タイムシフト方式」とか「やまぶき方式」とか「姫踊子草方式」とかを使ってもそれ自体は解決できるし。
KeyRemap4MacBookの「連続シフト対応」が、他の配列でもうまく取り込まれて「便利な機能の一つ」として広く使われる時代が来ることを期待したいな……と。
*1:もっとも、シフト残り現象への対策がないソフトがあったとしても、「そのソフトを使う人自身にとっては、問題がない」場合はそれでオッケーだから、そういう実装の選択肢もアリだとは思う。優先順位は「シフトキーが、文字キーによって打ち切られたりしないこと」が最優先であって、それに付随して「あるといいこと=シフト残り現象への対策」というのが現実だし。
*2:http://www.ykanda.jp/oasgif/oya-1.jpg と http://www.ykanda.jp/oasgif/oya-2.jpg を参照のこと。