Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также саму программу AutoHotkey и проблемы её использования)

Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.

Оригинал статьи в AutoHotkey.chm: "List of Keys and Mouse/Joystick Buttons", в содержании - "Key List (Keyboard, Mouse, Joystick)"

Ник переводчика: Дед Мазай.

Настоящее имя переводчика: Антон Иваненко, г.Москва.

Список клавиш и кнопок мыши/джойстика

Мышь (работает только с Windows NT/2000/XP)

LButton - левая кнопка мыши

RButton - правая кнопка мыши

MButton - средняя кнопка мыши (или колесо)


WheelDown - поворот колеса мыши "вниз"

WheelUp - поворот колеса мыши "вверх"


Поддерживается только Windows 2000/XP:

XButton1 - четвертая кнопка мыши, боковая

XButton2 - пятая кнопка мыши, боковая

Клавиатура

Примечание: названия буквенных и цифровых клавиш точно такие же, как и сами символы этих клавиш. То есть, клавиша "b" записывается как b, а клавиша "5" как 5.


Space - пробел

Tab

Enter (или Return)

Escape (или Esc)

Backspace (или BS)


Delete (или Del)

Insert (или Ins)

Home

End

PgUp

PgDn

Up

Down

Left

Right


ScrollLock

CapsLock

NumLock


NumpadDiv - слэш "/"

NumpadMult - звездочка "*"

NumpadAdd - плюс "+"

NumpadSub - минус "-"

NumpadEnter - клавиша "Numpad-Enter"


Следующие названия клавиш используются, когда Numlock выключен:

NumpadDel

NumpadIns

NumpadClear - та же кнопка, что и Numpad5 на клавиатуре

NumpadUp

NumpadDown

NumpadLeft

NumpadRight

NumpadHome

NumpadEnd

NumpadPgUp

NumpadPgDn


Эти названия клавиш используются при включенном Numlock'e:

Numpad0

Numpad1

Numpad2

Numpad3

Numpad4

Numpad5

Numpad6

Numpad7

Numpad8

Numpad9

NumpadDot - "Numpad-точка"


С F1 по F24 - двенадцать или более функциональных клавиш, на большинстве клавиатур представлены в самом верхнем ряду.


AppsKey - клавиша, вызывающая контекстное меню файла/программы, как при правом клике мышкой.


LWin - левая клавиша "Windows"

RWin - правая клавиша "Windows"

Control (или Ctrl)

Alt

Shift


Примечание: в большинстве случаев работа со следующими шестью клавишами не поддерживается под Windows 95/98/Me. Используйте в этом случае вариант их записи, приведенный выше, вместо следующего:

LControl (или LCtrl) - левый "Сontrol"

RControl (или RCtrl) - правый "Сontrol"

LShift

RShift

LAlt - левый "Alt"

RAlt - правый "Alt". Примечание: если на вашей клавиатуре вместо клавиши RAlt сделана клавиша AltGr, вы можете использовать следующую запись данной клавиши: <^>! Также заметим, что клавишу AltGr можно записать как сочетание клавиш "LControl & RAlt::".


PrintScreen

CtrlBreak

Pause

Break


Help - довольно редкая клавиша, присутствует далеко не на всех клавиатурах. И работает совсем не как F1.

Sleep - предупреждаем, что клавиша "Sleep" на некоторых клавиатурах не работает под этой записью.


Клавиши расширенных функций Мультимедийных и Интернет-клавиатур:

Browser_Back

Browser_Forward

Browser_Refresh

Browser_Stop

Browser_Search

Browser_Favorites

Browser_Home

Volume_Mute

Volume_Down

Volume_Up

Media_Next

Media_Prev

Media_Stop

Media_Play_Pause

Launch_Mail

Launch_Media

Launch_App1

Launch_App2


Запись вида SCnnn, где nnn - это сканкод клавиши, позволяет нам работать с остальными клавишами, не упоминавшимися выше. Подробнее об этом - см. ниже.

Возможна запись VKnn, где nn является шестнадцатиричным виртуальным кодом клавиши. Несмотря на то, что этот редко используемый метод поддерживается всеми версиями программы, только с версии 1.0.38.02 и выше для некоторых типов горячих клавиш реализовано предотвращение отслеживания их функцией "keyboard hook" (обработчик клавиатурных прерываний). Например, следующая комбинация клавиш не использует обработчик клавиатурных прерываний (keyboard hook), и как следствие может быть запущена нажатием как клавиши Home, так и NumpadHome:

^VK24::MsgBox Вы нажали Home или NumpadHome`, удерживая клавишу Control.

Джойстик

Joy1 - Joy32: кнопки джойстика. Для удобства определения номеров кнопок вашего джойстика был создан специальный тест-скрипт (см. ссылку в оригинале статьи). Обратите внимание, что такие префиксы, как ^ (control) и + (shift) здесь не поддерживаются (тем не менее, команда GetKeyState может использоваться). Также обратите внимание, что нажатия клавиш джойстика всегда обращены напрямую в активное окно, поддерживающее приём таких сигналов.

Несмотря на то, что следующие управляющие элементы джойстика не могут использоваться как горячие клавиши, их можно использовать при помощи команды GetKeyState:

JoyX, JoyY, и JoyZ: где X (горизонтальная), Y (вертикальная), и Z (высота/глубина) - оси координат джойстика.

JoyR: руль джойстика или 4-ая ось джойстика.

JoyU и JoyV: 5-ая и 6-ая оси джойстика.

JoyPOV: the point-of-view (hat) control (POV control, "шляпка" или "переключатель видов"; например, вид глазами игрока).

JoyName: название джойстика.

JoyButtons: количество кнопок, поддерживаемых джойстиком (не всегда точное).

JoyAxes: количество направлений, поддерживаемых джойстиком.

JoyInfo: генерирует строку, состоящую из нуля или более знаков, иллюстрирующих возможности джойстика: Z (имеется Z направление), R (имеется R направление), U (имеется U направление), V (имеется V направление), P (имеется POV control), D (POV control имеет ограниченное количество дискретных/промежуточных настроек), C (POV control передает непрерывные/точные данные). Пример строки: ZRUVPD.

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

Примечание: если у вас возникли проблемы с определением скриптами вашего джойстика, вы можете попробовать изменить номер джойстика с 1 на что-нибудь другое, даже несмотря на то, что к компьютеру у вас подключен всего один. Неизвестно, по каким мистическим причинам, но иногда это вместе с использованием нашего тестового скрипта даёт положительный результат.

Использование джойстика как мыши: специальный скрипт превращает ваш джойстик в мышь (см. ссылку в оригинале статьи).

Дистанционные пульты управления

Получение сигналов от дистанционных пультов управления с помощью специального клиентского скрипта WinLIRC - см. ссылку в оригинале статьи.

Специальные клавиши

Если ваши клавиатура или мышь имеют клавиши, не перечисленные выше, вы всё равно имеете возможность использовать их в качестве горячих клавиш, используя следующий метод (необходимы Windows NT/2000/XP или выше):

  1. Вначале убедитесь, что у вас проинсталлирован обработчик клавиатурных прерываний (keyboard hook) - #InstallKeybdHook.
  2. Запускаем этот скрипт, и затем двойным кликом по его иконке в системном трее открываем его главное окно.
  3. Затем нажимаем ту самую клавишу, которую пытаемся определить.
  4. Далее открываем меню окошка скрипта "View - Key history and script info" и прокручиваем записи до самого низа.
  5. Где-то внизу этого лога должны быть записи по нажатию-отпусканию нашей искомой клавиши. Сам лог обновляется нажатием клавиши F5. Примечание: если после нажатия искомой клавиши никаких записей в логе не появилось, значит такая клавиша не распознаётся данной программой. В этом случае вы не можете использовать данную клавишу как горячую, т.к. либо драйвер вашей клавиатуры, либо сама её "железная" составляющая даёт сигнал слишком низкого уровня, недоступного для AutoHotkey. В случае со "злобными" драйверами, вы можете попробовать либо перенастроить сами "родные" драйвера, либо заменить их на другие, более дружественые, например такие, как дефолтные клавиатурные драйвера Windows.
  6. Если ваша клавиша успешно определилась, обратите внимание на трехзначное шестнадцатеричное число во второй колонке лога (например, 159).
  7. Теперь, чтобы использовать данную клавишу как горячую, следуйте данному примеру:
    SC159:: ; Замените 159 на индекс вашей клавиши.
    MsgBox, Вы нажали клавишу %A_ThisHotKey%
    Return
    

Как альтернативный способ или в добавление к описанному выше: для переназначения какой-либо клавиши в нашу "искомую" клавишу, используйте запись вида #c::Send {vkFFsc159}. Замените 159 на индекс вашей клавиши, определённый вышеописанным методом. При необходимости замените буквы FF на те, что отображены в первой колонке лога "View-Key history" (код вашей виртуальной клавиши).

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.