USBカメラのスナップショットボタンを押したときを検出しようとしています。
私がカメラについて収集した情報は次のとおりですcat /proc/bus/input/devices
。
I: Bus=0003 Vendor=0c45 Product=6353 Version=0150
N: Name="USB Microscope"
P: Phys=usb-3f980000.usb-1.3/button
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/input/input14
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0 0 0 0
いつものように、私の特定のモデルに関する文書や識別情報はありません。 :)
Listen /dev/input/event0 を試してみましたが、cat /dev/input/event0
マウスやキーボードとは異なり、何の結果も見られませんでした。私もこのハンドラを聞くためにPythonモジュールevdevを試してみましたが、成功しませんでした...
この事件について手がかりがある人はいますか?
答え1
明示的に言及されている場合input14
(特定のリリース後に設定で番号が変更される可能性がある)、もちろんevent0
何も表示されません。
1)evtest
rootとして実行し、説明を見て聞くことで、どのデバイスを見つけることができるかを確認します(私のUSBウェブカメラが作成しますKEY_CAMERA
)。
2)実行してxev
カーソルをウィンドウに移動してイベントが表示されることを確認します(マイUSBウェブカメラが表示されますXF86WebCam
)。
luvcview
3)イベントを生成するには、カメラを起動するために、または同様のプログラムを使用する必要があります。
4)入力層インターフェイスを使用することを決定した場合は、エントリを見て、エントリがない場合は起動/dev/input/by-id
プロセス全体にわたって持続することが保証されているデバイスへのシンボリックリンクを/dev/input/by-path
見てください。event*
答え2
vlc(または同様のもの)を実行し、ウェブカメラビデオデバイスからビデオキャプチャを開始します。それがなければ、ボタンでevtestとxevのイベントを見ることはできません。