- 論壇徽章:
- 0
|
現(xiàn)在在調(diào)試SSD2533的10點觸摸屏,使用TouchTest APK測試,上報坐標是準確的,在畫線的時候,要釋放手指后,線條才顯示出來。
在畫線時候,后臺是一直都在打印上報的數(shù)據(jù)的。
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);
}
請問是怎么回事呢。
希望各路英雄好漢出手相助! |
|