On Fri, Jul 08, 2016 at 07:36:45AM -0700, jeffrey.lin wrote:
> >This is not offset, this is size, or length, of CRC.
> I'll change namming as RM_CONTACT_CRC_SIZE
> 
> >> @@ -798,33 +803,54 @@ static void raydium_mt_event(struct raydium_data *ts)
> >>            input_mt_slot(ts->input, i);
> >>            input_mt_report_slot_state(ts->input, MT_TOOL_FINGER, state);
> >>  
> >> -          if (!state)
> >> -                  continue;
> >> -
> >> -          input_report_abs(ts->input, ABS_MT_POSITION_X,
> >> +          if (state == 0x01) {
> 
> >Why we need this change? How is it related to CRC? Do you intent to
> >report contact as active but not emit any position data of state is
> >neither 0 nor 1?
> This is no relationship with CRC, just want to make sure report points as 
> state equal to 1.

If active contact only reported when state is 0x01 you need to update
the statements above like this:

        input_mt_report_slot_state(ts->input, MT_TOOL_FINGER,
                                   state == 0x01);

        if (state != 0x01)
                continue;

but I am surprised that your firmware would report anything but 0 for
inactive contact.

Could you document all possible state values?

Thanks.

-- 
Dmitry

Reply via email to