Вы пробовали комбинированный подход горячих клавиш?
; $ = Force keyboard hook such that Send command won't trigger itself
; * = Prefix to allow firing with any other hotkey combination as long as that key is pressed
$*Browser_Home::
If GetKeyState("Alt", "P") ; See if user is holding the Alt key down
Send {Browser_Home}
Else
Send {Media_Next}
Return
Или в сочетании с использованием троичного оператора:
$Browser_Home::Send, % GetKeyState("Alt", "P") ? "{Browser_Home}" : "{Media_Next}"
Я не знаю, работает ли это на самом деле или нет (т.е. не проверено), просто что-то попробовать.
Иногда проще отладить, когда что-то идет не так, когда у вас есть комбинированная горячая клавиша, добавив операторы MsgBox
в различные тестовые примеры, чтобы увидеть, какие из них выполняются или нет, а затем, если они кажутся выполненными (например, для конкретного оператора send)), затем вы можете посмотреть в журнале нажатий клавиш значок в трее и посмотреть, что на самом деле было отправлено, или, возможно, проигнорировано / заблокировано из-за синтаксиса горячих клавиш или еще чего-то (если он настроен непреднамеренно так, что AutoHotkey блокирует то, что вы бы сделали нравится отправлять)