Touch
Tommy_wxie
Tommy_wxie
展开
-
触摸屏(TP)乱跳原因总结
导致触摸屏乱跳的原因大概分为5类:(1) 触摸屏硬件通道损坏 (2)触摸屏固件版本太低 (3) 触摸屏工作电压异常 (4) 射频干扰 (5)触摸屏校准异常 硬件通道损坏1.现象: 点击TP的某块区域,无反应,但是该区域周围被感应到,产生了触摸事件2.问题分析: TP的感应区域是由一条条的感应通道组成的,若某几条感应通道坏了,原创 2013-07-05 17:22:37 · 2633 阅读 · 0 评论 -
Linux驱动之触摸屏 单点 多点 举列
3. 多点触摸3.1overview 多点触摸没啥好特别的,就是把多个单点捆绑起来,组合成一组坐标值。然后上层应用对其手势进行解析,就有了我们平常看到的两个手指对图片进行缩放等功能。从Linux-2.6.30才对多点触摸支持。 3.2 单点触摸和多点触摸l 单点触摸和多点触摸都是基于输入子系统来做,所以对于在软件上的实现区别不是很大。 l 参转载 2013-07-04 11:51:00 · 6198 阅读 · 0 评论 -
Android tp的虚拟按键(virtual key)处理
Android tp的虚拟按键处理现在在越来越多的Android的手机都是虚拟按键来操作,但是对于开发者来说可能会关心Android对虚拟按键如何处理的。对Linux熟悉的人可能会说,it's easy, 调用input_report_key()。OK,你说的没有错误,但是在android中,google让你对策略和驱动有了更加深入的了解。APP------->原创 2013-07-24 15:48:22 · 2409 阅读 · 0 评论 -
Android4.1 InputManagerService 流程
1. mInputManager = new InputManagerService(context, mInputMonitor); 在WMS的构造函数中进行初始化, mInputMonitor 继承InputManagerService.Callbacks,传给InputMangerService中的mCallbacks,WMS中的Context给mContext; 在Inpu转载 2013-10-24 16:09:30 · 3219 阅读 · 1 评论 -
Touch Device Driver Requirements
Touch Device Driver RequirementsTouch device drivers should only register abs and key codes for the abs and buttons that they actually support. Registering excess axes or key codes may confuse t原创 2012-06-05 17:48:23 · 2580 阅读 · 0 评论 -
浅析Linux Input 子系统
在android中,定时alarm功能是很常用的,现在来分析下怎么实现的,这里将采用自下而上的方式讲解。输入子系统又叫input子系统。其构建非常灵活,只需要调用一些简单的函数,就可以将一个输入设备的功能呈现给应用程序。Input子系统 主要有下面几个结构:struct input_dev; //表示一个输入设备,包含输入设备的一些相关信息(如支持的按键码,s设备的名称原创 2012-04-07 21:50:07 · 1749 阅读 · 0 评论 -
Adroid 触摸屏设备
1. 触摸屏设备分类1.1 多点触摸满足以下两个条件为多点触摸设备:1)输入设备驱动报告了ABS_MT_POSITION_X 和ABS_MT_POSITION_Y存在2)输入设备没有任何手柄按钮1.2 单点触摸满足以下两个条件为单点触摸设备:1)输入设备不被归类为多点触摸设备2)输入设备报告存在ABS_X和ABS_Y绝对轴,以及存在BTN_TOUCH按键码1.3转载 2013-03-28 13:32:41 · 1362 阅读 · 0 评论 -
S3C2440驱动篇—触摸屏驱动分析
S3C2440触摸屏驱动一.硬件简介 S3C2440触摸屏接口与ADC接口集成在一起,触摸屏X、Y坐标所产生的模拟信号通过通道7、5输入,2440提供触摸屏接口有4种处理模式:普通转换模式、分离的X/Y轴坐标转换模式、自动X/Y轴坐标转换模式、等待中断模式。具体参考2440硬件手册16章。二.驱动实现 下面是触摸屏驱动源码,其中使用了linux输入子系统in转载 2012-03-30 20:16:35 · 1522 阅读 · 1 评论 -
UInput使用注意事项
UInput驱动相对比较简单,大概了解一下其实现,他跟一般的platform-driver没有特殊的地方。只是添加了创建input_register_device的地方。其使用需要按照一定的步骤,比较麻烦。 1. if((thiz->fd = open(dev, O_WRONLY | O_NONBLOCK)) 2. ioctl使用众多的ioctl,设置我们需要的参数。驱转载 2014-01-23 15:53:04 · 1474 阅读 · 0 评论 -
Linux输入子系统:多点触控协议 -- multi-touch-protocol.txt
简介------------ 为了发挥新近的多点触摸和多用户设备的强大功能,为多点触摸定义一种上报详细数据的方法(比如有多个物体直接接触到设备的表面),是非常有必要的。这篇文档描述了多点触摸协议(multi-touch,MT),是的内核驱动可以对多个随意数量的触控事件上报详细的数据信息。 基于硬件的能力,该协议被分为两种类型。对于只能处理匿名接触(type A)的设备,该协转载 2013-07-04 11:27:38 · 1392 阅读 · 0 评论 -
Android4.1 Framwork层Input子系统分发InputEvent流程图
今天整理了一下Android4.1的代码流程,将Input事件分发这部分画成了流程图,流程图里面清晰的描述了Input事件从中间层到应用层的分发过程。过程有些繁琐,流程图如下:转载 2013-07-05 17:35:35 · 2941 阅读 · 1 评论 -
Android4.1输入系统参数配置和输入事件校准
Android4.1输入系统参数配置和输入事件校准reader:This is copy DOC, you can refer to original edition http://blog.csdn.net/wlwl0071986/article/details/8531983转载 2013-07-05 17:29:58 · 1275 阅读 · 0 评论 -
Android4.1输入子系统框架介绍和性能分析
This is copy doc, you can refer to original edition http://blog.csdn.net/wlwl0071986/article/details/8351964为了说明Android4.1和Android4.0在输入子系统这部分的变化,首先,我们来看两幅图: Android4.1和Android4转载 2013-07-05 17:34:04 · 3682 阅读 · 2 评论 -
android input event analyse
InputReader.cpp启动线程一直循环threadLoop-->loopOnce-->mEventHub->getEvents EventHub.cpp getEvents()-->scanDevicesLocked() -->scanDirLoc原创 2013-07-05 20:08:31 · 1328 阅读 · 0 评论 -
Android应用程序键盘(Keyboard)消息处理机制分析
Android应用程序键盘(Keyboard)消息处理机制分析分类: Android 2011-10-24 00:59 40076人阅读 评论(169)收藏 举报androidAndroidANDROIDclassClassinputkeyboardserverServer 在Android系统中,键盘按键事件是由WindowManager转载 2013-07-08 17:10:07 · 1848 阅读 · 0 评论 -
linux input设备驱动
一. 输入设备结构体 1. input_dev 输入设备[cpp] view plaincopystruct input_dev { const char *name; //设备名 const char *phys; //设备系统层的物理路径 const char *uniq; //转载 2013-07-04 13:44:35 · 4271 阅读 · 0 评论 -
多点触控协议(MTP)
Multi-touch (MT) Protocol------------------------- Copyright (C)2009-2010 Henrik Rydberg Introduction------------In order to utilize the full power of thenew multi-touch and multi-user de转载 2013-07-04 11:57:22 · 5153 阅读 · 0 评论 -
Linux输入子系统:事件的编码 -- event-codes.txt
输入系统协议用类型types和编码codecs来表示输入设备的值并用此来通知用户空间的应用程序。这篇文档对这些类型和编码进行了说明并且指出什么时候和如何使用这些类型和编码。 一个单一的硬件事件可以产生多个输入事件,每个输入事件包含一个单一数据项的新的数据值。EV_SYN是一个特别的事件类型,它用来把同一时刻产生的多个输入数据分割为多个数据包。在下面的描述中,术语事件(event)是指一个涵盖类转载 2013-07-04 11:33:37 · 1212 阅读 · 0 评论 -
Linux内核驱动--多点触摸
简介 为了使用功能强大的多点触控设备,就需要一种方案去上报用户层所需的详细的手指触摸数据。这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息。 使用说明 单点触摸信息是以ABS承载并按一定顺序发送,如BTN_TOUCH、ABS_X、ABS_Y、SYNC。而多点触摸信息则是以ABS_MT承载并按一定顺序发送,如ABS_MT_POSITION_X、ABS_转载 2013-03-28 13:26:53 · 1386 阅读 · 0 评论 -
Multi-touch (MT) Protocol 小结
Android 中多点触摸协议: 参考: http://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt 1, 两种多点触摸协议: 1)A类: 处理无关联的接触: 用于直接发送原始数据; B类: 处理跟踪识别类的转载 2013-07-04 11:12:59 · 1250 阅读 · 0 评论 -
使用UInput模拟系统键盘鼠标动作 UInput driver分析
当uinput driver已经insmod, 且node 已经建立后。即可使用它们传递系统输入设备消息。 1. 打开UInputDevice:应用程序:dev 为 UInput Node名:通常为/dev/uinput。open(dev, O_WRONLY | O_NDELAY); 此时,在Kernel 层,对应的动作为:stati转载 2014-01-23 15:53:41 · 2534 阅读 · 0 评论