Visual Studio + ViEmu + AutoHotkey で insert モードを抜けるときに IME を OFF にする ではだめだった。ask_class が変わってしまうので、ウインドウタイトルで判定するようにしたら幸せになれた。
#InstallKeybdHook #Include IME.ahk #USEHOOK SetTitleMatchMode,2 #IfWinActive, Microsoft Visual Studio { Ctrl & J::ime_off() } #USEHOOK off ime_off() { if (is_under_input()) { Send, {Esc} return } Send, {Esc} IME_SET(0) } is_under_input() { mode := IME_GetConverting() if (mode == 2) { return true } return false }
関数の定義方法がいまいち分かってない。
関数の引数で Key を引数で受けて、条件判定して Send したい。