之前其实也写过一些博客,不过都是简单进行复制和粘贴,并没有过多思考,可能也正因为这样,技术总是提升不到一个层次。经常在网上听一些高手说,像我们这些做程序的,要让自己的技术得到提高,必须要写博客,进行总结和思考。因为写好一篇博客,需要查找许多的资料,在这个过程可以总结学习到很多东西。再者,写好了一篇博客,也方便以后的查阅,现在的知识越来越多,光靠脑子记是记不住的。某些知识点以后要用,翻翻博客看看,也很容易回忆起来。
好的,大概就那个意思吧。在这里写这些东西,也是给自己一个警告,希望自己能以此博客为开篇,写好后面的博客,提升自我。加油吧!
言归正传,回到 Input子系统这边来。
Input子系统的核心是input.c 这个文件,整个框架是在这个文件上建立起来的,后面会慢慢分析出来。
文件里面提供了驱动注册的函数(input_register_handler)和设备注册的函数(input_register_device),这个两个可以说是input.c的核心了。input_register_handler函数的作用是向input子系统注册一个驱动(比如事件、按键、鼠标通用驱动),然后将这个驱动挂在一个链表下面;input_register_device函数的作用是向input子系统注册一个设备,这是一个实际存在的设备,也是挂在另一个链表下面。不管是哪个函数先注册,他们都会去对方的链表下寻找,看是否匹配,如果匹配成功就会调用驱动里面的connect函数,将彼此关联起来,并在/dev/input目录下生成相应的设备节点。
阅读(1391) | 评论(0) | 转发(0) |