magiccar 發表於 2011-12-11 23:16

PS2搖桿控制模組組合鍵應用

關於林同學,提到16軸機器人的程式中,搖桿按指令程式段裡面的Case 都是採對應單一搖桿按鍵,可否運用組合鍵 (例如x + o 同時按)來操控?
答案是肯定的,因為是PS2的搖桿,這項特異功能當然不能少。

先下載PS2搖桿控制模組 Gamepad Ps 使用手冊來參考
(表一)

Event Ps.Dir4WayEvent()
      Ps.GetDir4Way(b4Way)
      Select Case b4Way
                Case 1 : b4way = 1
                Case 2 : b4way = 2
                Case 3 : b4Way = 4
                Case 4 : b4Way = 8
      End Select      
      wKeyStatus = b4Way*4096 + wStatus
End Event
Event Ps.KeyPressedEvent()      
      wStatus = Ps.GetKeyStatus()      
      wKeyStatus =wStatus +b4Way*4096      
End Event

上面的控制程式中我們知道wKeyStatus 是由wStatus及b4Way加權運算合成的,而值的來源即為按鍵按下的狀態,只要你手夠快,12個按鍵的組合它都能偵測到。
就用 X+O 組合鍵來舉例好了:
從(表一)中我們得知"O"按下是Bit 1=1,而"X"按下是Bit 2=1
因此wStatus = Ps.GetKeyStatus() 的輸出用二進位來表示,就是"000000000110",換算成十進位就是"6"。
所以你在下面程式段中在加入”Case 6”,就能做出對應組合鍵的功能了 
      Select Case wKeyStatus
                Case 1         : PressUp   '三角      
                Case 2         : Turn_R()  '圓
                Case 4         : HeadStand() '×
                Case 6         : 你的指令()  ' O + X
     :
     :

頁: [1]
查看完整版本: PS2搖桿控制模組組合鍵應用