Re: [PATCH] Input: zinitix: iterate contact slots by finger count

From: timon

Date: Tue Jul 14 2026 - 11:45:22 EST


Sorry for not replying earlier (life), but I don't think the v2 patch will fully work correctly.

At least on my samsung a3 the loop needs to work as it did before e941dc13fd37.

Meaning: iterate over all slots and check the (sub_status & SUB_BIT_EXIST) for whether the finger is active or not.
Because: the active fingers can be in later slots with the earlier slots being inactive.

For example when the user:
1. touches with one finger (1 finger active in slot 0)
2. touches somewhere else with a second finger (2 fingers active in slots 0, 1)
3. lets go with the first finger (1 finger active in slot 1)

In such a case the loop would only iterate over slot 0 and not report any fingers despite slot 1 still being active.
In practice this will likely be usable... but afaik and can tell it's still incorrect behaviour.

Best Regards,
Timon

On 7/5/26 13:17, Thành Nguyễn wrote:
Hi Nikita, Linus, and Dmitry,

Thank you all for the feedback and for confirming the fix on your end, Nikita.

Unfortunately, since it's been a while since I submitted the v2 patch,
I recently had to completely wipe my development machine and no longer
have the local environment or the original patch files to create a v3.

Since the logic in v2 is sound and the only change needed is a brief
comment explaining the dual mask/count nature of `finger_mask`, would
one of you be willing to add that comment and apply the patch on my
behalf? I'd really appreciate it.

Thanks again for your time and help with getting this merged!

Best regards,
Thanh Nguyen