圓創力科技

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

查看: 5581|回復: 0

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

[複製鏈接]
magiccar 發表於 2011-12-11 23:16 | 顯示全部樓層 |閱讀模式
關於林同學,提到16軸機器人的程式中,搖桿按指令程式段裡面的Case 都是採對應單一搖桿按鍵,可否運用組合鍵 (例如x + o 同時按)來操控?
答案是肯定的,因為是PS2的搖桿,這項特異功能當然不能少。

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

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 是由wStatusb4Way加權運算合成的,而值的來源即為按鍵按下的狀態,只要你手夠快,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
     :
     :

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

QQ|Archiver|手機版|小黑屋|圓創力科技有限公司 IOP Robotic Technology Co.,Ltd Tel: 07-3924582 Fax: 07-3924001

GMT+8, 2024-11-23 19:05 , Processed in 0.028714 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表