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