We agree that the contact should stay the same, but the fear, and I think somewhere along the blurry history of this thread, the problem was that userspace interpreted the property change as a new contact (lift up/double click/etc). Finger/thumb/palm is one set of hand properties, but what about Pen? It would be hard for an application to consider a switch from finger to pen as the same contact, which is where the natural implementation starts to diverge from the intention.I am sorry I did not respond and lost track of this issue back then, butLogically, the confidence state is a property of a contact, not a new type
of contact. Trying to use it in any other way is bound to lead to confusion.
Problem is that MT_TOOL_PALM has been introduced in the kernel since
v4.0 (late 2015 by a736775db683 "Input: add MT_TOOL_PALM").
It's been used in the Synaptics RMI4 driver since and by hid-asus in late 2016.
I can't find any other users in the current upstream tree, but those
two are already making a precedent and changing the semantic is a
little bit late :/
I disagree with Henrik here. While confidence is a property of contact,
so is the type of contact and it can and will change throughout life of
a contact, especially if we will continue adding new types, such as, for
example, thumb. In this case the firmware can transition through
finger->thumb or finger->thumb->palm or finger->palm as the nature of
contact becomes better understood. Still it is the same contact and we
should not attempt to signal userspace differently.
We could introduce the ABS_MT_CONFIDENCE (0/1 or even 0..n range), toIndeed, the Wacom firmware seems to need some special handling, which should be fine by everyone. I do think it would make sense to add ABS_MT_TOOL_TOO_BIG, or something, and use it if it exists. This would apply also to a pen lying down on a touchpad, for instance.
complement ABS_MT_TOOL, but that would not really solve the issue with
Wacom firmware (declaring contact non-confident and releasing it right
away) and given MS explanation of the confidence as "contact is too big"
MT_TOOL_PALM fits it perfectly.