[转]Android 4.0 触摸屏驱动调试记录

来自:http://blog.21ic.com/user1/6273/archives/2012/88350.html

软件平台: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

至于为什么会这样现在还没来得及分析,待以后弄清楚了补上。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cypress触摸屏是一种基于Cypress公司的触摸屏技术的设备,可以用于各种android设备。为了使Cypress触摸屏能够正常工作,需要相应的android驱动程序。 首先,我们需要明确Cypress触摸屏的型号和版本以及android设备的型号和版本。根据这些信息,我们就可以在Cypress官方网站或其他资源中找到相应的android驱动程序。 在下载和安装驱动程序之前,我们需要确保android设备已经启用了USB调试模式。这可以在设备的开发者选项中进行设置,具体的设置步骤可以根据android设备的型号和版本来进行查询。 安装驱动程序的具体步骤可能会因设备型号和版本而有所不同。一般来说,我们可以将下载的驱动程序文件通过USB线连接到android设备上,然后在设备的通知栏或设置中找到USB连接选项,并选择MTP(媒体传输协议)模式。 接下来,我们可以在android设备的文件管理器中找到连接的驱动程序文件,并点击进行安装。如果android设备提示需要安装来自未知来源的应用程序,请确保已经允许安装来源不明的应用程序。 安装完成后,我们可以断开USB连接,并重新启动android设备。此时,Cypress触摸屏应该已经能够正常工作了。 在使用Cypress触摸屏时,我们还可以根据需要进行一些高级设置,如调整触摸屏的灵敏度、分辨率等。这些设置通常可以在android设备的设置中找到,具体的设置项和选项可能会因不同的设备而有所不同。 总之,要让Cypress触摸屏android设备上正常工作,我们需要下载并安装适用的android驱动程序,并按照相关的设置步骤进行操作。希望以上信息能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值