2013-07-19 19 views
7

私はゲームコントローラのドライバを作成したいと思っています(コバルトフラックスwww.cobaltflux.com)。物理コントローラ自体には、9つのフェイスボタンと2つのコントロールボックスボタン(開始/選択)があります。コントロールボックスにはUSBポートがありますが、これまで私は誰にもドライバを書いた人は誰にもないと言えるでしょう。私が望む最終結果は、USBポートを介してコバルトフラックスを差し込み、ウィンドウにゲームコントローラとして認識させることです。USB経由で接続されたハードウェア用のゲームコントローラドライバを書く

私はプログラミングの経験があります。私はUC Davisのコンピュータサイエンスの上級学部生で、大規模な組み込みシステム会社のインターンですが、このプロジェクトでは、ハードウェアとソフトウェアをUSBポート経由でインターフェースしたり、ハードウェアからのフィードバックを調査したり(私はボタンを押すとビットが点灯します)、Windows用のドライバと実際には一般的なプログラムを作成します。

私はこの問題を解決するためのワークフローのために正しい軌道に乗ってくれそうな人を私は個人的に知らないので、私はここで尋ねています。私のようなものだろうなアプローチを想像:

は私がプッシュボタンの効果が

が、私はプログラムを書くUSBチャンネル上にあるものをポーリングするプログラムを開く

USB経由でデバイスを接続することそれらの信号をUSBポートからゲームコントローラドライバにインターフェースします。

joyPADのサポートが必要ですジョイスティックは一般的に入力の一方向のみを登録します任意の所定の時間。

ご迷惑をおかけして申し訳ございません。どこから始めたらいいか分かりません。

+0

不明瞭またはあまりにも広すぎるとして投票を閉じる。 –

+1

私は似たような質問をしており、それがあまりにも広すぎたり、不明瞭であるとは思わない。 Logitech Steering WheelコントローラはW8またはW10でサポートされていません。それを認識しますが、入力を読み取ることはありません。そのUSBポートで待ち受けるものを書いて、その情報をゲームコントローラのインターフェイスにマップできるようにしたいだけです。 – Tanoshimi

答えて

4

私はまったく同じ問題を1年以上も抱えていますが、まだ適切な解決策が見つかりませんでした。

USB経由でパッドを接続すると、そのデバイスであるデバイスIDとベンダーIDがアナウンスされます。 Windows Plug-and-Playはドライバの検索を開始します。このメカニズムは、ポインティングデバイス(私の場合は1つまたは2つのマウス)であり、生データ入力デバイスとして扱われることを確認します。これらのデバイスからの入力は、OSによって処理されるメッセージに変換されます。解決策は、そのような生の入力デバイスのメッセージを正しいハンドラに渡すことであるように思われる。私の場合、2つのマウスはどちらもマウスとして認識され、メッセージは実際には私のポインティングデバイスである3番目のマウスから来るものと同じハンドラで使用されます。私はrawinput APIを掘り下げるためにC++で十分な経験はありません。私はちょうど私の質問に答えとして興味深いリンクを受け取った:http://www.icculus.org/manymouse/これは少なくとも私の問題についての答えを与える。あなたのドライバーを書くためのアイデアをあなたに与えることができるかもしれません!がんばろう !!!ステファン

関連する問題