Linux下的Input子系统主要任务是处理输入事务,任何输入设备的驱动程序都可以通过Input子系统提供的接口注册到内核,利用子系统提供的统一数据接口与用户空间交互。
一、linux的input子系统架构
Ø
指具体硬件设备,如:鼠标、键盘、触摸屏等。
Ø
该部分就是作为linux驱动开发者需要设计的部分,驱动开发者需要为具体的输入设备编写合适的驱动程序。
Ø
由Linux内核提供,子系统核心是链接其他两层的纽带和桥梁,向下提供驱动层接口,向上提供事件处理层接口。
Ø
由Linux内核提供,负责和用户程序打交道,将硬件驱动层传来的事件以统一的数据格式(struct
Ø
应用程序可以通过读取相应“设备文件”(/dev/input/eventx)来获取输入事件值。
二、input设备驱动开发
在Linux系统中,input核心层和input事件处理层已经为我们做了很多事情,而作为驱动开发者,只需调用input核心层为我们提供的编程接口,就可以轻松完成输入设备驱动开发。以下是输入设备驱动开发的标准流程: