Hi Dudley,

On Mon, Jun 15, 2015 at 05:01:33PM +0800, Dudley Du wrote:
>  
> +static void cyapa_pip_report_proximity(struct cyapa *cyapa,
> +             const struct cyapa_pip_report_data *report_data)
> +{
> +     struct input_dev *input = cyapa->input;
> +     u8 distance = report_data->report_head[PIP_PROXIMITY_DISTANCE_OFFSET] &
> +                     PIP_PROXIMITY_DISTANCE_MASK;
> +
> +     input_report_abs(input, ABS_MT_DISTANCE, distance);
> +     input_sync(input);

It looks like the distance reported by the hardware is not per-contact
(i.e. it can not tell that we had 2 fingers on surface and the 2nd one
was lifted and is now hovering over the surface), so we should be using
ABS_DISTANCE, not ABS_MT_DISTANCE.

I can adjust it here, no need to resend.

Thanks.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to