Тема: AHK: Настройка автозамены на геймпаде для джойстика
Передо мной стоит такая задача. Необходимо сделать так чтобы при двойном отклонении джойстика нажималась на клавиатуре определённая клавиша. Получился такой скрипт (см. ниже), но не все работает и не совсем так как хотелось бы.
При вводе с клавиатуры
00
автозамена срабатывает на
airline
, но при вводе с геймпада автозамена не работает. Нужна помощь, подскажите где копать, или может какой то другой подход к данной задаче кто то предложит?
#Persistent ; Keep this script running until the user explicitly exits it.
SetTimer, WatchAxis, 5
return
WatchAxis:
GetKeyState, JoyU, JoyU ; Get position of X axis.
GetKeyState, JoyR, JoyR ; Get position of Y axis.
KeyToHoldDownPrev = %KeyToHoldDown% ; Prev now holds the key that was down before (if any).
if JoyU > 80
KeyToHoldDown = 0
else if JoyU < 20
KeyToHoldDown = Numpad1
else if JoyR > 80
KeyToHoldDown = VK32
else if JoyR < 20
KeyToHoldDown = VK33
else
KeyToHoldDown =
if KeyToHoldDown = %KeyToHoldDownPrev% ; The correct key is already down (or no key is needed).
return ; Do nothing.
; Otherwise, release the previous key and press down the new key:
;SetKeyDelay -1 ; Avoid delays between keystrokes.
;if KeyToHoldDownPrev ; There is a previous key to release.
; SendInput, {%KeyToHoldDownPrev% up} ; Release it.
;if KeyToHoldDown ; There is a key to press down.
; SendInput, {%KeyToHoldDown% down} ;
SendInput %KeyToHoldDown%
return
:b*?:00::airline