【Andorid】input系統的事件處理

在上篇中有一個基本的input的設備的簡介,這裏我們在說一下input core相關的東東。

先來個開胃菜,先看看struct input_dev

 

下面開始進入正文
1、input device初始化中幾個主要的地方
       
2、上報過程
這裏我們跳過keypad的函數,從input開始

              
3、應用層如何獲得              
下面我們看看上面應用層是如何取得的。
首先是framework_base/base/libs/ui/EventHub.cpp
     

     在這裏的getEvent是來獲得evnet事件,相當於加了一層過濾,當有新的數據時候,則返回了,應用的thread也開始讀取。
其上是jni傳遞給上層的,最後通過WindowManagerService中開始分發給相關的應用去做處理。

一個簡單的圖:

 

看了之後才發現內核中的哪個部分也不能小看,小設備,大文章。看來對內核的理解還是不夠呀,慢慢的過程呀。。。

 

Have fun!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章