linux input子系统
文章平均质量分 79
emtribe
这个作者很懒,什么都没留下…
展开
-
Linux输入子系统(Input Subsystem)
1.1.input子系统概述输入设备(如按键,键盘,触摸屏,鼠标等)是典型的字符设备,其一般的工作机制是低层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C或者外部存储器总线读取键值,坐标等数据,放一个缓冲区,字符设备驱动管理该缓冲区,而驱动的read()接口让用户可以读取键值,坐标等数据。在Linux中,输入子系统是由输入子系统设转载 2013-03-04 14:18:16 · 402 阅读 · 0 评论 -
浅析Input 子系统
在android中,定时alarm功能是很常用的,现在来分析下怎么实现的,这里将采用自下而上的方式讲解。输入子系统又叫input子系统。其构建非常灵活,只需要调用一些简单的函数,就可以将一个输入设备的功能呈现给应用程序。Input子系统 主要有下面几个结构:struct input_dev; //表示一个输入设备,包含输入设备的一些相关信息(如支持的按键码,s设备的名称转载 2013-02-27 17:28:38 · 240 阅读 · 0 评论 -
input子系统学习笔记四 软件设计流程及相关API
接下来,我们就开始看Input子系统的软件设计流程,我在阅读的时候同时整理设计代码中的相关API,并在下一篇文章详细介绍input子系统的代码实现。input子系统的软件设计流程 软件设计流程如下所示: 分配一个输入设备——注册一个输入设备——上报输入事件——注销一个输入设备——释放一个输入设备设计有关的API分配一个输入设备转载 2013-03-04 14:33:20 · 344 阅读 · 0 评论 -
input_dev 结构体成员注释
Namestruct input_dev — represents an input deviceSynopsisstruct input_dev { const char * name;//name of the device const char * phys;//physical pathto the device in the system hierar转载 2013-03-04 14:26:27 · 591 阅读 · 0 评论 -
linux输入子系统
linux系统提供了input子系统,按键,触摸屏,鼠标等输入型设备都可以利用input接口函数来实现设备驱动。体系结构--输入子系统由驱动层,输入子系统核心层(input core)和事件处理层(event handler)三部分组成。一个输入事件,如鼠标移动,键盘按键按下,通过driver->inputcore->event handler->userspace的顺序到达用户空间的转载 2013-03-04 14:23:17 · 232 阅读 · 0 评论 -
linux内核input子系统解析
Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。一、input输入子系统框架下图是input输入子转载 2013-03-04 14:20:29 · 278 阅读 · 0 评论 -
input子系统学习笔记六 按键驱动实例分析下
本文接着input子系统学习笔记五 按键驱动实例分析上接续分析这个按键驱动实例! input_report_key()向子系统报告事件 在 button_interrupt()中断函数中,不需要考虑重复按键的重复点击情况,input_report_key()函数会自动检查这个问题,并报告一次事件给输入子系统。该函数的代码如下:C++代码s转载 2013-03-04 14:35:28 · 2153 阅读 · 0 评论 -
input子系统学习笔记九 evdev输入事件驱动分析
evdev 输入事件驱动,为输入子系统提供了一个默认的事件处理方法。其接收来自底层驱动的大多数事件,并使用相应的逻辑对其进行处理。evdev 输入事件驱动从底层接收事件信息,将其反映到 sys 文件系统中,用户程序通过对 sys 文件系统的操作,就能够达到处理事件的能力。下面先对 evdev 的初始化进行简要的分析。evdev的初始化 evdev 以模块的方式被组织在转载 2013-03-04 14:38:06 · 787 阅读 · 0 评论 -
input子系统学习笔记八 input子系统的详细分析
为了对输入子系统有一个清晰的认识,本节将分析输入系统的初始化过程。在 Linux 中,输入子系统作为一个模块存在,向上,为用户层提供接口函数,向下,为驱动层程序提供统一的接口函数。这样,就能够使输入设备的事件通过输入子系统发送给用户层应用程序,用户层应用程序也可以通过输入子系统通知驱动程序完成某项功能。子系统初始化函数 input_init() 输入子系统作为一个模块转载 2013-03-04 14:36:46 · 398 阅读 · 0 评论 -
input子系统学习笔记七 handler处理器注册分析
input_handler 是输入子系统的主要数据结构,一般将其称为handler处理器,表示对输入事件的具体处理。input_handler 为输入设备的功能实现了一个接口,输入事件最终传递到handler 处理器,handler 处理器根据一定的规则,然后对事件进行处理,具体的规则将在下面详细介绍。关键数据结构 struct input_dev物理输入设备的基转载 2013-03-04 14:36:12 · 565 阅读 · 0 评论 -
input子系统学习笔记五 按键驱动实例分析上
下面是按键驱动的简单例子,这个输入设备只有一个按键,按键被连接到一条中断线上,当按键被按下时,将产生一个中断,内核将检测到这个中断,并对其进行处理。代码含注释如下:C++代码#include #include staticstruct input_dev *button_dev;/*输入设备结构体*/ static irqreturn_t b转载 2013-03-04 14:34:24 · 381 阅读 · 0 评论 -
input子系统学习笔记三 驱动的分层及设备驱动层实现原理
linux中输入设备驱动的分层 下图展现了linux中输入设备驱动的分层,从此图我们不难看出Linux是如何设计输入设备的驱动架构的,结合input子系统学习笔记二 input子系统介绍及结构图我们接下来分析input子系统驱动的分层及设备驱动层实现原理。输入子系统设备驱动层实现原理 在Linux中,Input设备转载 2013-03-04 14:31:32 · 542 阅读 · 0 评论 -
input子系统学习笔记二 input子系统介绍及结构图
input子系统介绍 输入设备(如按键,键盘,触摸屏,鼠标,蜂鸣器等)是典型的字符设备,其一般的工作机制是底层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C或者外部存储器总线读取键值,坐标等数据,放一个缓冲区,字符设备驱动管理该缓冲区,而驱动的read()接口让用户可以读取键值,坐标等数据。 在Linu转载 2013-03-04 14:30:30 · 323 阅读 · 0 评论 -
input子系统学习笔记一(序)
input子系统学习系列文章,是我在实际开发过程中遇到也是必须啃下去的第一个Linux驱动,所以有必要记载下来的。由于刚开始未接触过Input子系统,部分资料还是借鉴网络,本系列文章是本人的学习心得以及集百家所长的产物。 input子系统学习系列文章,主要包含下述内容: Input subsystem理论部分 input转载 2013-03-04 14:28:44 · 368 阅读 · 0 评论 -
Linux设备驱动之——input子系统
什么是INPUT Input子系统处理输入事务,任何输入设备的驱动程序都可以通过Input输入子系统提供的接口注册到内核,利用子系统提供的功能来与用户空间交互。输入设备一般包括键盘,鼠标,触摸屏等,在内核中都是以输入设备出现的。下面分析input输入子系统的结构,以及功能实现。linux中input系统主设备号是13次设备号:0-31 j转载 2013-03-21 11:40:09 · 657 阅读 · 0 评论