android 移植 之二 触摸屏

其实,对android移植而言,触摸屏的驱动改动不是特别大。

这里只讲两个部分。

第一,就是BTN_TOUCH的添加。在普通的系统中,这个类型的event是可以不加的。意思就是,比如QT2.0,它并不依赖这个事件来判断是否有拖动的事件,记得qt2里好像没有拖动的概念。而android中系统是根据这个事件和后续的触摸屏的位置来判断是否发生了拖动。所以,在平常内核的基础上,要添加BTN_TOUCH事件。

第二,就是关于android的触摸屏校准和坐标映射了。公司的领导在某个时候,突然说,qt都有触摸屏校准,为什么android没有呢,不行,你必须给android加一个。我晕,经过调查,知道了方法。这里不讲具体的实现过程,只提一下驱动相关的东西。

在驱动里,关于input设备都有一个范围或者属性。比如,按键的键码。同样关于触摸屏,就有最小的x轴位置值,最大的x轴位置值,最小的y轴位置值,最大的y轴位置值,还有最大压力值。同样,这些在某些系统中,是没有用的。比如qt,它有自己的校准方法。而android本身没有校准的程序,他的校准就完全依赖于前面所说的4个,xy轴值。通过修改这4个值,就可以完成android的触摸屏校准。所以,在此提醒触摸屏不准的朋友,如果有问题,就去把驱动里的4个值重新调整一下吧。关于如何在文件系统中完成校准,涉及到公司的内容,不再深入描述了。

你可能感兴趣的:(android,input,qt)