def uhid_parse_event_from_kernel(event):
assert len(event) == 4380
ev_type = struct.unpack_from('< L', event)[0]
if ev_type == 2:
return struct.unpack_from(UHID_EVENT_FMT_START, event)
elif ev_type == 6:
return struct.unpack_from(UHID_EVENT_FMT_OUTPUT, event)
elif ev_type == 4:
return struct.unpack_from(UHID_EVENT_FMT_OPEN, event)
elif ev_type == 5:
return struct.unpack_from(UHID_EVENT_FMT_CLOSE, event)
elif ev_type == 3:
return struct.unpack_from(UHID_EVENT_FMT_STOP, event)
elif ev_type == 9:
return struct.unpack_from(UHID_EVENT_FMT_GETRPRT, event)
elif ev_type == 13:
return struct.unpack_from(UHID_EVENT_FMT_SETRPRT, event)
else:
raise ValueError('unknown UHID event type from kernel %d' % ev_type)
评论列表
文章目录