高通QCC3034 SDK之按键模块检测流程

buttonManagerInit 中初始化以下指针

BUTTON_GDATA->client 指向 &theSink.task = app_handler

BUTTON_GDATA->task 指向 ButtonsMessageHandler

 

按键检测触发流程:

ButtonsMessageHandler 中监听 MESSAGE_PIO_CHANGED -> ButtonsCheckDetection检测 -> ButtonsLevelDetect(判断按键类型和事件类型) -> ButtonsButtonDetected -> BMButtonDetected -> bmCheckForButtonMatch(66个事件循环查询并确认) -> MessageSend(BUTTON_GDATA->client, (event_config->user_event + EVENTS_MESSAGE_BASE), 0); -> app_handler -> 实际按键操作

 

充电脚相关检测也是这个流程  监听的id为

MESSAGE_CHARGER_CHANGED

 

posted @ 2022-02-11 11:37  记录技术流水账  阅读(238)  评论(0)    收藏  举报