在上篇中有一个基本的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!