Вот моя текущая клавиатура, Logitech K270:

Logitech K270 Keyboard

Я хочу переопределить Browser_Home следующим образом:

  1. Browser_Home >>> Media_Next
  2. ALT + Browser_Home >>> Browser_Home

В то время как первый переназначение работает, второй нет, и ALT + Browser_Home приводит к отправке Media_Next . Вот соответствующая часть моего сценария:

Browser_Home::Send {Media_Next}
!Browser_Home::Send {Browser_Home} ; this one is ignored

Я не знаю, связано ли это с Logitech, реализацией AHK или логической ошибкой в моем скрипте AHK (вероятно).

2 ответа2

0
*Browser_Home::
GetKeyState, OutputVar, alt , P
if(OutputVar = "D")
{
    ;~ MsgBox,  alt down %OutputVar%
    Send {Browser_Home}
    sleep, 250
}
else if(OutputVar = "U")
{
    Send {Media_Next}  
    sleep, 250
}
return
*Browser_Home up::
sleep, 50
return

Я надеюсь, что это поможет (раз до вас) или

Browser_Home::Send, {Media_Next}
Alt & Browser_Home::send, {Browser_Home}
0

Вы пробовали комбинированный подход горячих клавиш?

; $ = 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 блокирует то, что вы бы сделали нравится отправлять)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .