問題タブ [input-devices]

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

c# - Windows で接続されているすべてのデバイスを一覧表示する

Control Panel\Hardware and Sound\Devices and Printers のように c# を使用して、接続されているすべてのデバイスを取得するにはどうすればよいですか?

ここに画像の説明を入力

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

c - /dev/input/eventx 以外の Linux キーボードにアクセスするための高レベル (文字?) ベースの方法はありますか?

キーボードのような (HID) デバイスから入力を受け取る必要がある Linux デーモンを作成しようとしています。これはコンソール キーボードではなく、2 番目のデバイスです (違いがあれば、実際には 1D バーコード スキャナーです)。デーモンは、受信したデータ (英数字バーコードからの「キーストローク」) を処理します。

デーモンが ioctl(EVIOCGRAB) を使用して /dev/input/eventx からそのデバイスを取得し、次に read() イベント (<linux/input.h> からの struct input_event) を使用できることはわかっていますが、それは私のレベルでは低すぎます。ニーズ。すべての上下キーイベントについて知る必要はなく、同時キーをデコード/処理する必要もありません。つまり、KEY_DOWN+KEY_RTSHIFT、KEY_DOWN+KEY_A、KEY_UP+KEY_RTSHIFT、KEY_UP+KEY_A を知りたくありません、「A」を受け取りたいだけです。

入力イベントを使用するには、"A" を取得するためだけに大量の余分なコードを記述する必要があります。これは、ほぼ確実に既存のキーボード ハンドラー (またはそのようなもの) が存在する場合、時間と労力の無駄に思えます。コードを一緒にハッキングするよりもはるかに優れた仕事をします-私はそれらを見つけることができません!

(キーボード?) ソフトウェアの既存のレイヤーを /dev/input/eventx に配置して、デーモンが単純な ascii のストリームを排他的に読み取る方法はありますか?

このデバイスの場合、/proc/bus/input/devices は ... を報告します。

...何かがすでに「kbd」レイヤーを配置していることを示唆している可能性がありますが、それにアクセスするにはどうすればよいですか?

EVIOCGRAB を使用しない場合、バーコードをスキャンすると、「/dev/tty1 でのログインに失敗しました」という syslog が表示されるため、キーボード入力が明らかにターミナル/シェルのどこかにログインしようとしています :-/ (X はありません。このマシンのデスクトップなど。)