
我的操縱桿/遊戲手把有標準的 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
狀態追蹤的樣式,否則您可能會重複發送文字。