android 虛擬按鍵是通過哪種機制上報的?

weixin_34391854發表於2017-05-24
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()函式對虛擬按鍵事件進行上報。

相關文章