/dev/hidraw 出力を端末ではなく Python アプリケーションに送信する方法

/dev/hidraw 出力を端末ではなく Python アプリケーションに送信する方法

USBバーコードスキャナがあり、データベースからデータを収集し/dev/hidraw0てデータベースに入力するPythonスクリプトを実行しています。問題は、スキャナがコードを収集するたびにそれを端末に送信し、実際にttyを介してシステムにログインしようとすることです。

HIDが端末にアクセスしてログインしようとするのを無効にしながら、Pythonスクリプトがデータを収集できるようにする方法はありますか?

助けてくれてありがとう。

答え1

/dev/input/path-to-your-scannerオプションで開きますgrab。代わりに、起動中に持続するシンボリックリンクを含むパスを使用してください/dev/input/eventX

たとえば、参照してください。ここPythonで簡単に動作するPython evdevライブラリです。

何らかの理由でHIDレポート自体が必要でない限り、不要なhidrawレベルを取得することはできません。

ハイドローレベルが本当に必要な場合はトリッキーです。 hidrawレベルを入力入力レベルから分離する必要があります。あるいは、入力デバイスとhidrawデバイスを同時に開くこともできます。私はそのようなことを試したことがありません。

答え2

以下は、evdevライブラリを使用し、@dirktが提案したスクレイピング機能を提供するUSB​​バーコードスキャナ用に作成したPythonスクリプトです。

https://gist.github.com/michalfapso/1755e8a35bb83720c2559ce8ffde5f85

関連情報