Henrik Rydberg writes: > Michael Poole wrote: > [...] >> >> How would the slot number for a contact be chosen? > > The device driver determines how to use the slots. The driver calls > input_mt_slot(dev, slot), sends the data for the slot, picks another slot, and > repeats. > >> If the kernel makes >> that assignment, what should a "slot" correspond to from a computer >> user's perspective? "Set[s] of identified sources" is a little vague: >> Does it mean contacts from one hand, contacts in one displayed window >> (assuming the touch surface is a screen), or something else? (I assume >> it would not duplicate the blob or tracking IDs already defined for MT >> events.) > > The slot is only used for data communication. Think of the slot as a combined, > unique identifier. For example, imagine a device driver dealing with contacts > labeled with both a USER_ID and a TRACKING_ID. The driver assigns every active > (USER_ID, TRACKING_ID) contact to a specific slot, and uses it to communicate > all changes to that contact. When the contact is destroyed (for instance by > sending a zero ABS_MT_PRESSURE on that slot), the slot is free to be used for > another contact. For hardware with touch tracking support, what does a slot ID provide for user-space that the tracking ID doesn't? (TRACKING_ID is already supposed to be unique for the life of the touch.) For hardware without touch tracking, is the driver expected to implement the Euclidean bipartite matching in order to assign touch reports to slots? (Pardon me if I'm being dense -- I'm more familiar with the kernel driver side, not the X server's implementation or dispatch of multitouch events.) Michael Poole -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html