秀丸エディタマクロで IME オンオフを制御するための imestate imeswitch imeregisterword の挙動

秀丸エディタ上で「こんな時は IME をオフにしたい」的なことがしたかったので、一通り調べてみた。

状態取得: imestate

日本語入力中なら 1、そうでなければ 0 を返す。

例:

message ""+str(imestate);

状態変更: imeswitch

半角全角キーを一回押した時のような挙動。

つまり日本語入力モードと英文字入力モードをトグルで切り替える。

単語登録: imeregisterword

使用中の IME の単語登録ダイアログを出す。

上記を踏まえて

imeswitch はトグルなので、そのままでは 常に IME をオフにする、またはオンにすることができない。一工夫必要。

IME をオフにする

#IME_ON = 1;
#IME_OFF = 0;
if(imestate == #IME_ON){
    imeswitch;
}

オンだったら switch してオフにする。オフだったら何もしない。これで常にオフになる。

IME をオンにする

#IME_ON = 1;
#IME_OFF = 0;
if(imestate == #IME_OFF){
    imeswitch;
}