問題タブ [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 投票する
3 に答える
3683 参照

.net - .NETクラスを使用したUSBHIDとの通信

.NETを使用しているUSB開発者はいますか?

USB HIDデバイスと通信する1つの方法は、CreateFile、WriteFile、ReadFileなどのWindowsAPIへのラッパーを作成することです。しかし、.NETクラスのいずれかを使用して同じことを実行できるかどうか誰かが知っているのだろうかと思います。バス上にあるデバイスの検出やデクリプターの要求などの操作には、APIの一部を使用する必要があると確信していますが、レポートを送受信する.NETメソッドを探していますか?たとえば、Stream ClassまたはStreamWriterとStreamReaderを使用できると考えていますが、わかりません。

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

vb6 - VisualBasic6.0でのHIDUSBの使用

視覚的な基本プロジェクトで座標を取得するためにGraminusbGPSをインターフェースしようとしていますが、これを達成する方法がわかりません。誰かが正しい方向に私を指摘してください。

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

.net - hid.dll API を使用して HID デバイスからメーカー文字列を読み取る際の問題

HID デバイスと通信できる .NET アプリケーションを作成しています。デバイスのファームウェアから製造文字列を取得して解析できるようにしたいと考えています。hid.dll に HidD_GetManufacturerString というメソッドがあることは知っています。MSDN では、この方法を次のように説明しています。

このメソッドに使用しているラッパーは次のようになります...

私は2つのことを知る必要があります。まず、SerialNumber バッファを初期化するサイズをどのように知ることができますか? GetFeatureReport のような操作を行うとき、HidD_GetAttributes(); を使用してデバイス属性から最大機能レポート長を取得できるため、バッファを作成するサイズがわかります。残念ながら、このメソッドでは、製造元の文字列、シリアル番号の文字列、製品名の文字列などの長さに関する情報は得られません。

2 番目の質問は、文字列に返されるバイト配列を解析する正しい方法は何ですか? 使ってみた

しかし、私は奇妙な結果を得ます。Dell が製造した製品の場合、文字列は "D\0e\0l\0l\0\0\0\0\0..." のようになり、"\0" は渡したバッファの最後まで続きます。これを「Dell」に解析するにはどうすればよいですか?

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

usb - 従来の Windows ジョイスティックの軸を HID と関連付ける

ジョイスティック軸の説明について少し混乱しています。誰かが私の混乱を解消するのに役立つリンクまたはドキュメントを持っていることを願っています.

私は Windows に詳しくないので、従来の Windows ゲームポート コードを移植しようとすると、少し混乱します。


X
Y
Zという共通の最初の 3 つの軸については、誰もが知っています。

私の理解では、ゲームポート スタイルのインターフェイスでは、他の 3 つの軸は次のとおりです。
R
U
V

ただし、IOHIDUsageTables (OS X) を見ると、次のように表示されます。

これは、3 つの R 軸 (珍しいことではないようですが) と U 軸がないため、少し混乱しています。

2 つの質問:

1) 従来の U 軸がどの軸になるか確認できる人はいますか? 「ラダーペダルの軸」と説明されている文書を見て、それが Ry であると確信しました。
2) V 軸と Vbr 軸の一般的な使用法について詳しく説明できる人はいますか? 説明がそれぞれ「ベクトル」と「相対ベクトル」であることは理解していますが、物理デバイスに関してそれが何を意味するのかを視覚化するのは困難です。

すべての啓蒙とドキュメンテーションのポインタを歓迎します。

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

c++ - Bluetooth HID デバイスの MAC アドレスを取得するには?

HID デバイスとして接続されている Bluetooth デバイスの MAC アドレスを取得するにはどうすればよいですか?

私はデバイスへのハンドルを持っています

しかし、MACアドレスの取得方法がわかりません。

C++; ウィンドウズ

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

linux - Linuxでlibudevを使用して読み取りをブロックする際の問題

次のルーチン(Linuxではlibudevを使用)を使用して、USBHIDデバイスとして構成されたPICマイクロコントローラーからデータを読み取ります。データは、PICマイクロコントローラに接続されているボタンが押されたとき、または離されたときにのみ送信されます。

ルーチンにPICコントローラーからのメッセージがありません。これは、以下のポーリングの呼び出しが正常に動作していないことが原因であると思われます。

ポーリングの呼び出しは、最初のメッセージが読み取られると、1秒間確実にブロックされます。最初のメッセージが読み取られるとすぐに、ポーリングの呼び出しは、本来のように1秒間(1000ミリ秒)ブロックするのではなく、すぐに戻ります。

読み取りのたびにデバイスを閉じてから再度開くことで、この問題を回避しました。これにより、ポーリングは正しく動作しますが、デバイスを閉じて再度開くことがメッセージが失われる原因である可能性があると思います。

関数PicDeviceDescriptor()は、デバイスが存在することを確認するためにデバイスをチェックします。PicDeviceDescriptor関数の関連する詳細は、デバイスがどのように開かれるかを示しています。

私は何か間違ったことをしていると確信していますが、私はその問題をグーグルで検索し、関連する答えを見つけることができないようです。どんな助けでも大歓迎です-Thx。

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

usb - USBHIDプロトコルの質問

汎用HIDインターフェイスを使用してPIC18F2550にUSBを実装しています。入力と出力の両方に単一の64バイトメッセージを持つようにHIDプロファイル構成を設定しました。

今では基本的に機能しています。デバイスはウィンドウにOKを登録します。PCのプログラムで見つけることができ、データを送受信できます。ただし、問題はこれです。PCからPICへのメッセージは、EP0エンドポイントバッファのサイズに切り捨てられます。

デバッグを続ける前に、ここでUSBプロトコルについての理解を明確にし、正しく理解できたことを確認したいと思います。

EP0入力バッファが8バイトであると想定します。PC側が8バイトの制御パケットを送信することは私の理解です。後に続くデータのバイト単位の長さがあります。次に、8バイトのデータパケットのシーケンスを送信し、PIC側はそれぞれを確認する必要があります。

PC側は、デバイス記述子の最大パケットサイズフィールドを調べることで各パケットの大きさを認識し、それに応じてメッセージを複数のデータパケットに分割することを理解しています。

コードをもっと探す前に、これが基本的に正しいことを誰かが確認できますか?EP0バッファサイズが8バイトの場合、前述の構成フィールドのためにPCはこれを認識し、複数のデータパケットを送信する必要がありますか?

PICで受信バッファを64バイトにすると、ニーズに十分な64バイトのメッセージが表示されますが、小さなバッファで機能しない理由がわからないので、いつかはとにかくおそらくそれらが必要です。

アドバイスや情報は大歓迎です。

0 投票する
8 に答える
57715 参照

c# - HID (USB) 用の .NET API?

USB HID (ヒューマン インターフェイス) デバイスを使用するための .NET (C#) の API はありますか?

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

macos - MacOS仮想入力デバイス

コードで仮想HIDデバイスを作成するにはどうすればよいですか?これを実現するためにカーネル拡張を記述しないようにしていますが、それが唯一の方法のようです。すべてのタイプの仮想HIDデバイスを作成し、バックグラウンドで実行されているアプリにイベントをフィードさせる必要があります。ユーザースペースでこれを行う方法はありますか、それともカーネルランドに挑戦する必要がありますか?

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

linux - Linux RFID リーダー HID デバイスがドライバーと一致しない

Linux/Windowsで(ヒューマンインターフェイスデバイス)キーボード/ USBとして認識されるRFIDリーダー(GigaTek PCR330A-00)を入手しました。

私はこれを言いたくないのですが、Win7 では魅力的に機能しますが、Linux では「本当に」ではありません。

Debian のようなディストリビューション (x/k/Ubuntu、Debian、..)、または Gentoo、または... デバイスをまったく動作させることができません: デバイスは適切にスキャンされます (USB 5V があるため、幸せ/ビープ音/点滅) dmesg で何かが発生しましたが、予想どおりに RFID タグコードの画面がすぐに表示されません (win7 で見られます)

サポートは、RHEL または SLED の「エンタープライズ」ディストリビューションでは問題ないと主張しています...そして、RHEL4 で動作しているのを見たことを認めなければなりません...ドライバーを盗もうとしましたが、リーダーを動作させることに成功しませんでした...

したがって、私の質問は二重です: 1./ どうすればカーネルをハッキングしてデバイスにサポートを追加できますか (単に PID/VID を登録するだけですか?) ? 2./ 「エンタープライズ」独自のディストリビューションとの違いは何ですか? どうすれば再利用できますか?

ヒント/ヘルプをありがとう。

乾杯、