- 论坛徽章:
- 0
|
现在在调试SSD2533的10点触摸屏,使用TouchTest APK测试,上报坐标是准确的,在画线的时候,要释放手指后,线条才显示出来。
在画线时候,后台是一直都在打印上报的数据的。
if ((touch_status>>4)&(0x3ff)) //at lease one finger detced
{
for (i = 0; i < MAX_FINGERS ;i ++)
{
if((touch_status>>4)&(1<<i))
{
tp_ssd2533_read_reg(0x7C+i,val,4);
mt_buf[i].x = val[0]|((val[2]&0xF0)<<4);
mt_buf[i].y= val[1]|((val[2]&0x0F)<< ;
mt_buf[i].press=(val[3]&0xF0)>>4;
ssd2533_touch_dbg("x=%d,y=%d,press = %d finger = %d\n",mt_buf[i].x,mt_buf[i].y,mt_buf[i].press,i);
printk(">>>>>>>>>>> x=%d,y=%d,press = %d finger = %d\n",mt_buf[i].x,mt_buf[i].y,mt_buf[i].press,i);
if(mt_buf[i].x==0xFFF||mt_buf[i].y==0xFFF )
{
ssd2533_touch_dbg("finger %d up!!!\n",i);
printk("===================== finger %d up!!!\n",i);
}else
{
input_report_abs(ts->dev, ABS_MT_POSITION_X, mt_buf[i].x>150 ? mt_buf[i].x-150:0);
input_report_abs(ts->dev, ABS_MT_POSITION_Y, mt_buf[i].y);
input_report_abs(ts->dev,ABS_MT_TOUCH_MAJOR, 1);
input_report_abs(ts->dev,ABS_MT_PRESSURE, 1/*mt_buf[i].press*/);
input_report_abs(ts->dev,ABS_MT_TRACKING_ID, i); //Track iD .
input_mt_sync(ts->dev);
printk(">>>>>>>>>>>>>>>>>>>>> x[%d]=%4d y[%d]=%4d \n",i,mt_buf[i].x,i,mt_buf[i].y);
}
}
}
input_sync(ts->dev);
}
请问是怎么回事呢。
希望各路英雄好汉出手相助!! |
|