所有输入设备(键盘、鼠标、touchpad,roller wheel……)等在linux内核中都是由“input subsystem”来管理的。“input subsystem”包含三个层次,由上到下为“input event driver”、“input core”、“input device driver”。
Input子系统中input core提供核心服务,并将input device driver和input event driver串到自身框架内,其中前者与具体的硬件输入设备打交道,后者在向用户提供统一的访问接口。
Input device driver与输入设备打交道,处理中断,并通过调用input core API将输入信息提交到input核心层,由input核心层将数据送往相应的Input Event Driver。268568970432
了解了输入系统的架构,编写一些特定的应用就会有的放矢:比如,你想写一个键盘记录器,那么只要编写一个input event driver就行了,应为在event driver层次,你可以获取任何外设的输入事件。参考evbug.c了解输入事件的获取。
阅读(1271) | 评论(0) | 转发(0) |