Мой ноутбук - Lenovo Yoga 910 с Windows 10. Я пытаюсь использовать AutoHotKey, чтобы сделать следующее сопоставление:

PgUp::RShift
RShift::PgUp
End::PgDn
PgDn::Right

Однако, за исключением повторного отображения RShift::PgUp , он просто отказывается подтверждать любое из этих сопоставлений. Я подозревал, что это произошло из-за того, что мое сопоставление приводит к тому, что ключи "меняются" или перекрываются. Поэтому я изучил этот пример и сделал еще одну попытку:

$PgUp::Send {RShift}
$RShift::Send {PgUp}
$End::Send {PgDn}
$PgDn::Send {Right}

Выше также не сработало. Что мне не хватает?

Я могу заставить другие отображения работать успешно. Например, остальные отображения в том же скрипте ahk работают просто отлично:

+BS::send {Delete}
$Del::End
Insert::Home
#v::
  Run, notepad.exe
Return

Какие-либо предложения?

1 ответ1

1

Я думаю, что вы правы в том, что он перекрывает повторы, поэтому он сопоставляется с одним, затем переходит и обратно на первый. Вы можете решить эту проблему, поставив return после каждой команды send .

$PgUp::
    Send {RShift}
    Return
$RShift::
    Send {PgUp}
    Return
$End::
    Send {PgDn}
    Return
$PgDn::
    Send {Right}
    Return

Это приводит к тому, что весь скрипт перестает перераспределяться после того, как он достигает return пока не будет нажата следующая клавиша.

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