Странно, я только команды подставлял и время изменял чтобы быстрее срабатывало при зажатой кнопке, а код почему то другой стал. Ладно, может что не так скопировал. По поводу не интересно, оно конечно интересно своими руками сделать, вот только после 50 как то всё это туго даётся, вторую строчку прочитал, а что было в первой забыл. Утрирую немножко, но всё же. А абстрагироваться и отладить для меня вообще тёмный лес, что отладить, как отладить. Вставил в код только свои команды, правильно, или нет, не знаю, код работает, открывает, закрывает, вот только двойной клик нужно производить очень быстро, потому как если чуть медленнее(как обычно делаю в системе) код уже не срабатывает. Хотелось только это доработать если можно и всё, остальное устраивает.
#If WinActive("ahk_class MozillaWindowClass")
Mbutton::
SetTimer IsPress2, Off
If (A_PriorHotkey = "Mbutton" && A_TimeSincePriorHotkey < 250)
{
SetTimer IsPress, Off
Send, ^{vk73}
Return
}
SetTimer IsPress, -250
Return
IsPress:
If GetKeyState("Mbutton", "P")
SetTimer IsPress2, -750
Else
SendInput {Mbutton}
Return
IsPress2:
If GetKeyState("Mbutton", "P")
Send, ^{vk54}
Else
SendInput {Mbutton}
Return
#If
P.S. Для чего так нужна была эта функция, да чисто старческая лень, не скакать каждый раз в панель табов и обратно, нажал на мышку - закрыл вкладку, нажал ещё - открыл, никуда не дергаясь мышкой.