资讯详情

Android驱动调试:电容触摸屏驱动调试记录和移植问题分析

软件平台:Android 4.0

问题描述:

今天将调试电容屏驱动,Android 2.3的驱动代码直接移植到4.0中发现触摸屏不能使用;

因为硬件已经提前了Android2.3.验证后,首先排除了硬件问题;触摸屏驱动也在2.3平台上能正

经常使用,为什么移植到4.0有问题吗?(智能硬件开发网工程师遇到的问题)

测试步骤:

1、getevent发现事件报告正常;

2、加串口打印,发现触摸点坐标也正常;

底层没问题,但是应用层有问题吗?这时,我突然想起了前几天4号.为什么0平台上移植过电阻屏驱动?

电阻屏幕可以正常工作,但电容屏幕不工作?触摸屏驱动器似乎还有问题。

通过比较两个驱动代码,找出问题的原因:

原来在电阻屏驱动中,每次报告事件结束时都有以下两句话:

input_report_key( input_dev , BTN_TOUCH , 1); // pressed

input_report_key( input_dev , BTN_TOUCH , 0); // realse

在电容屏驱动中却没有,加上之后电容屏工作正常。

之后在网上搜索了一下才知道Andorid 的 touchscreen 必须有事件 BTN_TOUCH 才可以。

因此,在初始化时添加:

tablet_dev->keybit[BIT_WORD (BTN_TOUCH)] = BIT_MASK (BTN_TOUCH);

报告事件时添加

input_report_key( input_dev , BTN_TOUCH , 1); // pressed

input_report_key( input_dev , BTN_TOUCH , 0); // realse

标签: 6410电容屏驱动

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司