Re: [PATCH v5 3/3] Input: Add TouchNetix axiom i2c touchscreen driver

From: Dmitry Torokhov
Date: Wed Jan 31 2024 - 14:58:01 EST


On Wed, Jan 31, 2024 at 06:14:41PM +0100, Kamel Bouhara wrote:
> On Thu, Dec 28, 2023 at 09:44:31PM -0600, Jeff LaBundy wrote:

[...]

> > > + case AXIOM_TARGET_STATE_HOVER:
> > > + case AXIOM_TARGET_STATE_TOUCHING:
> > > + target_prev_state->insert = true;
> > > + update = true;
> > > + input_mt_slot(input_dev, slot);
> > > + input_report_abs(input_dev, ABS_MT_TRACKING_ID, slot);
> > > + input_report_abs(input_dev, ABS_MT_POSITION_X, target->x);
> > > + input_report_abs(input_dev, ABS_X, target->x);
> >
> > You do not need to explicitly report ABS_X and ABS_Y values, as calling
> > input_mt_sync_frame() effectively takes care of this by way of pointer
> > emulation.
> >
>
> After double checking/testing this, it doesn't seems to
> report ABS_X/Y values anymore, are you sure about this ? Maybe I missed
> some extra flag in input_mt_init_slots() for that ?

You are missing call to input_report_slot_state() before you start
sending position data. You also should not conflate tracking ID and
slot number. I.e. if you touch and release and touch again, you
likely report through the same slot 0, but the tracking ID of the
contact should be different.

Thanks.

--
Dmitry