1

Тема: AHK: Нажимается другая клавиша. Чудо

Форумчане, всем привет. Я новичок в программировании, не бейте. Суть: есть клавиатура Razer BW, на ней я записал макрос (нажатие клавиши Пробел через определенные промежутки времени). Повесил макрос в ПО клавиатуры на ...пусть F7. Где бы я не нажимал F7, макрос работает. Ок, теперь мне надо, чтобы в скрипте, через каждые 2 минуты нажималась клавиша F7 и запускался макрос, что справедливо.
Нет, не работает, запускается только клавиша F7 ну или любая другая - повешу макрос на "О", отрабатывает везде, кроме скрипта. Прилагаю код скрипта:

#Persistent   
SetTimer, PressTheKey, 1165  ;задержка маленькая для проверки в блокноте. Мне нужна задержка 116500               
Return

PressTheKey:
Send, {0} ;макрос повесил на ноль
Return
F2:: Reload ;для быстрого перезапуска скрипта одновременно с нажатием клавиши макроса для последовательности.
F6:: Pause, On

Я пришел к выводу, что работать скрипт не будет, и есть такой вариант - вручную вбить все задержки и Space (около 200) т.к. ПО Razer не предполагает копирования текста макроса напрямую. Ну или есть шанс запустить скрипт, чтобы отрабатывал как надо?

2

Re: AHK: Нажимается другая клавиша. Чудо

qetele пишет:

повешу макрос на "О"

qetele пишет:
Send, {0} ;макрос повесил на ноль

Во-первых, O  и 0 — не одно и то же. Во-вторых, возможно, макрос клавиатуры требует физического нажатия клавиши.
Решение: не пользоваться макросом, а написать всё на AHK, если всё равно уж он используется.

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

3

Re: AHK: Нажимается другая клавиша. Чудо

Никаких чудес: просто таким образом взаимодействует ahk с ПО для макросов.
Можно попробовать все режимы send (используя SendMode).
Если не поможет, то следует переписать макрос на ahk и использовать только его.

4 (изменено: qetele, 2016-08-29 00:21:13)

Re: AHK: Нажимается другая клавиша. Чудо

teadrinker пишет:

Во-первых, O  и 0 — не одно и то же.

Извините, да, опечатался, независимо от клавиши не работает.

teadrinker пишет:

Решение: не пользоваться макросом, а написать всё на AHK, если всё равно уж он используется.

Не подскажете как в этот мой код добавить к примеру Пробел, задержка нужная, пробел - повторить n раз. Сам кусок кода для двух строк.

Drugoy пишет:

Можно попробовать все режимы send (используя SendMode).

Прошу пожалуйста, подскажите синтаксис команд? Как корректно указать это в моем коде? Весь выходной просто убил на это..
upd. Режимы попробовал.

#Persistent
SendMode Play ;тут менял Input|Play|Event|InputThenPlay, не помогло
SetTimer, PressTheKey, 1165                       
Return

Добавлю:
Решил состряпать код с вводом вручную.

#Persistent
SendMode Input
2:: ;если ставить клавишу Пробел - не работает!
  ;Loop  повтор
  sendinput, {space}        
  Sleep 4000  
  sendinput, {space}        
  Sleep 1326
  sendinput, {space}
  sleep 6000
Return
F2:: Reload
F6:: Pause, On

Проверил в блокноте, задержка на третьей строчке не работает, хоть 100 хоть 10 000..Да что за такое? Ракеты в космос запускают люди, а тут. Все же верно написал? Проверяю, пробел, задержка 4 сек, пробел, задержка в сек и снова пробел. Как тогда написать 100 строк?

5

Re: AHK: Нажимается другая клавиша. Чудо

qetele, ваш код работает, как написано: пробел, пауза в 4 сек, пробел, пауза в 1.3 сек, пробел, пауза в 6 сек. А как именно вам нужно? Опишите алгоритм.

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