Re: Questions about Multi-touch Protocal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/5/2010 9:08 PM, 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.
> 

Aha, i understand :)

> 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.
> 

Hmm, I think ABS_MT_TOUCH_MAJOR is similar to ABS_PRESSURE, of course it
can be used other purposes. If the device doesn't support the pressure,
the driver doesn't report ABS_PRESSURE, so if the device cannot get a
touching size of the finger, how can the driver report it?

The ABS_MT_TOUCH_MAJOR needs for several things as you explain, but i
think it isn't essential event for multi-touch such ABS_PRESSURE.
If we can get only the coodinates of each fingers, is it full enough for
minimum supporting of multi-touch?

Thanks for explanation.
--
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

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux