Тема: AHK: два #IfWinActive срабатывание скрипта, по обоим условиям
Скрипт для браузера:
XButton1
действия для окна "Speed Dial"
1- одиночное нажатие посылает F7
2- двойное нажатие посылает ctrl + T
3- двойное нажатие и удержание кнопки ctrl + shift + T
действия в любом окне
1- одиночное нажатие посылает ctrl + W
2- двойное нажатие посылает ctrl + T
3- двойное нажатие и удержание кнопки ctrl + shift + T
Проблема:
при двойном нажатии и удержании XButton1 в окне Speed Dial
срабатывает и ctrl +shift+T (как и должно быть) и ctrl+W (первое условие на одиночное нажатие во всех окнах)
#SingleInstance Force
#NoTrayIcon
SetTitleMatchMode, 2
#IfWinActive Speed Dial
XButton1::
{
ToolTip
KeyWait, %A_ThisHotkey%
KeyWait, %A_ThisHotkey%, D T0.1
If ErrorLevel
{
Send {sc41} ; F7 если одиночный клик
}
Else
{
Sleep 200
GetKeyState, state, XButton1, P
if state = D
{
Send ^+{SC014} ; ctrl + shift + T если двойной клик и удерживаеться кнопка
}
else
{
Send ^{SC014} ; ctrl + T если двойной клик
}
}
KeyWait, %A_ThisHotkey%
Return
}
#IfWinActive
XButton1::
{
KeyWait, %A_ThisHotkey%
KeyWait, %A_ThisHotkey%, D T0.1
If ErrorLevel
{
Send ^{vk57} ; ctrl + W если одиночный клик
}
Else
{
Sleep 200
GetKeyState, state, XButton1, P
if state = D
{
Send ^+{SC014} ; ctrl + shift + T если двойной клик и удерживаеться кнопка
}
else
{
Send ^{SC014} ; ctrl + T если двойной клик
}
}
KeyWait, %A_ThisHotkey%
Return
}