1 (изменено: BLOK, 2017-11-07 13:48:51)

Тема: AHK: Иммитация функций клавиш мыши

Пытаюсь сделать иммитацию функций клавиш мыши. То есть хочу что бы при зажатии клавиши клавиатуры обе клавиши мыши тоже зажимались, а когда отпускаю клавишу то соответсвенно и клавиши мыши тоже отпускались. Такое вообще возможно сделать в AHK? ̶И̶ ̶в̶о̶з̶м̶о̶ж̶н̶о̶ ̶л̶и̶ ̶б̶и̶н̶д̶и̶т̶ь̶ ̶н̶а̶ ̶п̶р̶о̶с̶т̶ы̶е̶ ̶к̶л̶а̶в̶и̶ш̶и̶ ̶п̶о̶ ̶т̶и̶п̶у̶ ̶"̶Q̶,̶ ̶W̶,̶ ̶E̶,̶ ̶R̶,̶ ̶T̶,̶ ̶Y̶.̶.̶.̶"̶,̶ ̶а̶ ̶т̶о̶ ̶у̶ ̶м̶е̶н̶я̶ ̶э̶т̶о̶ ̶с̶д̶е̶л̶а̶т̶ь̶ ̶н̶е̶ ̶в̶ы̶х̶о̶д̶и̶т̶. Как узнать код клавиши (как к примеру клавиша "F" у меня это "vk46")?
Я вот представляю себе этот код примерно так -

home:: Send,
if home = down
{LButton Down}{RButton Down}
else {LButton up}{RButton up}
return

Но, не могу проверить работает ли такая схема вообще т.к. не знаю как правильно прописывать условия.
Или может какая альтернатива есть к поставленной задаче?
Если возможно то объяснятесь что бы и дураку было понятно.

-------------
Мне предложили вариант:

vk46::
GetKeyState, state, VK46, P
if state = D
Click Down, Click Right Down
else
Click Up, Click Right Up
return

Но к сожалению при клике на "F" он залипает и не отпускает клавишу, а при зажажатии клавиши "F" он залипает много раз (прокликивает).  И этот вариант кода (в отличии от различных вариаций предыдущего) почему то не работает в окне(или результат действия не заметен).

2

Re: AHK: Иммитация функций клавиш мыши

BLOK, заголовок темы должен отражать суть вопроса. В конце предложений должны быть знаки препинания. Исправьте.

3

Re: AHK: Иммитация функций клавиш мыши

ypppu
Поправил...

4

Re: AHK: Иммитация функций клавиш мыши

BLOK пишет:

Такое вообще возможно сделать в AHK

Перевод справки AHk. В "Введение" описанны основные возможности.
Можно так:

Home::Send {LButton Down}{RButton Down}
Home Up::Send {LButton Up}{RButton Up}

или так:

Home::
While GetKeyState(A_ThisHotkey,"p") { ; Будет повторять пока зажат хоткей
Send {LButton Down}{RButton Down}
Sleep 10
}
Send {LButton Up}{RButton Up}
Return
BLOK пишет:

Как узнать код клавиши (как к примеру клавиша "F" у меня это "vk46")?

Скрипт для определение виртуальных и скан-кодов клавиатуры

5

Re: AHK: Иммитация функций клавиш мыши

serge
Супер дружище! Сасибо!
Код что ты написал:

Home::Send {LButton Down}{RButton Down}
Home Up::Send {LButton Up}{RButton Up}

Работает конечно странно (в плане того что вне окна игры он всё так же просто кликает много раз при зажатии клавиши), но в игре он работает именно так как и нужно!(что собственно немного удивляет) А второй код работает точно так же как и первый. (Любопытно есть ли в них разница кроме написания...) Поменял в коде лишь клавишу под нужды и теперь всё просто замечательно.
И за справочный материал спасибо ибо английским к сожалению не владею.

Так как проблема была решена и на все интересующие вопросы был получен исчерпывающий ответ тему можно считать закрытой.
Спасибо за помощь!

6

Re: AHK: Иммитация функций клавиш мыши

Наверное, так нужно было:

home::
   Send {LButton Down}{RButton Down}
   KeyWait, Home
   Send {LButton Up}{RButton Up}
   Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Иммитация функций клавиш мыши

BLOK пишет:

Как узнать код клавиши (как к примеру клавиша "F" у меня это "vk46")?

Полезнейшая приспособа в этой теме от teadrinker.

8 (изменено: BLOK, 2017-11-07 18:18:28)

Re: AHK: Иммитация функций клавиш мыши

teadrinker
Хм... Круто! Этот код работает полностью исправно. Были даже устанены недостатки предыдущего кода. Молоток парень!
Правда я настолько криворук, что назначить на другую клавишу у меня не вышло...
Казалось бы -

vk46::
   Send {LButton Down}{RButton Down}
   KeyWait, vk46
   Send {LButton Up}{RButton Up}
   Return

должен работать, но что то пошло не так... И код начал работать иначе...

9

Re: AHK: Иммитация функций клавиш мыши

С точки зрения синтаксиса всё правильно. Если применяется в игре, то уже вопросы к ней.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder