JoyX JoyY для отправкиВвода

JoyX JoyY для отправкиВвода

Мой джойстик/геймпад имеет стандартные 10 кнопок, а также кнопки осей X и Y. Скрипт ниже работает, но не так, как мне нужно:

Right::
GetKeyState, state, JoyX
If state > 75 ;JoyX is pressed to right
SendInput testmessage

Этот скрипт будет выводить «testmessage» при нажатии клавиши со стрелкой вправо на клавиатуре, когда JoyX > 75. Я хочу, чтобы при JoyX > 75 он отправлял «testmessage» без необходимости нажимать клавишу со стрелкой вправо на клавиатуре.

Я попробовал использовать JoyX в качестве горячей клавиши или X100 Y050, но получил сообщение об ошибке: текущая горячая клавиша JoyX не будет активна, так как ее нет в раскладке клавиатуры.

Спасибо!

решение1

У джойстика есть состояние, которое необходимо опрашивать, поскольку у него нет события «кнопка», на которое можно было бы реагировать. Ниже используетсяПереназначение джойстика на клавиатуру или мышьдля вдохновения, в частностиСоздание оси джойстика или POV Hat для отправки нажатий клавиш или щелчков мышираздел. Он использует таймер для периодического опроса состояния джойстика и отправляет ввод, когда состояние >75.

#Persistent  ; Keep this script running until the user explicitly exits it.
SetTimer, WatchAxis, 5
return

WatchAxis:
GetKeyState, state, JoyX
If state > 75 ;JoyX is pressed to right
    SendInput testmessage
return

Чтобы все работало хорошо, вам придется поиграться с частотой опроса таймера (в настоящее время 5) и, возможно, реализовать стиль KeyToHoldDownотслеживания состояния, в противном случае текст может отправляться неоднократно.

Связанный контент