现在的位置: 首页 > 综合 > 正文

wince取消开机校准触摸屏

2017年04月12日 ⁄ 综合 ⁄ 共 1033字 ⁄ 字号 评论关闭

wince6与wince5很多方面的设置都不一样,wince5是在注册表的init下面驱动触摸屏校正进程的,取消掉该项就可以消除每次开机触摸屏校正。

而wince6是通过调用ctlcpl.exe来实现校正的,但我没在注册表发现哪里调用了此文件,通过实验发现wince6开机会自动检测注册表HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH下面的CalibrationData项,如果不存在该项,则会调用触摸屏校正程序。而默认得到的NK.bin内的注册表都是没有该项的(开机校正之后才有该项)。

因此,先开机再次校正触摸屏平,然后在VS2005里调用Target\Remote Tools\Registry Editor,查看校正得到的准确CalibrationData校正值,

然后把该串数据写入解决方案内的BSP\Parameter Files\platform.reg注册表中的HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH\CalibrationData项。

但现在为止还不够,需要用记事本把platform.reg,找到下面这三行:

IF IMGNOCALIBRATION
    "CalibrationData"="2016,1888 1056,864 992,2912 3040,2976 3072,896"
ENDIF IMGNOCALIBRATION

修改成

;IF IMGNOCALIBRATION
   "CalibrationData"="2016,1888 1056,864 992,2912 3040,2976 3072,896"
;ENDIF IMGNOCALIBRATION

要把IMGNOCALIBRATION判断取消掉,否则,即使重新编译系统镜像后注册表仍然是没有CalibrationData数值的,就还会调用触摸屏校正。

修改完毕后,重新编译得到NK.bin烧入FLASH,开机,就再也没有触摸屏校正界面了!

结论,虽然在vs2005里打开解决方案的注册表,是可以看到CalibrationData项的,但编译后得到的NK.bin还是没有该项,原因是宏IMGNOCALIBRATION一直是FALSE的.

I.MX51的方法:

增加"CalibrationData"="524,523 796,244 796,808 252,809 258,233"

注释:;   "Launch80"="touchc.exe"

抱歉!评论已关闭.