問題タブ [hid-device]

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 投票する
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 投票する
1 に答える
2710 参照

eclipse - Linux usb-hid : libhid ライブラリを eclipse(C++) または netbeans IDE またはネイティブ input.h または hiddev.h に追加しますか?

libhidに問題があります。

Linuxでusb-hidにアクセスする2ウェイ4があることがわかりました

1) input.hhiddev.hなどの Linux のデフォルト ライブラリと ...

2) libhid の使用

libhid がややこしいので、input.h を使用しようとしましたが、その 2 に問題があります。

ubuntu から自分のデバイスに関する情報を取得する方法がわかりません

open() を使用してデバイスを開きます

次に、ioctl で情報を取得します

しかし、それは私に間違ったベンダーと製品IDを与えます

次に、libhidを使用しようとしましたが、Eclipseまたはnetbeansでlibhid(または他のライブラリ)を使用する方法を知っていました

eclipse や netbeans などの IDE をコンパイルした方法、またはターミナルと gcc を使用してコードをコンパイルした方法を教えてください。または ioctl() および open() を使用する方法は?

私のコード例全体:

0 投票する
0 に答える
903 参照

vb.net - RFID リーダーからの HID 出力を制御する方法

HID ドライバーと通信する 2 つの rfid リーダーがあります。値0008478651と0008776392の2つのrfidタグ。1つのタグを最初のrfidリーダーに交換すると、完全に機能し、結果はメモ帳に0008478651を示しますが、2つのrfidリーダーで2つを交換すると、結果は00008700847876653921を示します。 rfidリーダーは値を1文字ずつメモ帳に送信するため、2番目のタグがスワップされ、メモ帳が終了していない場合、最初のタグ値のすべての文字が表示され、メモ帳は最初の値タグの終了していない文字で2番目のタグを読み取ります。

したがって、これを処理するために、HID出力を制御して完全な文字ごとにrfid値を送信する方法を知りたいです。

ところで、実際に rfid を使用して vbnet アプリケーションを開発しています。

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

c# - サウジアラビア ID カードを読み取るための高レベル .NET SDK

私は最近、Emirates Identity Authority が提供する SDK と HID OMNIKEY 3121 デバイスを使用して、Emirates Identity カードの PCSC チップを読み取ることができる C# アプリケーションを開発しました。しかし、オマーンや主にサウジアラビアなど、PCSC チップが搭載されたすべての GCC ID カードを読み取る必要があります。

しかし、オンラインで見つけたすべての API は低レベルのもので、データを読み取るためにバイト コマンドを送信する必要がありました。いくつかのチュートリアルに従おうとさえしましたが、うまくいきませんでした。

PCSC チップカードを読み取るために使用できる高レベルの SDK はありますか?

0 投票する
0 に答える
169 参照

usb - USB hiddev ファイルへの同時読み取りと ioctl

ioctl および read 関数を介して /dev/usb/hiddevX ファイルにアクセスしようとしています。まず、非表示イベントを受信するためにブロッキング読み取り (新しいスレッド) を開始します。ioctl 経由でデバイスにアクセスしない限り、これは正常に機能します。この後、非表示イベントはもう取得されません (ブロッキング読み取りは返されません)。

すべての操作で、同じファイル ハンドラが使用されます (read/ioctl)。これは正常な動作ですか?私が間違っていることはありますか?

どうもありがとう、トム