INPUT子系统 一:什么是Input子系统? (应用场景,用途) 二:怎么设计Input子系统的程序? (分配一个输入设备——注册一个输入设备——上报输入事件——注销一个输入设备——释放一个输入设备) 三:Input子系统需要知道哪些? (涉及的重要数据结构(input_dev,input_han ...
分类:
其他好文 时间:
2016-04-27 12:54:49
阅读次数:
259
/* 一:input_dev代表一个输入设备 二:input_event事件传送的载体,输入子系统的事件通过这个结构体包装传送给用户空间 三:input_handler事件驱动的主体,每一种处理方式对应一个handler结构体 四:input_handle用来连接input_dev和input_ha ...
分类:
其他好文 时间:
2016-04-21 15:12:39
阅读次数:
255
msg2133触摸屏(TP源代码学习) 强调:下面的设备指触摸屏ABS:绝对值 1. input子系统简介 Linux输入设备总类繁杂,常见的包括有按键、键盘、触摸屏、鼠标、摇杆等等,他们本身就是字符设备,而linux内核将这些设备的共同性抽象出来,简化驱动开发建立了一个input子系统。子系统共分为三层,如图1所示。图1 驱动层和硬件相关,直接捕捉和获取硬件设备的数据信息等...
分类:
其他好文 时间:
2016-04-19 19:48:42
阅读次数:
530
二.内核代码
2.1输入子系统设备驱动层
我们先从设备驱动层进行讲解
首先设备驱动层调用input_allocate_device进行申请input_dev结构体,接着对该结构体进行赋值,然后调用input_register_device进行注册设备。同时我们在open函数里定义中断函数,中断函数里实现input_report_key的操作,向核心层报告按键消息。
通过上面分析我们主要关注...
分类:
其他好文 时间:
2016-04-13 13:21:12
阅读次数:
230
首先需要了解sys节点和linux驱动编程的知识,在linux内核<linux/>下有着对应的实现。本例实现创建sys节点,外围程序通过input子系统控制鼠标位置。 第一步编写驱动代码,创建sys节点: 你就会看到你input设备上报的坐标,打印信息如下: ...
分类:
其他好文 时间:
2016-04-06 10:57:30
阅读次数:
250
作者:武汉华嵌嵌入式培训中心讲师李家凯对于输入类设备如键盘、鼠标、触摸屏之类的Linux驱动,内核提供input子系统,使得这类设备的处理变得非常便捷。总体上来讲,input子系统由三部分组成:事件驱动<——>input核心<——>设备驱动。其中事件驱动负责与用户程序..
分类:
系统相关 时间:
2016-03-10 14:52:17
阅读次数:
251
核心层:给事件层和设备层提供接口,规范编程接口。 一. 输入子系统核心分析。 1.输入子系统核心对应与/drivers/input/input.c文件,这个也是作为一个模块注册到内核的。所以首先分析模块初始化函数。 1 .cnblogs 2. 输入子系统的核心其他部分都是提供的接口,向上连接事件处理
分类:
其他好文 时间:
2016-02-27 15:11:34
阅读次数:
254
Input 事件驱动: (主要文件 :drivers/input/evdev.c 、 drivers/input/input.h)基于kernel 4.0一、 关键函数调用顺序:1、input_register_handler(&evdev_handler); ///注册 evdev_handler...
分类:
系统相关 时间:
2015-12-17 19:00:35
阅读次数:
279
打开/driver/input/input.c 这就是input代码的核心 找到static int __init input_init(void){err = class_register(&input_class);注册一个类,注册后会在sys/class出现input目录.......err ...
分类:
其他好文 时间:
2015-11-25 13:26:16
阅读次数:
194
注:本系列转自: http://www.ourunix.org/post/290.html input子系统介绍 输入设备(如按键,键盘,触摸屏,鼠标,蜂鸣器等)是典型的字符设备,其一般的工作机制是底层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C...
分类:
系统相关 时间:
2015-10-10 17:08:11
阅读次数:
245