input子系统基础之按键3——input子系统架构总览

以下内容源于朱有鹏《物联网大讲堂》课程的学习,如有侵权,请告知删除。


1、input子系统分为三层

整体驱动分为三层(不是说应用层和驱动层的关系,而是驱动分层)

(1)最上层:输入事件驱动层,evdev.c和mousedev.c和joydev.c属于这一层

  • 负责将struct input_event 呈送给应用层。
  • 随着时间发展,最后一般集中采用event handlers。但不是排他性的,可以同时存在,可以走其中一条路。

(2)中间层:输入核心层,input.c属于这一层

(3)最下层:输入设备驱动层,drivers/input/xxx 文件夹

(4)示意图input子系统基础之按键3——input子系统架构总览

2、input类设备驱动开发方法

(1)输入事件驱动层和输入核心层不需要动,只需要编写设备驱动层;

(2)设备驱动层编写的接口和调用模式已定义好,驱动工程师的核心工作量是对具体输入设备硬件的操作和性能调优

(3)input子系统不算复杂,学习时要注意“标准模式”四个字。