AUTOHOTKEY - как отправить управление K с помощью джойстика

Кажется, я не могу заставить синтаксис для autohotkey работать в скрипте, который я хочу отправить следующие входные данные в мою игру с помощью джойстика

Joy7::send {^1}
Joy8::send {^k}
Joy13::send {^u}

Я пробовал следующее:

Joy8::send {Control k}
Joy8::send {Ctrl k}
Joy8::sendinput {Control k}
Joy8::send ^{k}
Joy8::sendinput ^{k}

вроде ничего не работает.


person Kalamalka Kid    schedule 22.05.2018    source источник


Ответы (1)


Есть несколько потенциальных точек отказа в том, что вы пытаетесь сделать: наличие правильного ключевого кода, отправка правильного сообщения и принятие программой отправленных ключей.

Я предполагаю, что вы уже правильно определили свой Joy8 и еще много чего.

Что касается отправки правильных вещей, я обнаружил, что некоторые места лучше реагируют на {Ctrl Down} k {Ctrl Up}, чем на перечисленные вами методы, так что вы можете попробовать это и посмотреть, работает ли это.

Наконец, некоторые игры очень хорошо мешают Autohotkey взаимодействовать с ними, и в этом случае это может быть чрезвычайно сложно. Возможно, вы уже смотрели в этом AHK в руководстве по играм, но если у вас его нет, это может быть полезно.

Также с точки зрения устранения неполадок, открывается ли новая вкладка с помощью Joy8 :: Send, ^ t в веб-браузере?

Также могут помочь ошеломляющие вводы:

Joy8::
Send, {Ctrl Down}
Sleep, 5
Send, {k down}
Sleep, 5
Send, {k up}
Sleep, 5
Send, {Ctrl up}
person D. Kendall    schedule 22.05.2018
comment
вот ситуация. Я использую так называемый трейнер, исполняемый файл, который отправляет данные в память запущенной игры. Этот тренер использует клавиатуру для ввода. Я нажимаю Ctrl K на клавиатуре, и тренер выполняет действие, которое он должен. Я думал, что использование Autohotkey просто имитирует нажатия клавиш, которые в данном случае не работают из-за синтаксических ошибок. Если бы я знал правильный синтаксис, я мог бы устранить неполадки оттуда, но я даже не уверен, какой из них правильный. - person Kalamalka Kid; 23.05.2018
comment
{Ctrl Down} k {Ctrl Up} это должно быть в одну строку вот так? Чтобы упростить это, я взял джойстиком код и просто использовал клавишу 'e' вот так: e :: Send {Ctrl Down} k {Ctrl Up}, но это тоже не сработало. - person Kalamalka Kid; 23.05.2018
comment
Итак, несколько вещей, о которых я упомянул на странице форума, которые вы, возможно, захотите попробовать: запустить сценарий от имени администратора и поместить очень короткую команду сна между частями отправки (я отредактирую свой ответ, чтобы включить этот код). - person D. Kendall; 23.05.2018
comment
Спасибо за вашу помощь. Оказывается, приложение, которое я пытался отправлять, не могло получать их без некоторых изменений. Автор программы исправил проблему. Спасибо. - person Kalamalka Kid; 02.06.2018
comment
Как хорошо! Рад, что вы можете отправить эти данные сейчас :) - person D. Kendall; 04.06.2018