![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
INPUT设备驱动
别说郁闷
手机开发
展开
-
Linux 内核驱动--多点触摸接口
译自:linux-2.6.31.14/Documentation/input/multi-touch-protocol.txt简介 为了使用功能强大的多点触控设备,就需要一种方案去上报用户层所需的详细的手指触摸数据。这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息。 使用说明 单点触摸信息是以ABS承载并按一定顺序发送,如BT转载 2011-06-21 14:20:00 · 1289 阅读 · 0 评论 -
linux按键驱动示例
如果要将该程序应用于具体工程中,建议将中断处理函数“button_irq()”中的“__udelay(50000)“需要改为使用内核定时器。按键原理图//------------------------------------------驱动程序---------转载 2011-08-01 12:14:03 · 804 阅读 · 0 评论 -
inux输入子系统(8)--input core
第3章 输入子系统核心层上面两章分别讲了Linux输入子系统的设备驱动层和事件处理层,这两层的实现都是建立在输入核心层的基础之上的。核心层负责管理所有的资源并连接驱动层和事件处理层。3.1 inputcore初始化输入子系统的核心层的实现都在driver/input/input.c文件中,初转载 2011-06-23 16:57:00 · 1169 阅读 · 0 评论 -
linux输入子系统(7)--mouse_handler的实现
2.4 mouse_handler的实现在内核的driver/input/mousedev.c中内核已经实现了一个专门处理鼠标事件的mousedev_handler。这个handler占用的次设备号是32~63。虽然有32个次设备号可用,但是只有前31个可被用户所用,系统保留了最后一个,所以最多连接31转载 2011-06-23 16:55:00 · 1137 阅读 · 0 评论 -
linux输入子系统(6)--- evdev_handler的实现
2.3 evdev_handler的实现Linux输入子系统已经建立好了几个handler,用来处理几类常见的事件,如鼠标、键盘、摇杆等。其中最为基础的是evdev_handler,它是在driver/input/evdev.c中实现的。它能够接收任意类型的事件,任意id的设备都可以和它匹配连接,它对应的设备节点为转载 2011-06-23 16:54:00 · 938 阅读 · 0 评论 -
linux输入子系统(5)
第2章 输入子系统的事件驱动上一章已经说过输入子系统分为三层,最上面的一层是事件处理层,我们暂时称它为事件驱动,这是相对于上一章的设备驱动来讲的。上一章介绍了设备驱动注册时要与匹配的handler连接,报告的事件也会分发给连接的handler,这一章介绍handler的相关操作。2.1 重要的数据结构首转载 2011-06-23 16:53:00 · 1111 阅读 · 0 评论 -
linux输入子系统(4)
1.5 事件报告的传递输入子系统设备报告各种事件通过input_report_XXX族函数,例如程序清单 1.5中报告按键事件。按键、相对坐标、绝对坐标和同步事件报告的函数如程序清单 1.12所示。 程序清单 1.12 事件报告函数转载 2011-06-23 16:52:00 · 1240 阅读 · 0 评论 -
linux输入子系统(3)
1.4 input_dev的注册在输入设备驱动的初始化函数的最后一步就是调用input_register_device注册设备。这个函数如程序清单 1.9所示。程序清单 1.9 input_register_device/* driver/in转载 2011-06-23 16:51:00 · 863 阅读 · 0 评论 -
linux输入子系统(2)
1.3 输入子系统设备驱动讲解1.3.1 打开和关闭函数struct input_dev中有open和close两个函数指针。在与handler第一次连接之后会调用open函数,断开连接会调用close。open中应该完成硬件初始化的相关工作,并且申请用到的其他资源,如中断号。c转载 2011-06-23 16:51:00 · 1114 阅读 · 0 评论 -
linux输入子系统(1)
第1章 Linux输入子系统设备驱动Linux输入子系统将输入驱动抽象为三层:事件处理层、核心层、设备驱动层。应用程序只需要跟事件处理层打交道,不需要察觉设备的变化。核心层是负责管理输入设备,并将消息在事件处理层和设备驱动层之间传递。由于事件处理和设备驱动的分离,使得应用程序读取输入信息的接口固定不变就可以适应新的同类输入设备。表示事件处理层的数据结转载 2011-06-23 16:48:00 · 1157 阅读 · 0 评论 -
linux多点触控协议
简介为了使用功能强大的多点触控设备,一种方案是上报用户层所需的详细的手指触摸数据。这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息。使用说明任何一个手指的触控数据都是打包成 ABS event 包按顺序发送,只有 ABS_MT event包转载 2011-09-14 16:06:43 · 808 阅读 · 0 评论