Linux内核驱动之Input子系统设备驱动层

Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。

因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。

 

、input输入子系统框架

    下图是input输入子系统框架,输入子系统由输入子系统核心层(Input Core ),驱动层和事件处理层(Event Handler)三部份组成。一个输入事件,如鼠标移动,键盘按键按下,joystick的移动等等通过 input driver -> Input core -> Event handler -> userspace 到达用户空间传给应用程序。

Linux内核驱动之Input子系统设备驱动层_第1张图片

注意:keyboard.c不会在/dev/input下产生节点,而是作为ttyn终端(不包括串口终端)的输入。

 

 下图展现了linux中输入设备驱动的分层

Linux内核驱动之Input子系统设备驱动层_第2张图片


你可能感兴趣的:(输入子系统,input,linux内核,linux,框架,终端,工作)