問題タブ [hidapi]
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 - Mac での HIDAPI のビルドに関する問題
Mac用のいくつかのhidドライバーの構築を支援するために、HIDAPI libを使用しようとしています。readme に続いて、mac ディレクトリに移動して make コマンドを実行するように指示されました。残念ながら、これはあまり効果がなく、make と一緒に実行する必要があるコマンドが readme にありません。
私は今 TestGUI を使用することに興味がないので、ドキュメントを正しく理解していれば、fox-toolkit をインストールして make コマンドを実行する必要はありません。
ここに私が見逃しているステップがあるかどうか知っている人はいますか?
objective-c - HIDAPI ライブラリを既存の Mac プロジェクトに追加する方法
私はユーザー空間の HID デバイス ドライバーに取り組んでおり、シグナル 11 の HIDAPI ライブラリを使用することをお勧めします。すべての readme の指示に従い、Mac ディレクトリの下で make コマンドを実行しましたが、必要になると思われる hidapi.h ファイルが表示されません。ライブラリを xcode プロジェクトに取り込む別の方法はありますか?
ありがとう!
hidapi - HIDAPI を使用して異なるサイズのデータ パッケージを受信する
Windows 8.1 で HIDAPI を使用して、HID デバイスからオーディオ ストリームを読み取ります。このストリームは、259 バイトで構成される ADPCM データを送信します。最初の 12 個のパッケージは 20 バイトで、13 個目は 19 バイトです。問題は、HIDAPI が常に 20 バイト (+1 バイトのレポート ID) を提供し、19 バイトを提供しないことです。HID のオーディオ部分は、Windows ではネイティブにサポートされていませんが、いくつかのサードパーティ ライブラリを使用して Linux で動作し、Ubuntu で HID データを直接キャッチすると、正しいデータ長が得られます。どうすればこれを修正できますか?
編集: hid_device* を設定するときに、呼び出しがdev->input_report_length = caps.InputReportByteLength;
最初に 21 に設定されているため、時間の経過とともに変更できなくなります。それでも、私のデバイスは 13 パケットごとに 19 (20) バイトのデータしか送信しません。これは実行時に動的に変更できますか?
windows - アプリケーションは、デフォルトの HID ドライバーを使用している間、USB デバイスの着信データ パケットを無視します。
Windows 7 で作業しているチーム内で汎用 USB HID デバイス用の制御ソフトウェアを作成しています。インターンとしての地位のため、私の可能性は限られています。
- ソフトウェアは Windows で動作する必要があります
- ソフトウェアは、Windows が提供するデフォルトの HID ドライバーを使用する必要があります。
私の問題は、HidUSB ドライバー (Zadig によると) を使用しているときにデバイスにアクセスしようとすると、デバイスが実際にデータを送信している間、割り込み転送の読み取り試行が常にタイムアウトになることです。HIDAPIを使用するかどうか、libusbを使用するかどうかにかかわらず、デバイスへの書き込みは常に機能しますが、読み取りのみが失敗します。(これはプリミティブなデバイス atm であり、最終的なパケット データの指定さえ行われていません。現在、ホストに ON または OFF の文字列を送信するだけで、デバイスに書き込むと LED の状態が 7 色とオフ状態の間で変化します。 、確実に機能するように)
WindowsのドライバーをZadigのWinUSBドライバーに置き換えると、/devを読み取るだけでlibusb(およびhidapiはデバイスを開くことができなくなります)およびLinuxで動作するため、デバイスに障害があるとは考えられません/hidraw もデータを正常に返します。HID と USB の仕様も読みましたが、デバイス記述子には USB パケットサイズが 8 であると記載されていますが、HID 入力レポートのサイズは 20 に制限されていますが、デバイスが使用するレポート ID はわかりません。
USBPcap と Wireshark を使用して Windows 通信を確認すると、デバイスの処理で気付く唯一の違いは、WinUSB ドライバーで使用した場合の CC と比較して、データを要求するホスト パケットが HidUSB ドライバーに対して 00 で満たされていることです。
記録のために、私はすでにlibusb、hidapi、HidLibraryを試しましたが、チーム内の誰も今何をすべきか考えていません.
また、Windows が HID キーボードとマウスへのアクセスを無効にしていることも読みましたが、デバイス構成が USB マウスになってしまう実際の例は見つかりませんでした。デバイス マネージャーは、HID 準拠デバイスまたはその呼び出し方法 (ここでは Win7 をローカライズ) として 1 回、USB 入力デバイスとして 1 回、HID tho の下にデバイスを 2 回リストしますが、マウスまたはキーボード オプションにはリストしません。
java - JAVA hid api と USB キーボード
非表示および RS 232 インターフェイスを備えた UIC 680 非接触型カード リーダーがあります。ここで、java および hid インターフェイスを使用してデバイスと対話したいと考えています。JAVAHID API の探索を開始し、デバイス リストを取得できました。しかし、デバイス オブジェクトを取得しようとすると、null が返されます。私は人々が同様の問題に直面していることを知っています。これはhttp://angryelectron.com/javahidapi-nihardwareserviceリンクは、私も使用したソリューションを提供します。現在、コンピューターでHID準拠デバイスとして検出されるmagtek msrリーダーもあり、そのデバイスオブジェクトは完全に正常に取得されますが、UICデバイス(WindowsコンピューターでUSBキーボードとして検出される)およびUSB HIDマウスでは取得できませんnullポインター例外をスローするためです。私が間違っていることのように私を助けてください。また、Java 通信 API と RS 232 インターフェイスを使用できることはわかっていますが、私の要件は HID インターフェイスを使用することです。
linux - hidraw の代わりに libusb を使用して hidapi をコンパイルする
node-hidで使用するために ubuntu 14.04 でhidapiをコンパイルしようとしています。この問題で説明されているように、hidapi が hidraw を使用している場合、Node-hid は何らかの理由でデバイスを認識できません。4番目の投稿でも解決策が提供されています。
そのため、限られた gcc/waf の知識でなんとかビルドすることができました (wscript を変更して ../hidapi/libusb/hid.c を使用するのに対し、/hidapi/linux/hid.c を使用するように変更しました。また、リンクフラグを使用するように変更しました-ludev の代わりに -lusb1.0 を追加し、/usr/include/libusb-1.0 を追加しました (makefile が pkgconfig を使用してそのパスを見つけようとしているため、ハードコードされたパス..同等のものはわかりません)。
wscript ファイルで /hidapi/linux/hid.c を ../hidapi/libusb/hid.c に変更することができました。リンクフラグも見つけて変更しました。しかし、パスのハードコーディングに関する最後の部分を実装する方法がわかりません。このパスはどこに書きますか?または、node-hid を機能させるためのより良い方法はありますか?