1

私はシングルボタンのUSBコントローラーを持っていますが、ドライバーは付属していません(単に、意図された目的のために直接通信するWindowsプログラム)。

USB Fidget
ベンダーID:0x1d34
製品ID :0x0001
製品名:DL100A Dream Cheeky Generic Controller

そこで、ボタンが押されているかどうかを読みたいと思います。私の主な開発環境はMacですが、このソリューションをWindowsでも実行したいと思います。したがって、理想的にはクロスプラットフォームソリューションが最適です。

同じメーカーの他のデバイスのコードを見つけることができますが、製品IDに違いがあるため、コードが機能せず、ベンダー/製品以外のものを変更するための理解が不足しています

私が理解している限り、機能要求パケットでUSBデバイスをポーリングする必要がありますか?

ボタンを押したときに実際に何が起こっているかを確認できるように、USBデバイスを「監視」するために使用できるソフトウェアはありますか?そうでない場合は、どうすれば自分で何かを書くことができますか?

4

3 に答える 3

2

私はそれを処理するクロスプラットフォームの方法を知りません。これは、ランダムな HID ハードウェア用のドライバー アプリを作成する方法について、私が人々に紹介するプレゼンテーションです。

https://developer.apple.com/videos/wwdc/2011/?id=207

于 2012-09-25T15:50:49.590 に答える
2

基本的に MacO では、非常に大量の USB デバイスが IOUserClient を介して動作します。この標準クラスは、(IOKit フレームワークのユーザーモード部分を使用して) カーネルモードドライバーなしでデバイスを制御する機能をユーザーモードプログラムに提供します。USB Prober を使用して USB パケットをスニッフィングするには、この記事http://developer.apple.com/library/mac/#qa/qa1370/_index.htmlから始めます。

Windows標準の方法-標準USBドライバー+標準HIDドライバー、標準よりも追加機能を開発しない場合、特定のベンダードライバーは必要ありません。商用またはフリーウェアのツールを使用して、USB パケットをスニッフィングできます - このようなhttp://www.hhdsoftware.com/usb-monitor

于 2012-09-25T13:29:40.770 に答える