問題タブ [evdev]

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 に答える
295 参照

python - python uvdevを使用して絶対カーソル位置を設定する

Python でグラフィック タブレットをシミュレートしようとしていますが、その結果、カーソルの絶対位置を設定できるようにする必要があります。python-evdevpython-libevdevを試しましたが、絶対位置を設定できません。EV_ABS の ABS_X と ABS_Y に値を書き込んでも、カーソル位置には何の影響もありません。シミュレートされたボタンと相対的な配置が完全に機能することに言及する価値があります。

x11のGnomeでManjaro 4.19を使用しています。

助けていただければ幸いです。事前に感謝します。

絶対カーソル位置を設定できる必要がある単純なコードを次に示しますが、そうではありません。

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

python-3.x - evdev InputDevice を使用して Python プログラムを終了すると、エラーが発生する

evdevを使用してコントローラーを入力デバイスとして実験しています。プログラムを終了すると、delete メソッド (super) には少なくとも 1 つの引数が必要であることを示すエラー メッセージが表示されます。私は見ましたが、これを適切に処理するための解決策を見つけることができませんでした。

プログラム:

特定のキーを使用すると、ループが中断され、次のエラー メッセージが表示されます。

を使用して終了すると、同じことが起こり^Cます。出口を適切に処理する方法はありますか?

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

python - raspberrypi と python で 2 つの赤外線センサーを読み取る

ラズベリーパイと2つの赤外線センサーを使用してpythonでプロジェクトを開発しています。

赤外線エミッターは Arduino 上にあり、50 ミリ秒ごとに継続的にコードを送信しています。このレートは変更できません。

2 つの赤外線センサー (左右) を 500 ミリ秒ごとにチェックするには、raspberrypi python スクリプトが必要です。左のセンサーがこの 500 ミリ秒の時間間隔内にコードを受信した場合は、受信したコードを表示します。それ以外の場合は、左のセンサーがコードを受信しなかったことを示します。このプロセスは、正しいセンサーで繰り返されます。

このための簡単な python スクリプトを作成しました。ただし、読み取られた古い値がチェックを妨げないように、常にバッファをクリアする必要があります。これは、バッファの値を 1 つずつ読み取る「while」で行っています。

EVDEV にはバッファをクリアするためのフラッシュ機能がありますか、それともこれを行うためのより良い方法はありますか?

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

python - Python QR コード リーダー。キーボードで input() を排他的にリッスンする

Python スクリプトで、キーボードとして検出される QR コード リーダーのみをリッスンするようにしたいと考えています。キーボードがコンソールやどこかに書き込みをしたくありません。Linux では、Python スクリプトのみがそのキーボードをリッスンする必要があります。それは可能ですか?そのようなことを防ぐことができるライブラリまたは udev ルールはありますか?

私もpython-evdevを試しました。でデバイスにのみバインドできる場所dev.grab_context():。動作し、単一のキー イベントを受け取りますが、マッピングがありません。私input()にとって最も簡単な方法です。

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

linux - /dev/input/eventX と /dev/input/jsX の違いは何ですか?

Linux カーネル v5.14 でゲームパッドを接続すると、2 つの新しいデバイスが表示されます。

cat <file> | xxd両方のデバイス ファイルがゲームパッド イベント情報を提供する場合。しかし、event23よりもはるかに冗長ですjs1

また、 でevtestエラーが発生Invalid Argumentしますjs1が、 で正常に動作しevent23ます。libevdev 両方のデバイス ファイルを使用すると、同じことが起こります。

すべてのイベントで、構造体 (で定義)js1の内容をダンプするように見えます。input_eventlinux/input.h

デバイスファイルの違いは何ですか? なぜ彼らは異なる情報を持っているのevent23ですjs1か?