android input tp

android2.3


android4.04

初始化:

        ts->input_dev->evbit[0] = BIT_MASK(EV_SYN) | BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS) ;
        ts->input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
        ts->input_dev->absbit[0] = BIT(ABS_X) | BIT(ABS_Y);// | BIT(ABS_PRESSURE); 
        input_set_capability(ts->input_dev,EV_KEY,touch_key_array[retry]);
        input_set_abs_params(ts->input_dev, ABS_X, 0, ts->abs_x_max, 0, 0);
        input_set_abs_params(ts->input_dev, ABS_Y, 0, ts->abs_y_max, 0, 0);
        input_set_abs_params(ts->input_dev, ABS_MT_POSITION_X, 0, ts->abs_x_max, 0, 0);
        input_set_abs_params(ts->input_dev, ABS_MT_POSITION_Y, 0, ts->abs_y_max, 0, 0);
        input_set_abs_params(ts->input_dev, ABS_MT_TRACKING_ID, 0, ts->max_touch_num, 0, 0);


上报:

        if(touch_num)  {

                for(index=0; index<touch_num; index++)  {
                        input_x = (unsigned int) (point_data[position]<<8) + (unsigned int)( point_data[position+1]);
                        input_y = (unsigned int)(point_data[position+2]<<8) + (unsigned int) (point_data[position+3]);

                        input_report_key(ts->input_dev, BTN_TOUCH, 1);
                        input_report_abs(ts->input_dev, ABS_MT_POSITION_X, input_x);
                        input_report_abs(ts->input_dev, ABS_MT_POSITION_Y, input_y);
                        input_mt_sync(ts->input_dev);
                }
        } else  {

                input_report_key(ts->input_dev, BTN_TOUCH, 0);
                input_mt_sync(ts->input_dev);
        }


        input_sync(ts->input_dev);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值