2013-07-19 35 views
7

我期待爲我擁有的遊戲控制器(鈷流量www.cobaltflux.com)創建驅動程序。物理控制器本身有九個面部按鈕和兩個控制盒按鈕(開始/選擇)。控制箱有一個USB端口,但據我所知,以前從來沒有人爲它寫驅動程序。我想要的最終結果是能夠通過USB端口插入鈷流,並讓Windows將其識別爲遊戲控制器。爲通過USB連接的某些硬件編寫遊戲控制器驅動程序

我有一些編程經驗。我是加州大學戴維斯分校計算機科學的高級本科學生,也是一家大型嵌入式系統公司的實習生,但是這個項目涉及到幾個方面,我沒有經驗:通過USB端口連接硬件和軟件,調查硬件的反饋,我沒有(我按下按鈕時點亮了哪些位?),併爲Windows創建驅動程序和一般程序。

由於我個人不認識任何能夠讓我在工作流程的正確軌道上解決此問題的人,所以我在這裏問。我想象中的做法會是這樣的:

我通過USB

我打開一個程序輪詢什麼推按鈕的作用是對USB通道

我寫一個程序連接設備是這些信號從USB端口連接到Windows的遊戲控制器驅動程序

可能值得注意的是我需要有joyPAD支持,而不是joySTICK支持按鈕,因爲播放將涉及按下任意數量的按鈕一次和遊戲杆一般只註冊一個輸入方向a t任何給定的時間。

任何意見或幫助將不勝感激。我無法確定從哪裏開始。

+0

投票結束時不清楚或太寬泛。 –

+1

我有類似的問題,並不覺得它太寬泛或不清楚。我有一個Logitech方向盤控制器,它在W8或W10中不受支持。它承認它,但不讀取任何輸入。我只想寫一些將在該USB端口上聽的東西,然後讓我將這些信息映射到遊戲控制器接口。 – Tanoshimi

回答

4

我在一年多的時間裏有完全相同的問題,我還沒有找到合適的解決方案。

當您通過USB插入打擊墊時,它會通過設備ID和供應商ID來通知它是哪個設備。 Windows即插即用開始搜索驅動程序。這個機制發現它是一個指向設備(在我的情況下是一個或兩個鼠標),並確保它被視爲原始數據輸入設備。來自這些設備的輸入被轉換爲由OS處理的消息。解決方案似乎是將這種原始輸入設備的消息傳遞給正確的處理程序。在我的情況下,兩隻老鼠都被識別爲老鼠,並且這些信息被同一個處理程序使用,而這些信號來自第三隻鼠標,這是我的指針設備。爲了挖掘rawinput API,我在C++編碼方面經驗不足。我剛收到一個有趣的鏈接,作爲我的問題的答案:http://www.icculus.org/manymouse/至少這給了我的問題的答案。可能會給你寫你的驅動程序的想法!祝你好運 !!! Stefan

相關問題