LDD之input子系统 总结与流程图

原创 2012年03月29日 14:53:20
-----------------------------------------------------------------------
本文系本站原创,欢迎转载!
转载请注明出处:http://blog.csdn.net/android_huber
交流邮箱:dp.shao@gmail.com

-----------------------------------------------------------------------


1.input.cinput_init

注册input,初始化proc,注册设备register_chrdev(INPUT_MAJOR,"input", &input_fops)

2.evdev.c evdev_init

input_register_handler(&evdev_handler)注册handler:将evdev_handler加入到input_handler_list链表中,然后遍历每一个挂在Input_dev_list上的设备调用input_attach_handler

3.inp[ut.c input_register_device

device_Add(&dev->dev)→

Kobject_get_path创建sys接口→

list_add_tail(&dev->node.&input_dev_list)将设备加入全局链表中→

然后遍历input_handler_list中的每一个handler,调用input_attach_handler进行attach

4.input.c input_attach_handler

调用input_match_device检测id匹配情况,然后调用handler中的connect函数:

connect中封装了handleevdev->dev结构体

input_register_handle注册handle,handle可看作handlerdevice的结合

最终调用device_Add(&evdev->dev)

5.input_event

Input_event-->input_handler_event:对type进行switch查找,对不同事件执行不同处理。对于按键和触摸屏,交由handler->event处理。-->

Input_pass_event→

handler->event-->evdev_event函数

evdev_event中封装了input_event,并将该结构体保存在client->buffer[client->head++]数组中。client中的buffer会处理成环形缓冲区,

处理方式:client->head &= EVDEV_BUFFER_SIZE-1

6.evdev.c evdev_read

client中的input_event结构体提取出来,然后将该结构体copy_to_user到应用层。


下面是我刚画好的一个流程图


大家可以参照 下面这篇分析代码的文章一起看

http://blog.csdn.net/android_huber/article/details/7407103

图看不全的话,大家可以保存到本地,然后方便放大了看。

需要清晰大图的请到下面网址去下载

http://download.csdn.net/detail/android_huber/8537241


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

lib\kobject.c文件分析

本文件的函数列表:   char *kobject_get_path(struct kobject *kobj, gfp_t gfp_mask) 获取指定kobject的完整路径名   vo...

LDD之input子系统--代码分析

----------------------------------------------------------------------- 本文系本站原创,欢迎转载! 转载请注明出处:http...

Kobject结构体分析

kobject是组成设备device、驱动driver、总线bus、class的基本结构。如果把前者看成基类,则后者均为它的派生产物。device、driver、bus、class构成了设备模型,而k...

input 子系统架构总结

Linux输入子系统(Input Subsystem)         Linux 的输入子系统不仅支持鼠标、键盘等常规输入设备,而且还支持蜂鸣器、触摸屏等设备。本章将对 Linux 输 ...
  • lbmygf
  • lbmygf
  • 2012-03-21 16:57
  • 20111

Input输入子系统个人总结

Input输入子系统个人总结Input输入子系统在驱动开发中的重要性,大家都知道, 就不多说了。个人高驱动开发也有一年了,突发奇想想写博客,来写写工作中常遇到的知识点,总结一下,为了更加清晰的理解。我...

input 子系统架构总结

Linux输入子系统(Input Subsystem)  Linux 的输入子系统不仅支持鼠标、键盘等常规输入设备,而且还支持蜂鸣器、触摸屏等设备。本章将对 Linux 输 入子系统进行详...

input子系统测试例子

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)