thank you reed,now i think the android's touch screen is working ,but
the code value is not correct ,will you tell me the X /Y value's  MAX
and MIN?
thank you

On 12月12日, 上午11时31分, Reed Huang <[email protected]> wrote:
> Try changing this line:
>       __set_bit(BTN_TOUCH, codec_ts_input->absbit);
> to:
>         __set_bit(BTN_TOUCH, codec_ts_input->keybit);
> And when your pen is up, you should also send an event like:
>             input_report_key(wm->input_dev, BTN_TOUCH, 0);
> Qingzhan Zhang wrote:still do not work
>
> my init code is
>
>          __set_bit(EV_ABS, codec_ts_input->evbit);
>         __set_bit(EV_KEY, codec_ts_input->evbit);
>         __set_bit(ABS_X, codec_ts_input->absbit);
>         __set_bit(ABS_Y, codec_ts_input->absbit);
>         __set_bit(BTN_TOUCH, codec_ts_input->absbit);
>         __set_bit(ABS_PRESSURE, codec_ts_input->absbit);
>
> and when pen down
>
> if((x == 0)&&(y == 0)&&(pressure == 0)){
>         x = last_x;
>         y = last_y;
> } else {
>          x = ((x- 80)*480)/(1300-80);
>          y = ((y - 380)*640)/(1600-400);
>  }
>         input_report_key(ts->idev,BTN_TOUCH,1);
>          if (x != last_x) {
>         printk("the input x value is %d\n",x);
>          input_report_abs(ts->idev, ABS_X, x);
>         last_x = x;
> }
>          if (y != last_y) {
>         printk("the input y value is %d\n",y);
>         input_report_abs(ts->idev, ABS_Y, y);
>         last_y = y;
>  }
>         if (pressure == last_press)
>                pressure--;
>         printk("the pressure is %d\n",pressure); 
>
>  input_report_abs(ts->idev, ABS_PRESSURE, pressure & 0xfff);
>         input_sync(ts->idev);
>
>  
>
> when pen up
>
>  printk("input the release event \n");
>         input_report_abs(ts->idev, ABS_PRESSURE, 0);
>
> On Fri, Dec 12, 2008 at 10:49 AM, Reed 
> Huang<[email protected]>wrote:Correct. And only send once when the pen hit 
> the touchscreen. like following:
>         if(!wm->pen_is_down)
>             input_report_key(wm->input_dev, BTN_TOUCH, 1);
>         absx = data.x & 0xfff;
>         absy = data.y & 0xfff;
>         if(absy > wm->input_dev->absmax[ABS_Y])
>             absy = wm->input_dev->absmax[ABS_Y];
>         if(absx > wm->input_dev->absmax[ABS_X])
>             absx = wm->input_dev->absmax[ABS_X];
>         input_report_abs(wm->input_dev, ABS_X, absx);
>         input_report_abs(wm->input_dev, ABS_Y, (wm->input_dev->absmax[ABS_Y] 
> - absy) + wm->input_dev->absmin[ABS_Y]);
>         input_report_abs(wm->input_dev, ABS_PRESSURE, data.p & 0xfff);
>         input_sync(wm->input_dev);
> zhqzh1982 wrote:you mean i shoul send a BTN_TOUCH pressure event.just like 
> input_event(ts->idev, EV_ABS, BTN_TOUCH, pressure);? On 12月12日, 上午9时56分, Reed 
> Huang<[email protected]>wrote:You need to send BTN_TOUCH event when the 
> pen is down. Refer 
> to:http://androidzaurus.seesaa.net/article/90045743.htmlzhqzh1982 wrote:now i 
> modify the simply calibrate way by x = ((x- 80)*480)/(1300-80); mean the x's 
> value is from 0 to 480 y = ((y - 380)*640)/(1600-400); the y's value is from 
> 0 to 640 the tslib working ok,but android's touchscreen do not work On 
> 12月12日, 上午8时58分, zhqzh1982<[email protected]>wrote:hi my touch pannel driver 
> use input system with event interface when pen down ,i input the x valuer y 
> value and pressure value,just below if((x == 0)&&(y == 0)&&(pressure == 0)){ 
> x = last_x; y = last_y;} else { x = ((x- 80)*240)/(1300-80); y = ((y - 
> 380)*320)/(1600-400); } if (x != last_x) { printk("the input x value is 
> %d\n",x); input_report_abs(ts->idev, ABS_X, x); last_x = x; } if (y != 
> last_y) { printk("the input y value is %d\n",y); input_report_abs(ts->idev, 
> ABS_Y, y); last_y = y; } if (pressure == last_press) pressure--; 
> input_report_abs(ts->idev, ABS_PRESSURE, pressure & 0xfff); and when pen up i 
> input the pressure value as 0,just below input_report_abs(ts->idev, 
> ABS_PRESSURE, 0); but ,android's touch function do not work ,who can help me 
> thanks
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to