在上篇中有一个基本的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!
本文深入解析Linux内核中的输入设备驱动结构与工作原理,包括input_dev结构体介绍、设备初始化及事件上报流程,并探讨应用程序如何获取输入事件。
645

被折叠的 条评论
为什么被折叠?



