input子系统
文章平均质量分 96
奔跑的小刺猬
欲速则不达
展开
-
linux驱动input子系统学习七(总结)
input子系统本身的注册:input_init(void) class_register(&input_class); /* sysfs的class下出现input文件夹 */ input_proc_init(); /* 初始化input的proc文件系统 */ register_chrdev(INPUT_M...原创 2018-07-29 20:24:44 · 838 阅读 · 0 评论 -
linux驱动input子系统学习六(数据传输流程)
上一篇博客中曾使用input_report_key函数来上报键值和按键状态,现在我们就分析一下它的上报流程。 可以看系统提供了很多来上报各种信息的函数(适用,键盘,鼠标,触摸屏等各种上报信息)它们都是掉用同一的接口input_enent来实现的,所以input_event才是我们分析的重点。static inline void input_report_key(struct i...原创 2018-07-29 19:06:27 · 1283 阅读 · 0 评论 -
linux驱动input子系统学习五(输入设备驱动层)
输入设备驱动层就是主要由驱动工程师根据具体设备来实现了,既可以实现的很复杂又各种read,write,open等等。也可以实现的很简单。我这里是学习就根据系统给的参考readme实现一份简单的按键值得上报驱动。在documentation文件夹下找到input文件夹,里面有两个主要的文档input.txt和input_programming.txt其中input.txt主要讲述来input...原创 2018-07-29 16:53:30 · 1513 阅读 · 0 评论 -
linux驱动input子系统学习四(输入事件驱动层)
输入事件层目前系统帮我们区分了三种,通用各种类型输入类设备的evdev,主流,也是将来大方向mousedev,joydev。 我们学习就以evdev来学习,将来使用通用性也更高。一、首先是框架性的调用输入核心层实现的input_register_handler和input_unregister_handler来注册evdev层。static struct input_ha...原创 2018-07-28 23:47:33 · 1647 阅读 · 0 评论 -
linux驱动input子系统学习三(输入核心层)
输入核心层,是input子系统实现的核心。对下(设备驱动层),提供设备注册接口,输入信息反馈接口。对上(事件驱动层),提供事件注册接口,等。 一.先学习input子系统自己的实现。注册input子系统本身很简单只需要在sysfs中注册号相应的设备类和主设备号即可。下面有难度的是初始化input子系统的proc文件系统,但这不是我们这次分析的核心,也不是必须的,所以proc文...原创 2018-07-28 15:27:19 · 1564 阅读 · 0 评论 -
linux驱动input子系统学习二(框架)
input输入子系统如何工作?例如以一次鼠标按下事件为例子来说明我们的input输入子系统的工作过程:设备驱动层:当我们按下鼠标左键的时候就会触发中断(中断是早就注册好的),就会去执行中断所绑定的处理函数,在函数中就会去读取硬件寄存器来判断按下的是哪个按键和状态 ---->将按键信息上报给input core层 ---> input core层处理好了之后就会上报给inp...原创 2018-07-26 22:47:34 · 4196 阅读 · 0 评论 -
linux驱动input子系统学习一(基础知识)
一.Linux中的input子系统介绍Input驱动程序是linux输入设备的驱动程序,分成游戏杆(joystick)、鼠标(mouse和mice)、键盘(keyboard)、事件设备(event)。其中事件设备驱动程序是目前通用的驱动程序,可支持键盘、鼠标、触摸屏等多种输入设备。Linux input 子系统将一个输入设备的输入过程分成了设备驱动(input device driver...原创 2018-07-25 23:48:25 · 3509 阅读 · 2 评论