問題タブ [hid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - Bluetooth HIDデバイスが切断されたかどうかを検出するにはどうすればよいですか?
CreateFile
システム上のBluetoothHIDデバイスへの非同期ファイルハンドルを開くために使用しています。その後、デバイスはデータのストリーミングを開始し、私ReadFile
はデバイスからデータを読み取るために使用します。問題は、Bluetooth接続が切断された場合、障害を報告するのではなく、ReadFile
単に提供し続けることです。ERROR_IO_PENDING
報告するものがない場合、デバイスはデータを送信しないため、タイムアウトに依存することはできません。接続がまだ有効な場合はタイムアウトにしたくありませんが、しばらくの間データがないだけです。
それでも、Bluetoothマネージャー(WindowsとToshibaの両方)は、接続が失われたことにすぐに気付きます。したがって、この情報はシステム内のどこかにあります。に到達していないだけReadFile
です。
私は利用可能です:
- デバイスへのファイルハンドル(
HANDLE
値)、 - そのハンドルを開くために使用されたパス(ただし、新しい接続を作成するために、もう一度それを開こうとはしません...)
OVERLAPPED
非同期に使用される構造体ReadFile
。
この問題がBluetooth固有の問題なのか、HID固有の問題なのか、それとも一般的なデバイスで発生するのかはわかりません。私ができる方法はありますか
ReadFile
接続が切断されたときにエラーを返すようになる、または- 接続がまだ有効であるかどうか( 1秒間に少なくとも100回呼び出されるため、高速である必要がある)からタイムアウト時に迅速に検出する、または
ReadFile
ReadFile
- 私が考えていなかった別の方法でこの問題を解決しますか?
objective-c - Mac 環境で USB/HID ポートを Objective-C で使用する方法を教えてください。
Mac から外部 HID デバイスへの USB 経由の通信に大きな問題があります。ハードウェアは、Windows XP プラットフォームで実行すると問題なく動作することが証明されていますが、Cocoa / Objective-C を使用して HID をプログラミングする良い例を見つけることができません。Apple センターでいくつかの例を利用できますが、文書化が不十分であるか、複雑すぎる (目的の C と C が混在するソフトウェアに関しては、ファイルが理解しにくい) か、最新ではありません。ええと、私はソフトウェアのスペシャリストというよりもハードウェアの電子エンジニアであると言わざるを得ません! これまでのところ、USB ポートを列挙し、Apple の HID ツール ( PID と VID を読み取ります) を使用してデバイスを識別できますが、レポートを送信したり、外部デバイスからレポートを読み戻したりすることができません。あなたの一人が新しいAppleを使ったことがあるなら、私は確かに感謝します。■ HID API であり、いくつかのノウハウを共有できます。一方、Apple の OSX で動作する「USB スパイ」ツールはありますか? 手伝ってくれてどうもありがとう
マイケル
c# - HiD での DeviceIoControl の使用
C# (V studio 2008) で HiD ドライバーに書き込もうとしていますが、DeviceIoContol関数を使用してデバイスにアクセスすることにしました。ただし、この関数の 2 番目のパラメーターを何に置き換えるかについては困惑しています。ネットをトロールしても、有用または説明的なものは何も得られなかったので、アイデアをいただければ幸いです。
c# - 電話を HID (マウス) として登録する
Bluetooth を搭載した Windows Mobile 6.1 スマートフォンをマウスとして登録したいと考えています。
基本的に私が今やっていること:
- Guid {00001124-0000-1000-8000-00805f9b34fb} を持つデバイスで Bluetooth サービスを開始します
- デスクトップ PC からデバイスに接続します。
結果:
- デバイスは HID サービスを含むすべてのサービスで検出されますが、そのドライバーはありません
現在の回避策:
- Bluetooth サービスに接続してデータ ストリームを読み取るデスクトップ アプリケーション
望ましい解決策:
- サービスを Bluetooth マウスとして登録し、電話からマウス イベントを送信します。
Q:
- 希望するソリューションに到達するにはどうすればよいですか?
- そのための inf ファイルを作成する必要がありますか?
- Bluetooth サービスに追加情報を追加する必要がありますか?
- このサービスでマウス クリックを送信するにはどうすればよいですか?
現在、.NET CF SDK の .NETCF 3.5 と Microsoft.WindowsMobile.SharedSource.Bluetooth アセンブリを使用して C# で開発していますが、必要に応じて C++ で作業しても問題ありません。
c - OS Xで低レベルのキープレスをシミュレートする方法は?
プログラムでキーボードのキーダウンとキーアップのイベントを生成しようとしています。現在、これを行うために CGPostKeyboardEvent を使用していますが、より低いレベルでこれを行う方法を探しています。DDHidLib を見てきましたが、偽のイベントを作成する方法がわかりませんでした。誰でも助けることができますか?
更新: weichsel のアドバイスのおかげで、次のキーダウン イベントを作成しています。
ここで見つけました。
ただし、私の問題はまだ残っているので、少し詳しく説明します。キープレスを送信したいアプリケーション (サード パーティ) は、DDHidLib のキー キャプチャ機能を実装しています。
そして、これは現在のメソッドを使用して呼び出されることはありません。私の推測では、CGEventCreateKeyboardEvent でシミュレートされたキー ダウンのレベルが高すぎて、ddhidKeyboard:keyDown でキャプチャできません。だから私がやろうとしているのは、ddhidKeyboard:keyDown によって認識されるように十分に低いレベルでキーダウン イベントを作成することです。
usb - C8051F320のHID入力レポートキュー
ホストのデータの準備が整うとすぐに(WriteFileを使用してHIDにコマンドを送信し、HIDにポート値などのデータを返すように指示する場合など)、パケット内の準備完了ビットは次のようになります。設定すると、ReadFileが呼び出される前に、ホストはそれを読み取ります(別のUSB割り込みによって確認されます)。ReadFileは、後でこのデータをホストのバッファーに入れるために使用されます。これはそれが起こるべき方法ですか?ReadFile呼び出しがin割り込みを引き起こすことを期待していました。
だからここに私の問題があります:私は一緒にうまく機能するGUIとHIDを持っています。HIDは別のICに対してI2Cを実行でき、GUIはHIDにI2Cを正常に実行するように指示できます。起動時に、GUIはHIDからデータを読み取り、正しい値(たとえば、0x49)を取得します。同じHIDに対して2番目のGUIを開くと、HIDから読み取られた同じ初期データが実行され、正しい値が取得されます(たとえば、0x49。最初のGUIの読み取りと同じである必要があります)。ここで、最初のGUIに移動してI2C読み取りを行うと、リードバック値は0x49になります。これは、2番目のGUIがHIDから要求した値です。HIDは、接続されているすべてのデバイスのエンドポイントにこの値を設定しているようです。したがって、1番目のGUIは、これが正しい値であると誤って判断します。
JanAxelsonのHIDFAQによると、「HIDへの開いているハンドルにはすべて独自のレポートキューがあります。デバイスが送信するすべてのレポートはすべてのキューに入れられるため、複数のアプリケーションが同じレポートを読み取ることができます。」これが私の問題だと思います。正しい値(HIDがデバッガーごとに送信する)が通過するように、最初のGUIが要求を行う前に、これをパージしてエンドポイントをクリアするにはどうすればよいですか?HidD_FlushQueueを試しましたが、Falseが返され続けます(機能しません。同じハンドルでWriteFile / ReadFileが成功するたびにハンドルは有効ですが、「ハンドルが無効です」というエラーが発生し続けます)。何か案は?
ありがとう!
c++ - HID インターフェイスを C++ で POS またはキーボードに決定する
さまざまな USB インターフェイス (COMM エミュレーション、HID キーボード、HID POS など) を処理できるバーコード スキャナー デバイスをいくつか持っています。 HID キーボードまたは HID POS かどうかを判断できるようにします。
Win32 C++ を使用して、できれば組み込みの Windows HID ライブラリ (hidsdi.h) を使用してこれを判断する方法はありますか?
c# - C# を使用して Windows CE 6.0 で USB HID デバイスを使用する
組み込みのWindows CEプロジェクトに取り組んでおり、USB ホスト ポートの 1 つを介して USB HID デバイスにアクセスすることに関心があります。私が実際に読む必要があるのは、未加工の HID 仕様パケットだけです。
Windows コンピューターでは、hid.dll を使用する作業プログラムがありますが、調査した限り、Windows CE には同等のものはありません。usbhid.dllファイルがあることは知っていますが、この状況に適用できるかどうかはわかりません。C# でコーディングしたいので、カーネル レベルのドライバーを作成したくありません。Windows CE で HID デバイスを使用するにはどうすればよいですか?
windows - GetRawInputData からの HID デバイス情報構造体
HID デバイスの構造はどこで入手できますか?
例えば:
生のストリームを分析することで、ボタン、スイッチ、およびアナログ データがどこにあるかを把握できます。Windows からこの情報を確認する方法はありますか。
私の主な目標は、基本的に構造を取得することです。
私が見つけた唯一の解決策はHID Descriptors
. しかし、私はそれらを使用する方法がわかりません。ドキュメントを読んだ後、私はレンガの壁にぶち当たったような気がしました。それらを使用する方法の良い例や、それらをよりよく説明している本はありますか。(または、記述子なしで行うより簡単な方法)
構造を抽出する方法を見つけましたがHidP_GetButtons
、HidP_GetUsages
まだわかりません(上記のように)。
c# - ユニバーサルリモコンのプログラミング
リモコン RM200 を持っていて、キーの押下を検出してアプリケーションに送信できるようにプログラムしたいと考えています。
では、どの API を Windows で使用できますか?
HID USB API? IRDA API?
よくわかりません。
私のリモコンはIRDAリモコンですが、HID USB APIでこのデバイスをプログラムできると読んだことがありますか????