1.1概述
InputManagerService 是Android裡面一個重要的service。它用于管理整個系統的輸入部分,包括鍵盤、滑鼠、觸摸屏等等。InputManagerService體系相關知識,在筆者本人的實際工作中,Window 切換 、Touch 問題處理都有用到。
InputManager體系主要是基于Android M代碼編寫的,作為一個學習記錄分享給大家,如果有寫錯的地方,不完善的地方,請大家多多包含以及指教。
1.2 事件的分類 主要有兩類 按鍵事件(KeyEvent): Home / Back / Menu /Volume Up / Volume Dowm /Camera
觸摸事件(TouchEvent):點選 / 拖動
1.3 Input 體系功能的實作大體流程 Input體系類似一個水井系統,把Kerner Input 獲得的資料 , 然後根據各種政策 ,回報給了對應的Window。驅動層獲得Input資料,寫入/dev/input裡面,然後EventHub 從/dev/input 裡面,去把資料獲得出來。然後InputDispatcher根據各種政策把資料傳輸對應的Window裡面。 草圖一張:
1.4 Input體系 子文章編寫計劃
主要是分為Event事件的讀取跟分發,還有案列等三個方向去編寫子文章。