JoyX JoyY 發送輸入

JoyX JoyY 發送輸入

我的操縱桿/遊戲手把有標準的 10 個按鈕以及 X 和 Y 軸按鈕。下面的腳本可以工作,但不是我想要的方式:

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

這個腳本的作用是當我在 JoyX > 75 時按鍵盤上的右箭頭鍵時打印“testmessage”。鍵盤上的箭頭鍵。

我嘗試使用 JoyX 作為熱鍵,或 X100 Y050,但收到錯誤訊息:當前熱鍵 JoyX 將不會處於活動狀態,因為它不在鍵盤佈局中。

謝謝!

答案1

操縱桿具有必須輪詢的狀態,因為它沒有要回應的「按鈕」事件。下面用到了將操縱桿重新映射到鍵盤或滑鼠尋求靈感,特別是使操縱桿軸或 POV 帽發送擊鍵或滑鼠點擊部分。它使用計時器定期輪詢操縱桿的狀態,並在狀態 >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狀態追蹤的樣式,否則您可能會重複發送文字。

相關內容