![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Sensors_input_event
文章平均质量分 77
lamdoc
这个作者很懒,什么都没留下…
展开
-
各类 sensor 名字
ALS --- light sensor :光敏传感器。系统内置一个可见光光电二极管,可以测光照亮度。accelerometer (3D) ---3D 加速度计。compass ---指南针gyroscope ---陀螺仪, 陀螺仪:绕一个支点高速转动的刚体称为陀螺(top)。通常所说的陀螺是特指对称陀螺,它是一个质量均匀分布的、具有轴对称形状的刚体,其几何对称轴就原创 2012-06-18 18:17:09 · 487 阅读 · 0 评论 -
input 设备的一些概念
input 设备用 input_dev 来表示。每一种类型的事件都在input_dev.evbit中用一位来表示,构成一个位图,如果某一位为1,表示支持该事件,如果该位为0,表示不支持该事件。1. 事件类型 由 input_dev ->evbit 来表示, 可以有如下一些类型:/* * Event types */#define EV_SYN原创 2013-04-11 13:21:24 · 604 阅读 · 0 评论 -
Linux input子系统分析_1_概述与数据结构
Input子系统处理输入事务,任何输入设备的驱动程序都可以通过Input输入子系统提供的接口注册到内核,利用子系统提供的功能来与用户空间交互。输入设备一般包括键盘,鼠标,触摸屏等,在内核中都是以输入设备出现的。下面分析input输入子系统的结构,以及功能实现。一. Input子系统结构与功能实现1. Input子系统是分层结构的,总共分为三层: 硬件驱动层,子系统核心层,事件处原创 2012-06-21 12:55:02 · 486 阅读 · 0 评论 -
getevent
查看触摸屏,或各种sensor的输入情况,可以用:getevent查看各种event信息,可以:cat /proc/bus/input/devices原创 2012-06-26 08:43:47 · 441 阅读 · 0 评论 -
linux input子系统分析_2_主要函数
一. 各种注册函数 因为以上所讲的每种数据结构都代表一类对象,所以每种数据结构都会对应一个注册函数,他们都定义在子系统核心的input.c文件中。主要有三个注册函数 input_register_device 向内核注册一个input设备 input_register_handle 向内核注册一个handle结构 input_regis原创 2012-06-21 12:57:13 · 566 阅读 · 0 评论 -
input.c
阅读 input.c 源代码: subsys_initcall(input_init); module_exit(input_exit);input_init(): static int __init input_init(void) { int err; input_init_abs_bypass();原创 2012-06-21 11:33:02 · 333 阅读 · 0 评论 -
tsc2007驱动
tsc2007是个多功能电阻触摸屏, 具有12bit精度的电阻屏A/D装换器, 压力传感器, 温度传感器等功能.根据不同的触摸屏尺寸,可以支持8bit和12bit精度的转换. 支持I2C接口, 一个中断输出引脚, 中断输出低电平.内部结构框图如下:1. tsc2007 结构体定义:struct tsc2007 { struct input_de原创 2013-07-15 14:01:42 · 2056 阅读 · 1 评论 -
一个简单的keyboard驱动
这个驱动使能了几个CPLD控制的按键,F1, F2,F3,F4, HOME, UP, DOWN,LEFT,RIGHT, ESC, ENTER。1.cpld_kpd_probe()static int cpld_kpd_probe(struct platform_device *pdev){ struct input_dev *cpld_input_dev;原创 2013-07-16 13:51:50 · 507 阅读 · 0 评论 -
Linux input子系统分析_3_输入子系统核心分析
一. 输入子系统核心分析。 1.输入子系统核心对应与/drivers/input/input.c文件,这个也是作为一个模块注册到内核的。所以首先分析模块初始化函数。 static int __init input_init(void) { int err; input_init_abs_bypass(); //这个暂时没有发现是做原创 2012-06-21 12:58:49 · 445 阅读 · 0 评论 -
Linux input子系统分析_4_事件处理层分析
二. 事件处理层分析(以evdev事件处理器为例) 1.事件处理层与用户程序和输入子系统核心打交道,是他们两层的桥梁。一般内核有好几个事件处理器,像evdev mousedev jotdev。 evdev事件处理器可以处理所有的事件,触摸屏驱动就是用的这个,所以下面分析这个事件处理器的实现。它也是作为模块注册到内核中的,首先分析它的模块初始化函数。 static i原创 2012-06-21 13:01:02 · 437 阅读 · 0 评论 -
Linux input子系统分析_5_事件传递过程
三. 事件传递过程(以s3c2410_ts为例) 1. 事件产生 当按下触摸屏时,进入触摸屏按下中断,开始ad转换,ad转换完成进入ad完成中断,在这个终端中将事件发送出去,调用 nput_report_abs(dev, ABS_X, xp); static inline void input_report_abs(struct input_dev *dev, un原创 2012-06-21 13:02:55 · 577 阅读 · 0 评论