1.在normal mode下,tp button也是和其他触摸事件一样,以坐标形式的input_event进行上报。在初始化时会通过tpd_button_setting()函数依据定义在tpd_custom_XXX.h文件里的配置信息将虚拟按键的坐标信息写在/sys/board_properties/virtualkeys.mtk-tpd中。
工作时。tp driver将按下的点的坐标进行上报。Android上层会读取sys中的按键配置信息。再推断上报的坐标是否属于某个按键的坐标范围,以此将坐标信息转化为详细的按键键值。
2.在factory mode和recovery mode下,因为Android还未启动。所以按键事件不能採取1中的上报机制。而是利用tpd_button()函数来对按键进行直接上报处理。
所以,对于normal mode。按键事件不须要调用tpd_button()函数上报,而在factory mode和recovery mode下,必须调用tpd_button()函数对虚拟按键事件进行上报。