我想检测按下linux中网络摄像头顶部的“快照”按钮。该按钮在/ dev中有此条目: /dev/input/by-id/usb-PixArt_Imaging_Inc._USB2.0_UVC_VGA-event-if00
我目前正在使用“rel”包装器,因为它更好地处理异常。在执行以下代码之前,会为self.s.cam_btn分配按钮的/ dev条目。
rel.override()
rel.init()
rel.read(self.s.cam_btn, self.snap)
rel.dispatch()
self.snap()是回调。它捕获来自mplayer的屏幕截图并将图像提供给OCR程序。在回调返回之前,一切都很有效。这是问题所在:
如果self.snap()没有返回任何内容,程序将停止并且不再为任何按钮事件提供服务。如果self.snap()返回1,程序将继续在无限循环中为同一个按钮事件提供服务,而不是等待新事件。 pyevent的文档有点稀疏,所以任何帮助都会感激不尽。
克林顿
答案 0 :(得分:0)
从未使用pyevent
,但会尝试在处理程序结束时重新安排事件:
def snap(self):
# ... code ...
rel.read(self.s.cam_btn, self.snap)
return False