問題タブ [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.

0 投票する
4 に答える
12213 参照

c++ - USBデバイスハンドルに排他ロックがあるプロセスを確認します

CreateFile()APIを使用してUSBデバイスに対して読み取り/書き込みを行うライブラリがあります。デバイスは、MicrosoftのHIDクラスドライバーと互換性があるように、HIDデバイスプロファイルを実装します。

システムにインストールされている他のアプリケーションが、共有モードのない読み取り/書き込みモードでデバイスを開いています。これにより、私のライブラリ(およびそれを消費するもの)がデバイスで機能しなくなります。これは、HID互換デバイスであることに問題があると思います。他のドライバーソフトウェア(マウス、コントローラー、PHIDGETSなど)は非協調的である可能性があります。

とにかく、デバイスファイルのパスは次の形式です。

そして、私は次のようなコードを使用してそれを開こうとしています:

SysInternalsのFileMonやProcessMonitorのようなツールを検討しました。しかし、上記のようなデバイスファイルハンドルの使用状況を報告することはできないようです。

0 投票する
6 に答える
31563 参照

c++ - Windows で USB HID デバイスと通信するのに最適な USB ライブラリは何ですか?

ライブラリは次のことを行う必要があります。

  • 使いやすく、数行のクライアント コードで多くのことを達成する必要があります
  • 可能な限りプラットフォームに依存しないようにします。(将来的に他のプラットフォームに移植する場合)
  • C++ バインディングがあります。
  • 成熟して安定していること

また、コールバックを通じてほとんどの HID イベントの通知を受け取りたいです。

次の代替案を検討しました。

  • libhid - (残念ながら?) これは GPL であり、私のアプリケーションでは使用できません。
  • WDK - 私の使用には少し低レベルのようです。私はそのような制御を必要としません。
  • atusbhid - これには適切なレベルの抽象化がありますが、Windows メッセージング ループにしっかりと結び付けられています。

他に提供できる代替案はありますか?

0 投票する
1 に答える
7343 参照

windows-mobile - Windows Mobile デバイスで Bluetooth HID デバイスをエミュレートする

Windows Mobile デバイスを Bluetooth 経由で PC に接続し、HID デバイス (つまり、キーボードまたはマウス) として PC に表示する方法を探しています。これは主に、Windows Mobile デバイスで使用可能な Bluetooth プロファイルを変更して、Bluetooth HID インターフェイスを公開することになると思います...それは可能ですか? WinMo デバイスにカスタム ドライバーまたは何かが必要ですか?? ほとんどの場合、私の主な要件は、PC 側で特別なソフトウェアを必要とせず、組み込みの Bluetooth スタックを使用するだけで、WinMo デバイスが実際には PDA ではなく HID デバイスであると見なすことです。

バーコード スキャン機能を備えた WinMo デバイスを持っているので、PDA を使用して、その HID インターフェイスを使用してバーコードを PC にスキャンできるようにしたいと考えています。

また、私は主にC++とC#を使用しているので、これらの言語のいずれかで実行できる場合は、それが最適です.

助言がありますか?

0 投票する
2 に答える
1509 参照

windows-vista - USB HID ペンの要件

Windows Vista に USB HID ペン ドライバーはありますか? その場合、Windows Vista にペンを認識させ、ペン ドライバをロードさせるための USB 記述子の要件は何ですか?

探しているのは、HIDマウスドライバー、HIDキーボードドライバー、マスストレージドライバーに相当するペンです。上記のサンプル ドライバーを使用すると、新しいドライバーをインストールしなくても、Windows、Linux、および Mac OS でマウス、キーボード、およびメモリ スティックを認識できます。

Windows Vista では、ペンの多くのネイティブ サポートがあり、(USB プロトコルの観点から) 標準の HID 使用テーブルのみを使用して USB ペン デバイスを定義することができます。これまでのところ、(OS の観点から) マウスとキーボードとして機能し、OS が提供する標準ドライバーを自動的に使用する USB HID 記述子を作成できました。

ただし、ペンの場合、Windows Vista は汎用 HID ドライバーをロードするだけで、デバイスが「ペン」であることを認識しません。絶対座標でマウスではなくペンを定義する動機は、Vista が「ジェスチャ」などの特別な機能をサポートしていることですが、これはペン/デジタイザ デバイスでのみ有効です。

0 投票する
2 に答える
148 参照

.net - ハードウェアが統合された特殊なコンピューター向けの開発

私たちは、統合されたコンピュータ用のカード リーダー プログラムの実装を検討しています。このコンピュータは、Windows XP を実行する組み込みコンピュータと、画面に統合されたカードリーダーを備えたタッチスクリーンです。

リーダーは USB デバイスですが、残念ながらこの画面/コンピューターに緊密に統合されているため、取り外して別のものに接続することはできません。

起動するには、SDK が存在しないため、苦労します。SDK は、いくつかの Windows API 関数を介して HID サブシステムを介して USB デバイスと通信する VB (.NET ではない) アプリケーションで構成されています。これを .NET アプリケーションの一部にする必要があるため、P を使用して再実装する必要があります。 /呼び出す。

したがって、これをテストするのは面倒です。おそらく、新しいファイルをマシンに継続的にコピーし、何が問題なのかを把握するために大量のログを記録する必要があるからです。

それとも私ですか?他に何ができますか?そのマシンで Visual Studio を実行することは、単にプログラムをコピーしてログを使用するよりも大きな苦痛になるため、それはオプションではありませんが、他に何がありますか? これを自分のマシンからリモート デバッグできますか? マシンにはネットワーク機能があるため、ネットワーク経由で問題なくアクセスできます。

誰でもできるヒントやアドバイスはありますか?

0 投票する
2 に答える
1767 参照

vb.net - VB.NET を使用した IR データのキャプチャ

古い IR レシーバー (Microsoft eHome Infared Transceiver) を見つけたので、キャプチャしたデータを使用できるアプリケーションを作成しようとしています...

このための例や出発点は高く評価されます。

0 投票する
6 に答える
90650 参照

linux - Linux で生の HID 入力をキャプチャするにはどうすればよいですか?

私が達成したいことの短いバージョン: 私は、一般的な HID デバイスとして実装されているフットペダル (興味がある場合は、INFINITY-IN-USB-1) を持っていCtrlますAlt。 Linux。個々のプログラムだけでなく、X レベルの何かを探しています。

より長いバージョン: DLL 関数RegisterRawInputDevicesおよびGetRawInputDataを呼び出し、非表示のウィンドウで入力をリッスンすることにより、このセットアップを Windows XP で動作させています。すべては、かなり単純なAutoHotkeyスクリプトで実現されます (興味のある方は、ここに投稿できます)。ポイントは、追加のドライバーなどは必要ないということです。ネイティブの Windows DLL ファイルのみが必要です。

このセットアップが Linux で動作することを望んでいます (より具体的には Ubuntu でのGNOMEですが、他のディストリビューション/ウィンドウ マネージャーを使用することもあるため、X レベルのソリューションを歓迎します)。このフット ペダルは、キーボードやジョイスティックとしては登録されませんが、UsagePage 12、Usage 3 の HID デバイスとして登録されます。

最新の Ubuntu では、HID デバイスとしても登録されるMicrosoft Natural Keyboardのお気に入りのキーを検出して使用できることに気付きました*。私は、フット ペダルを使用するのと同じ方法を使用して (つまり、バンドルされたソフトウェアを使用せずに)、Windows でこれらのキーを使用します。このペダルは Linux でも動作すると思いますが、問題はその方法です。

(私は Linux の下位レベルのものは初めてなので、該当する場合はいつでも紹介やチュートリアルへのリンクを提供してください。)

* よく知らない方のために説明すると、Microsoft Natural Keyboard は、通常のキーボードと汎用 HID デバイスの両方として登録されます。一部のアプリケーション (バンドルされたアプリケーションなど) が HID 入力を解釈する方法を認識していなければ、通常のキーは機能しますが、お気に入りのキーと特殊なファンクション キーは役に立ちません。


明確にするために、Linux はペダルを踏んだことを入力として認識していません。USB デバイスは認識しますが、xevはペダルを押しても何も出力しません。書き起こしソフトウェア用にWineの下でペダルをうまく使用している人々の報告を見たことがありますが、それは Windows の方法で動作する必要があり、私が望むものを提供しません (これにより、すべてのネイティブ Linux アプリケーションに対してペダルがキーボードのように見えます)。低レベルの Linux キーボード ドライバーが必要ですか?


詳細は次のとおりです。ターミナルでこれを発行した場合

(dev/usb/hiddev0は私のペダルです)、ペダルを踏んだことに対応する生のコードを取得します。それが始まりです。これらの生のコードが何を意味するかはわかっています。2 進数では、0001、0010、0100 がそれぞれ各ペダルに対応し、ペダルを押す組み合わせは、これらの 2 進数の組み合わせを送信し、まだ押されているペダルのペダル トリガー入力を解放します (ペダルが上がっている場合、0000 が送信されます)。

xmodmap などでマッピングできるように、X に生のコードを聞いてdev/usb/hiddev0特別なキーコードに変換させるにはどうすればよいですか?

0 投票する
3 に答える
5286 参照

linux - Linux で CM108 チップの GPIO ピンに書き込むには?

C-Media の CM108 には、hid インターフェイス経由でアクセスできる 4 つの GPIO ピンがあります。

Windows で一般的な書き込み機能を使用して、gpio ピンに書き込むことができました。

ただし、Linuxで同じことを試みていますが、成功していません。

Linux カーネルは、デバイスを hidraw デバイスとして検出します。

注:デバイスから読み取ることはできましたが、書き込むことはできませんでした。(許可の問題ではないことを確認するためだけに、アプリをルートとして実行しました)。

0 投票する
1 に答える
4790 参照

linux - Linux で libhid を使用して USB HID デバイスの HID パスを決定する

libhid を使用して、PIC マイクロコントローラーで開発中のカスタム HID デバイスにアクセスすることに興味があります。test_libhid コードを正常に実行できました。このライブラリを使用してデバイスを読み書きするための指示は、test_libhid コードのコメントとして提供されます。

文書化された読み取りと書き込みの手法に従おうとしましたが、これまでのところ、デバイスの読み取りまたは書き込みに成功していません。その理由は、デバイスのレポート記述子が、入力データ レポートと出力データ レポートの両方に 64 バイト配列を指定しているためではないかと考えています。

usb.org の HID セクションのデバイス クラス定義に含まれる詳細を読みました。記述子が一般的にどのように機能し、どのように HID パスに変換されるかを理解していると思いますが、デバイスに対してデータを読み書きしようとすると、失敗した。

デバイスが Windows で動作することを確認したので、問題は Linux 側にあるようです。それは問題ではないと思いますが、現在、Ubuntu 8.04 サーバーを搭載した VMWare 仮想マシンで作業していることに注意してください。

次のレポート記述子 (lsusb –vvv から生成) の HID パスを指定する方法について、誰かがガイダンスを提供できますか?

また、test_libhid プログラムを実行すると、次のような 64 個の同一のエントリとして解析ツリーがダンプされます。

これらはおそらく入力です。このリストの後に、次のような別の 64 のエントリが続きます。

私は libhid メーリング リストに投稿しましたが、最近あまり活動がなかったので、ここに質問を持ち込もうと思いました。この入力および出力レポートの HID パスを指定する方法について誰かがガイダンスを提供できる場合は、非常に役立ちます。

ありがとう。

0 投票する
2 に答える
1722 参照

linux - HID read()コマンド

LINUXのHIDイベントに対するNON-BLOCKINGreed ()コマンドの手順を知っている人はいますか

現在使用しています

しかし、HIDポインティングデバイスがセンサーバーの方を向いていない場合は、BLOCKINGステージに移行します。

敬具、

マドニ