1

Тема: AHK: Эмуляция отпускания клавиши при её нажатии

Нужно чтобы при нажатии, к примеру, кнопки R в игру сразу посылалось отпускание этой кнопки.

Суть в том что в WоW способности срабатывают на отпускание кнопки, что не слишком удобно и занимает некоторое время.

Пробовал такой скрипт:

WinGet, wowid, List, World of Wаrсrаft
    ~F5::Suspend, Toggle
Return

#IfWinActive, World of Wаrсrаft
   ~r::
   ControlSend,,{r up},  ahk_id %wowid1%
return

В принципе работает, но эмуляция доходит до игры так долго, что я за это время бы уже 3 раза вручную отпустил кнопку.

P.S.: подобную эмуляцию отпускания, но только для мышки сделал с помощью программы X-Mouse Button, и она срабатывает мгновенно безо всяких задержек. Вот и думаю, раз уж другая программа смогла сделать подобное адекватно, должно быть в скрипте что-то не так?

2

Re: AHK: Эмуляция отпускания клавиши при её нажатии

Kokkolar пишет:

P.S.: подобную эмуляцию отпускания, но только для мышки сделал с помощью программы X-Mouse Button, и она срабатывает мгновенно безо всяких задержек. Вот и думаю, раз уж другая программа смогла сделать подобное адекватно, должно быть в скрипте что-то не так?

Судя по описанию "X-Mouse Button" устанавливает свой драйвер для мыши(возможно фильтр). Естественно AHK не может соперничать с ним по скорости и надёжности.

3

Re: AHK: Эмуляция отпускания клавиши при её нажатии

Что интересно, если эмулировать не ту же самую кнопку, которая является хоткеем, то все срабатывает моментально.
Например, если забиндить на "R" эмуляцию "T", вызов будет мгновенный.

4 (изменено: creature.ws, 2011-12-15 14:33:47)

Re: AHK: Эмуляция отпускания клавиши при её нажатии

Хоть вопрос и не об этом — уточню: #IfWinActive, World of Wаrсrаft подразумевает, ~r:: будет выполнятся исключительно если активно окно приложения с заголовком содержащим «World of Wаrсrаft»
ControlSend же оправданно использовать в случае если нажатия клавиш необходимо отправить в специфический контрол окна либо в неактивное окно.
Считаю целесообразным использовать Send/SendInput/SendPlay.
Нечто вида:

#IfWinActive, World of Wаrсrаft
   ~$vk52::SendInput {vk52 up}

5

Re: AHK: Эмуляция отпускания клавиши при её нажатии

Kokkolar пишет:

Суть в том что в WoW способности срабатывают на отпускание кнопки...

http://s41.radikal.ru/i091/1112/e7/424a2aab194a.jpg

6

Re: AHK: Эмуляция отпускания клавиши при её нажатии

creature.ws, спасибо. Кнопка отжимается моментально и никаких задержек!

Grey, в классическом WoW настройки крайне бедны и такого там нет, а современный меня не устраивает.

7

Re: AHK: Эмуляция отпускания клавиши при её нажатии

2 Kokkolar Я в них вообще не разбираюсь, потому, что не играю в такой тип игр, а картинка, для того, чтобы получить комментарий.