天天看点

【原理】Linux 基础系列之 input 子系统浅析问题一:input子系统是什么?问题二:input子系统框架是什么?问题三:驱动流程是什么?

问题一:input子系统是什么?

为输入设备(按键、键盘、触摸屏)的驱动规范完成上报输入信息任务的子系统,本质上input子系统是对字符设备驱动的一种封装。

input子系统在底层实现了file_operations这一套机制而不用我们去填充结构体。

比如我们手机上的触摸屏(称之为TP),驱动核心就是一个input子系统。

input子系统在驱动中不是必须的,它的存在只是规范了上报输入信息这一任务,减少驱动与应用开发工程师的沟通成本。input子系统是输入设备驱动一个标准,一个约定俗成的规范,几乎所有输入设备驱动都是使用input来上报输入信息的。

问题二:input子系统框架是什么?

三个层:

【原理】Linux 基础系列之 input 子系统浅析问题一:input子系统是什么?问题二:input子系统框架是什么?问题三:驱动流程是什么?

驱动数据流:

【原理】Linux 基础系列之 input 子系统浅析问题一:input子系统是什么?问题二:input子系统框架是什么?问题三:驱动流程是什么?

问题三:驱动流程是什么?

定义input_dev结构体 -->

申请input_dev内存空间并初始化 -->

填充input_dev成员 -->

向core注册一个input_dev -->获取按键并上报

继续阅读