[PhraseExpress]日本語IMEとBackspace問題

1.前の文字列が削除される

前回の記事([PhraseExpress]発動しない時に確認すべきこと(prefix問題))にて、prefixを適切に設定しないと思うようにAutoTextが発動してくれないという話を書きました。

今回は私がBacspace問題と呼んでいる現症を紹介します。
これも原理がわかるまでは謎の現症でした。

sasisuseso;→さしすせそ

という変換をするphraseがあるとします。

あいうえおかきくけこ(カーソル)

上記の状態で、ATOK等の日本語変換ソフトが起動しているまま先ほどのsasisuseso;を入力すると、下記のような状態になります。

あいうえおさしすせそ

既存の「かきくけこ」が削除されてしまうのです。

2.PhraseExpressは英語圏発祥のツール

しばらく試行錯誤するものの原因が掴めない状況が続きましたが、他のツールの情報から原因がわかりました。

AutoHotkeyを流行らせるページ(Hotstring)

こちらのページの下の方にある「IME使用時の動作」の項に詳しい説明がありますが、日本語では「さ」を入力するのに「s」「a」の二文字を打つので、PhraseExpressは2文字分のBackspaceを送信してしまう、ということのようです。

実験してみると、確かに削除される文字数も一致していました。
また、日本語変換をオフにしていると余分なBackspaceも発動しませんでした。

3.AutoTextを子音若しくは母音のみで構成する

日本語変換をいちいち切り替えるのも面倒なので、日本語変換は有効なままでPhraseExpressを便利に使いたいものです。

そのためには、下記のような対策が考えられます。
(1)子音のみでAutotextを構成する
(2)aiueoを子音が前に来ないようにして使う

(1)子音のみでAutotextを構成する

「fsq;」のように、子音と母音が組み合わされて日本語にならない組み合わせで構成するとBackspace問題は発生しません。
元になる単語から子音のみを抽出するのが覚えやすくてオススメです。

(2)aiueoを子音が前に来ないようにして使う

あいうえおについては(1)の子音抽出の技が使えないのですが、「a」「i」「u」「e」「o」は英語でも1文字、日本語でも1文字なので、前に子音が無ければBackspace問題を引き起こしません。

4.未だ試行錯誤中

実は、私は前回記事のprefix問題が解決したのが最近のことなので、PhraseExpressを使い込むというよりは、未だ手探りでいろいろ試しているという状況です。

改行を含むphraseがうまく使えない、日本語変換ソフトが有効だと半角で登録したphraseが全角未確定状態で表示されるなど、私の環境でまだまだ解決できていない問題があり、今回の記事の中にも誤りがあるかもしれません。
ご容赦下さい。

上記の問題が解決した時には、また紹介させていただきたいと思います。

コメント

タイトルとURLをコピーしました