AutohotkeyにおけるHotkeyの重複時の動作について
Autohotkeyで以下のようなスクリプトを使っています。
; Google IMEの変換中だとCtrl+kでカタカナに
#If WinExist("ahk_class MSCTFIME Composition")
>^k::F7
; xyzzy 以外ではEmacs風のキーバインド
#If not WinActive("ahk_exe xyzzy.exe")
>^a::Home
>^e::End
>^f::Right
>^b::Left
>^p::Up
>^n::Down
>^h::BackSpace
>^d::Del
>^y::^v
>^k::Send "+{END}^x"
>^l::Send "+{HOME}^x"
#If
これでGoogle IMEの入力ウィンドウがあるとき(=変換中)の時はF7が発火され、
それ以外の時は+{END}^x
が呼び出されると思ったのですが、変換中であってもF7が呼び出されませんでした。
>^k::Send "+{END}^x"
をコメントアウトすれば、正常にF7が呼び出されるのですが上のコードは何が間違っているのでしょうか?
ヘルプのVariant Hotkeys の項目には
If more than one variant is eligible to fire, only the one closest to the top of the script will fire.
https://lexikos.github.io/v2/docs/commands/_If.htm#variant
とありますので順序は間違ってないと思うのですが。