由于某些IC的特性,当为多点时,默认靠近Y轴的点ID为ID0,这样就会造成当多点变单点时,单点失效,单点变多点时,会变成单点的划线动作。解决这个BUG的方法:
当按在触摸屏上的point数与上次的point数不同,就不上报此次坐标。这样就可以解决问题。
//fix one touch <--> two touch issue
if ( preFingerNum!=touchData.nFingerNum ) {
preFingerNum=touchData.nFingerNum;
input_report_abs(input, ABS_MT_TOUCH_MAJOR, 0);
input_mt_sync(input);
input_sync(input);
}
在Android 4.0中,ABS_MT_TRACKING_ID是必须上报的,不然有些APK会出现问题,疯狂的小鸟就有可能不能正常运行。