Daigoバージョンアップ

Daigoにより、入力が効率化しましたが、操作しているときに、微妙に違和感を覚えることがありました。それがどのような操作のときであるのかが分からなかったのですが、今回何が問題なのかが分かり、それを解消するためにバージョンアップをしましたので説明します。

1.操作上の問題

Daigoは、キー入力を監視して、辞書に登録しているトリガーとマッチングしたら、以下の操作を受け付けるようにしていました。

(1)確定

登録した単語に置き換える

(2)続行

続けて文字を入力すれば続行する

(3)中断

エスケープによりマッチング状態から抜ける

(4)バックスペース

バックスペースで文字を消す

通常はこの4つの操作ができればいいのですが、ときどき違った操作をしようとして問題が発生していることが分かりました。

というのは、ホームポジションキーパーにより簡単に日本語の切り替え(半角/全角キー)が押せるので、マッチングしたときにも日本語入力の状態を切り替えようとするのですが、上記の4通りの操作しかできないので、無視されます。これが操作の違和感であると気づきました。

そこで、今回のバージョンアップで(2)の続行時に全てのキー操作を受け入れることにしました。もちろんこのことにより「半角/全角」キーの操作も有効になりました。

2.副作用

これで「半角/全角」の操作もマッチング時に行えるようになりましたが、副作用も発生しました。それはカーソルキー操作などが有効になるので、カーソルを移動した後に確定操作を行うと、その場所で確定操作が行われてしまうようになりました。

これを防ぐことは、かなり難しいので、今回は「半角/全角」を有効にすることを優先しました。

今後はDaigoにホットキー機能を追加できればと考えていますが、この時点でホームポジションキーパーと統合して、新しいアプリにしても良いのではと考えています。

2件のコメント

  1. dulunoj さん

    Daigo を愛用させていただいております。
    いつもありがとうございます。

    利用させていただいていて恐縮ですが、不具合報告をさせていただきます。

    当バージョンにてエクスプローラ上での任意のファイル名変更時に Daigo による入力を行うと、文字入力がされずに新しいエクスプローラのウィンドウが開かれるようになりました。
    (当バージョンから確定時の文字入力方式が変わったのでしょうか?)

    OS は Windows 10 64bit, なお通常のテキストエディタ等での動作は問題ありません。
    ご確認いただけると幸いです。

    ちなみに、当記事にも記載されている通り当バージョンから「確定」「続行」「中断」「バックスペース」以外の動作もできるようになり、その副作用として確定操作のタイミングによっては文字挿入位置がズレてしまう (と同時に、削除されるべき文字位置もズレる) という動作に変わった認識です。

    この副作用ですが、直接の文字入力以外のキー (矢印キー等) の押下時には以下のような順序の動作にすることで回避できないでしょうか?

    1. 中断 (現状エスケープキーで発動している機能)
    2. 押下された本来のキー動作

    例えば、以下のような動作イメージです。

    1. 文字ヒット状態になる (あとは Enter を押すと Daigo で文字入力がされる段階)
    2. 「←」キーが押下される
    3. 「中断」動作 +「←」キー動作を発動
    4. 直後に Enter キーを押すと、Daigo の「確定」ではなく通常の Enter 動作となる

    現状の仕様上、矢印キー入力直後に Daigo での確定操作が行われると、意図せぬ文字が消えたり残ったりすると思います。
    これが誤植に繋がる可能性もあるかと思いますので、「中断」動作を入れることで Daigo での「確定」が行われないようにした方が、安全なように感じます。

    ちなみに、もしこの動作ができるとすれば、以下のキーでは「中断」を差し込んでも差し支えないように個人的には思います。

    – 矢印4方向キー,
    – Ctrl
    – Alt
    – 全/半
    – 無変換
    – 変換

    少しでも参考となれば幸いです。

    1. yuko様

      コメントありがとうございます。
      また、返事が遅れ申し訳ありません。

      ご指摘の件、バージョンアップ後にGoogleの検索窓などで不具合が発生してバグに気が付きました。

      確定操作の場合にキー操作を受け入れるようにしたため、確定操作であるEnterそのものも受け入れてしまったために発生しておりました。

      そのため、Enterキー自体の操作も判定するようにして、不具合を回避するように改良中です。

      また、ご指摘のようにカーソル制御などで思わぬ操作にならないような回避策も組み入れたものについても、できるだけ組み入れてバージョンアップする予定です。

      ただ、その過程ホームポジションキーパーとの競合という根本的な問題にぶつかり、その回避も同時に進めています。

      とりあえずは、現行のEnter問題を解決したバージョンを作成して公開を先に行おうと思います。

      今後とも、よろしくお願いいたします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です