Python は初めてですが、HID デバイスと evdev の経験があります。HID デバイスとしてインターフェイスする 2D バーコード スキャナがあります。目標は、QR コードから文字列を取得することです。Linux でスキャナーを認識でき、その場所が /dev/input にあることさえわかりました。
私は evdev を見つけ、私のスキャナーで以下の例を実装しました。これは、サイトのデフォルト コードです。値を読み取りますが、ダウンとアップを含む長いイベント コードを出力します。これを文字列に変換する簡単な方法がわかりません。私がやりたいことは、Python の HID スキャナーから文字列を読み取ることだけです。助けや指示をいただければ幸いです(おそらくevdevは答えではありません)。
これが私の現在のpythonコードで、いくつかの出力例があります:
from evdev import *
dev = InputDevice('/dev/input/event1')
print(dev)
for event in dev.read_loop():
if event.type == ecodes.EV_KEY:
print(categorize(event))
以下は、いくつかのバーコードからの出力です。
key event at 1383327570.147000, 2 (KEY_1), down
key event at 1383327570.147990, 2 (KEY_1), up
key event at 1383327570.148997, 3 (KEY_2), down
key event at 1383327570.150010, 3 (KEY_2), up
key event at 1383327570.151009, 29 (KEY_LEFTCTRL), down
key event at 1383327570.151009, 42 (KEY_LEFTSHIFT), down
key event at 1383327570.152017, 36 (KEY_J), down
key event at 1383327570.153005, 36 (KEY_J), up
key event at 1383327570.154004, 29 (KEY_LEFTCTRL), up
key event at 1383327570.155005, 32 (KEY_D), down
key event at 1383327570.155993, 32 (KEY_D), up
key event at 1383327570.157002, 48 (KEY_B), down
key event at 1383327570.158015, 48 (KEY_B), up
key event at 1383327570.158997, 48 (KEY_B), down
key event at 1383327570.282002, 18 (KEY_E), up
key event at 1383327570.283004, 49 (KEY_N), down
key event at 1383327570.284005, 49 (KEY_N), up
key event at 1383327570.284968, 18 (KEY_E), down
どうもありがとう!