检测USB摄像头按钮事件?

检测USB摄像头按钮事件?

我正在尝试检测何时按下 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

像往常一样,没有关于我的特定型号的文档或标识:)

我尝试使用 监听 /dev/input/event0 cat /dev/input/event0,但是,与鼠标或键盘不同,我没有看到任何结果。我还尝试用 python 模块 evdev 监听这个处理程序,但没有成功......

有人对这个案子有线索吗?

答案1

如果明确说明input14(在特定启动后的配置中,编号可以更改),那么当然看event0不会显示任何内容。

1)evtest以root身份运行,看看你是否可以通过查看描述找出它是哪个设备,并听它(我的USB网络摄像头产生KEY_CAMERA)。

2) 运行xev,将光标移到窗口中,查看事件是否出现(我的 USB 网络摄像头出现XF86WebCam)。

3) 您可能需要使用或类似的程序激活您的相机luvcview以使其产生事件。

4) 如果您决定使用输入层接口,请查看/dev/input/by-id,如果没有条目,请/dev/input/by-path查看指向event*设备的符号链接,这些符号链接保证在整个启动过程中保持不变。

答案2

运行 vlc (或类似的)并从网络摄像头视频设备开始视频捕获。如果没有它,我从按钮上看不到 evtest 和 xev 的事件。

相关内容