Linux驱动
文章平均质量分 56
WangMark
这个作者很懒,什么都没留下…
展开
-
触摸屏校正原理
(1)触摸屏为什么需要校正? 触摸屏与LCD显示屏是两个不同的物理器件。LCD处理的像素,例如我们通常所说的分辨率是600x800,实际就是指每行的宽度是600个像素,高度是800个像素,而触摸屏处理的数据是点的物理坐标,该坐标是通过触摸屏控制器采集到的。两者之间需要一定的转换。 其次, 在安装触摸屏时,不可避免的存在着一定的误差,如旋转,平移的,这同样需要校正解决。转载 2014-07-28 12:09:48 · 1158 阅读 · 0 评论 -
tslib中的校正算法实现
我们在《触摸屏校正原理》说过,只需要三组点坐标,我们就可以完成触摸屏的校正,其基本公式为: 实际上,在校正时,采集的触摸屏的点坐标有一定的误差,也就是说采集几个三组点坐标,分别计算A、B、C、D、E、F,其结果不尽相同。 在tslib的ts_calibrate中,采集了五组点坐标,具体代码参见ts_calibrate.c中的perform_calibration()。转载 2014-07-28 11:49:56 · 994 阅读 · 0 评论 -
Linux Input子系统--概述
输入设备总类繁杂,包括按键,键盘,触摸屏,鼠标,摇杆等等,它们本身都是字符设备,不过内核为了能将这些设备的共性抽象出来,简化驱动的开发,建立了一个Input子系统。Input子系统分为三层,从下至上分别是输入设备驱动层,输入核心层以及输入事件驱动层。这三层中的输入核心层和输入事件驱动层都是内核已经完成了的,因此需要我们完成的只有输入设备驱动层。考虑输入设备主要的工作过程都是 动作产生(按键,触屏…转载 2014-07-29 10:50:08 · 428 阅读 · 0 评论 -
Linux Input子系统--设备的注册和打开
这节结合even handler来分析设备的注册和打开的过程,在设备注册之前,必须先初始化INPUT子系统,由input_init()函数来完成[cpp] view plaincopystatic int __init input_init(void) { int err; input_init_abs_bypass(); err转载 2014-07-29 10:53:09 · 623 阅读 · 0 评论 -
linux内核input子系统解析
Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。一、input输入子系统框架下图是input输入子转载 2014-07-29 10:47:36 · 411 阅读 · 0 评论