On Tue, Jan 05, 2010 at 01:08:59PM +0100, Henrik Rydberg wrote: > Hi Joonyoung, > > > I have some questions about Multi-touch(MT) Protocal. > > Let me start by answering your last question: > > > Finally, what is difference of ABS_MT_TOUCH_MAJOR and > > ABS_MT_WIDTH_MAJOR? > > The TOUCH and WIDTH parameters have a geometrical interpretation; imagine > looking through a window at someone gently holding a finger against the glass. > You will see two regions, one inner region consisting of the part of the finger > actually touching the glass, and one outer region formed by the perimeter of the > finger. The diameter of the inner region is the ABS_MT_TOUCH_MAJOR, the diameter > of the outer region is ABS_MT_WIDTH_MAJOR. Now imagine the person pressing the > finger harder against the glass. The inner region will increase, and in general, > the ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR, which is always smaller than > unity, is related to the finger pressure. > > In addition to the MAJOR parameters, the oval shape of the finger can be > described by adding the MINOR parameters, such that MAJOR and MINOR are the > major and minor axis of an ellipse. Finally, the orientation of the oval shape > can be describe with the ORIENTATION parameter. > > > First, what is the purpose of ABS_MT_TOUCH_MAJOR event? I wonder how > > it is used at userspace side. > > In a graphical program it can of course be used as is, but in the specific > application of creating gesture events, the TOUCH and WIDTH parameters can be > used to, e.g., approximate finger pressure or distinguish between index finger > and thumb. With the addition of the MINOR parameters, one can also distinguish > between a sweeping finger and a pointing finger, and with ORIENTATION, one can > detect twisting of fingers. > > > Should the ABS_MT_TOUCH_MAJOR be the mininum set of events for multi > > touch? I'm not sure whether this question is valid because of first > > question. > > Each finger packet should have an ABS_MT_TOUCH_MAJOR value. In can be computed > from various types of sensory input, e.g., the size of the contact area or a > pressure sensor. > > Hope this explains it a bit further. > Very nice explanation, Henrik. Any chance you could turn it into a patch to Documentation/input/multi-touch-protocol.txt? -- Dmitry -- 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