DvorakJ 2012-05-03 版と ATOK2012 の組み合わせで、確定アンドゥの挙動がやっぱりおかしいことを報告します。
DvorakJ では、順に打鍵する配列に対応する都合上、[Ctrl] + [Back Space] を入力したら [Ctrl] + [Back Space] を発行し、それからいくつかの処理を行っている。これらの一連の処理のどれかと、ATOKの確定アンドゥの処理が整合的ではないようなのだ。
私のキーカスタマイズは MSIME も ATOK も VJE スタイルベースで、確定アンドゥの発行は確定直後に[無変換]キーを押し下げることで実行され、[Ctrl]キーの発行とは無縁です。
DvorakJ + MSIME の挙動
この組み合わせは期待通りに動作します。
DvorakJ + MSIME 変換中
DvorakJ + MSIME 変換確定
DvorakJ + MSIME 確定アンドゥ
DvorakJ + MSIME 再変換確定
DvorakJ + ATOK の挙動
この組み合わせでは、末尾1字のみが再変換対象となり、先頭の文字が残ります。
DvorakJ + ATOK 変換中
DvorakJ + ATOK 変換確定
DvorakJ + ATOK 確定アンドゥ
DvorakJ + ATOK 再変換確定
ATOK の挙動
DvorakJ を終了させると、ATOK も期待通りの動作となります。
ATOK 変換中
ATOK 変換確定
ATOK 確定アンドゥ
ATOK 再変換確定
症例を分かりやすく示すため、画像を入れ替えました。
関連記事
- 右Ctrl と [Back Space] で [Ctrl] + [Back Space] を発行する際の問題点と改善策
- blechmusik2の日記
- 2012-05-03
- 同手シフトはどの指で発生しているのか
- 2012-05-01
なお、VJEスタイルとAutoHotkeyの無変換キー関連の処理の関係についていくつか検証してみました。そのことから分かるのは、現行のDvorakJでは日本語変換時にbackspaceをなぜか出力してしまっているということです。もっとも、日本語変換中にbackspaceを出力しても、VJEスタイルなら、当方の環境ではとくに害は無いようです。
http://d.hatena.ne.jp/blechmusik2/20120506/1336277796
試しにATOKスタイルに変えて Ctrl-Backspace の発行で変換アンドゥを試してみたら、このエントリーと同様の症状が発生しました。
141Fさんの設定ファイルをもとに動作を確認したところ、問題の症状が再現されました。
ログを表示して調べて分かったのは、上記のコメントにて書きましたリンク先のページと同様の挙動が現れていることです。文字列変換中に無変換キーを押すと無駄なbackspaceキーが発行されてしまっています。
これは私の環境では無害でしたが、141Fさんの環境では有害でした。その違いを生み出していたのは「間隔」の「キーを発行する毎に何ミリ秒遅延させるか」の設定でした。私は普段この設定を0ミリ秒に設定しているのですが、0よりも大きい値に設定すると、141Fさんと同様の症状が現れました。
不要なbackspaceが出力されてしまう不具合を根本的に修正するまで、お手数をおかけしますが、「間隔」の「キーを発行する毎に何ミリ秒遅延させるか」を0に設定してください。