Linux内核驱动之Input子系统设备驱动层
2012-08-26 21:24
302 查看
Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。
因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。
一、input输入子系统框架
下图是input输入子系统框架,输入子系统由输入子系统核心层(Input Core ),驱动层和事件处理层(Event Handler)三部份组成。一个输入事件,如鼠标移动,键盘按键按下,joystick的移动等等通过 input driver -> Input core -> Event handler -> userspace 到达用户空间传给应用程序。
![](http://blog.chinaunix.net/attachment/201207/31/24219701_1343713728xt4c.jpg)
注意:keyboard.c不会在/dev/input下产生节点,而是作为ttyn终端(不包括串口终端)的输入。
下图展现了linux中输入设备驱动的分层
![](http://blog.chinaunix.net/attachment/201207/31/24219701_1343713692HGPV.gif)
因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。
一、input输入子系统框架
下图是input输入子系统框架,输入子系统由输入子系统核心层(Input Core ),驱动层和事件处理层(Event Handler)三部份组成。一个输入事件,如鼠标移动,键盘按键按下,joystick的移动等等通过 input driver -> Input core -> Event handler -> userspace 到达用户空间传给应用程序。
![](http://blog.chinaunix.net/attachment/201207/31/24219701_1343713728xt4c.jpg)
注意:keyboard.c不会在/dev/input下产生节点,而是作为ttyn终端(不包括串口终端)的输入。
下图展现了linux中输入设备驱动的分层
![](http://blog.chinaunix.net/attachment/201207/31/24219701_1343713692HGPV.gif)
相关文章推荐
- input子系统学习笔记三 驱动的分层及设备驱动层实现原理
- input子系统学习笔记三 驱动的分层及设备驱动层实现原理
- input子系统学习笔记三 驱动的分层及设备驱动层实现原理
- linux设备驱动之输入(input)子系统——数据结构与接口介绍
- input子系统二 驱动层input设备注册
- Linux输入子系统(6):设备驱动层之LED驱动
- Linux设备驱动之——input子系统(一)
- Linux输入子系统(5):设备驱动层实例之触摸屏驱动
- linux设备驱动之输入(input)子系统——核心层实现
- 利用linux 内核所提供的input子系统编写字符设备驱动的步骤
- 一个驱动支持多个设备再usb子系统、input子系统、platform、iic子系统 中的实现
- Linux输入子系统(4):设备驱动层实例之按键驱动
- Linux输入子系统(4):设备驱动层实例之按键驱动
- Linux输入子系统(5):设备驱动层实例之触摸屏驱动
- Linux设备驱动之——input子系统
- Linux输入子系统(6):设备驱动层之LED驱动
- Linux设备驱动之——input子系统
- 设备驱动工程师之路——input子系统
- linux ------ input 子系统设备驱动
- Linux的input输入子系统:设备驱动之按键驱动