输入子系统的作用与框架
4页一、输入子系统的作用与框架 1、输入设备 按键、鼠标、触摸屏:gt811,ft56xx有多个输入设备需要驱动的时候,假如不考虑输入子系统a, gt811 注册设备号,创建设备文件,硬件初始化,实现fop,阻塞b, ft56xx 注册设备号,创建设备文件,硬件初始化,实现fop,阻塞 多个输入设备有共同点: 获取到数据(操作硬件),上报给用户(xxx_read, copy_to_user, 阻塞) 差异化 通用 通用的部分内核会完成,差异化的代码由开发人员编写 由此对于不同的、分散的输入设备进行统一的驱动,将其设计成输入子系统 2、输入子系统的作用 1)兼容所有输入设备统一了物理形态各异的相似的输入设备的处理功能。例如,各种鼠标,不论PS/2、USB、还是蓝牙,都被同样处理。 2)统一的应用操作接口提供了用于分发输入报告给用户应用程序的简单的事件(event)接口。你的驱动不必创建、管理/dev节点以及相关的访问方法。因此它能够很方便的调用输入API以发送鼠标移动、键盘按键,或触摸事件给用户空间。3)统一的编程驱动方法抽取出了输入驱动的通用部分,简化了驱动,并提供了一致性。例如,输入子系统提供了一个底层驱动(成为serio)的集合,支持对串口和键盘控制器等硬件输入的访问输入子系统使得应用编程人员和驱动编程人员编程的时候变得简单统一。3、输入子系统框架linux输入子系统(linux input subsystem)从上到下由三层实现,分别为:应用层-事件处理层:数据处理者完成fop:实现xxx_read(), xxx_open将数据交给用户:数据从input device层不知道具体数据是什么,只知道把数据给用户-核心层:承上启下为驱动层提供输入设备注册与操作接口,如:input_register_device;通知事件处理层对事件 进行处理;在/Proc下产生相应的设备信息。设备驱动层只要关心如何驱动硬件并获得硬件数据,然后调用核心层提供的接口,核心层会自动把数据提交给事件处理层。-设备驱动层:数据采集者抽象出一个对象,描述输入设备信息初始化输入设备硬件,获取到数据知道具体的数据是什么,但是不知道数据如何给用户-硬件层:mouse,ts, keybaord,joystick(编程主要在设备驱动层)
《输入子系统的作用与框架》由会员安****分享,可在线阅读,更多相关《输入子系统的作用与框架》请在金锄头文库上搜索。
Linux驱动的层次关系与分类
Linux驱动的层次关系与分类
字符设备驱动 —— 字符设备驱动框架
字符设备驱动——申请、创建、应用
输入子系统的作用与框架
字符设备驱动——申请、创建、应用
字符设备驱动 —— 字符设备驱动框架
驱动开发之开发步骤
输入子系统的作用与框架
驱动开发之开发步骤
创建 Visual C++ 源文件并在命令行上对其进行编译
Windows驱动开发需要注意的细节
在命令行上编译本机 C++ 程序的先决条件
C++如何打开“开发人员命令提示”
Windows 11 WHQL认证的重要性
Windows10旧版本驱动数字签名更新的必要性
通过WHQL认证的产品可以微软官网查询了
怎样判断一个驱动程序是否通过微软WHQL认证
微软发布Windows 10 21H1 硬件兼容计划(WHCP)(1)
申请USB VENDOR ID 的意义
2024-03-07 87页
2023-12-26 16页
2023-12-26 28页
2023-07-21 7页
2023-07-21 3页
2023-07-21 14页
2023-07-21 3页
2023-07-21 30页
2023-07-21 34页
2023-07-21 15页