Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.



 
ФорумПоследние изображенияРегистрацияВход

 

 [FAQ] Autohotkey (горячие клавиши)

Перейти вниз 
АвторСообщение
Ice_Cube

Ice_Cube


Сообщения : 32
Дата регистрации : 2012-02-26
Возраст : 30
Откуда : Витебск

[FAQ] Autohotkey (горячие клавиши) Empty
СообщениеТема: [FAQ] Autohotkey (горячие клавиши)   [FAQ] Autohotkey (горячие клавиши) EmptyВс Фев 26, 2012 7:45 pm

[FAQ] Autohotkey (горячие клавиши) 132a61904dfb

Программа Autohotkey позволяет выполнять действия нажатием клавиши или комбинацией клавиш, кроме того позволяет выполнить несколько действий нажатием одной клавиши.
Скрипты (бинды) пишутся в текстовом файле формата .ahk, где указывается кнопка и её функция.
Для того что бы создать бинд, после установки программы, кликаем правой кнопкой мыши на пустом месте рабочего стола, или в любой папке, далее выбираем создать и Autohotkey Script.
Для того что бы редактировать готовый бинд необходимо нажать правой кнопкой мыши и выбрать "Edit Script".

[FAQ] Autohotkey (горячие клавиши) B0725264fd69

Например, если запустить этот скрипт, при нажатии на кнопку home будет набрано слово hello.
Код:
home:: send, hello


Для того чтобы написать что либо в игровой чат нужно эмулировать нажатие F6, для этого в коде бинда берём F6 в фигурные скобки - {f6}
Код:
home:: send, {f6}hello
Таким образом нажатие home отправит слово hello в игровой чат, что бы сообщение сразу отправилось добавляем в конец {enter}, для отступа - {space}, например удобно что бы после команды /id оно сразу сделало отступ, добавляем {space} в конец строки.

Для того что бы сделать комбинацию нажатия кнопки и клавиши необходимо добавить:
ctrl - ^
alt - !
shift - +
windows - #

Т.е что бы забиндить фразу на ctrl и букву A:
Код:
^a:: send, hello


Что бы текст набирался моментально, на windows XP нужно использовать sendplay вместо send, на windows 7 и vista - sendinput вместо send.

Для того что бы забиндить несколько фраз на одну кнопку необходимо использовать задержку sleep после которой идёт значение задержки в миллисекундах (1000 - 1 секунда), 1й идёт срока с кнопкой, со следующей строки пишем действие, заканчиваться всё это должно командой end или return.

Код:
!b::
sendplay, {f6}Здравствуйте, меня зовут Кенджи{enter}
sleep 1100
sendplay, {f6}/me улыбнулся{enter}
exit

В этом случае при нажатии alt и b будет введено и отправлено две фразы в чат, после первой фразы будет задержка на 1.1сеунду, что позволит обойти антифлуд.

Начало каждого бинда следует начинать со строки, которая сделает бинд не активным вне игры GTA:SA.
Код:
#IfWinActive GTA:SA:MP

Если вы хотите ставить бинд на паузу используйте команду pause, ниже кнопка клавиатуры end ставит бинд на паузу.
Код:
end:: pause


Как забиндить некоторые уникальные кнопки представлено в следующем посте.

Список клавиш и кнопок мыши/джойстика
Мышь (работает только с 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" (код вашей виртуальной клавиши).
Вернуться к началу Перейти вниз
 
[FAQ] Autohotkey (горячие клавиши)
Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
 :: FAQ-
Перейти: