On Fri, Nov 5, 2010 at 12:15 PM, Ping Cheng <pingli...@gmail.com> wrote:
> On Thu, Nov 4, 2010 at 6:01 PM,  <ch...@cnpbagwell.com> wrote:
>> From: Chris Bagwell <ch...@cnpbagwell.com>
>>
>> First two patches are cleanups based on feedback on mailing list.
>
> I am fine with the first 2 patches. So, they are:
>
> Acked-by: Ping Cheng <pingli...@gmail.com>

Thanks.

>
>> Last one is resend of MT support.  This version has change such that
>> it will only compile in MT support if you have 2.3.36+ kernel headers
>> in /usr/include/linux or have somehow added a -I/path to find those
>> headers.  This is because ABS_MT_SLOT was first defined there.
>
> I'd like to hold on to the third one for now.

I'm OK with that.

> I want to see how we are
> going to report the first finger data in the kernel. We need to take
> care of the following cases:
>
>     the second finger is not down;

For your first two cases, I think MT spec defines it pretty good and
already some applications depend on a specific behavior.  For this
case, we should send ST events as well as MT events for 1st finger
only.  Kernel side is intelligent enough not to send 2nd finger data
as long as we force ABS_MT_TRACKING_ID=-1 and X/Y/PRESSURE=0 during
this case in driver (which we are).

>     both fingers are down;

For this part, we should always send ST events and *attempt* to send
two sets of MT fingers.

I say attempt because the slot logic on kernel side is intelligent
enough to only send MT events for fingers that have changed.  If
back-to-back sends result in only 2nd finger changing then it will not
bother sending ABS_MT_SLOT=0 message events; and its for same reason
it doesn't send them during ABS_MT_SLOT=-1 and X/Y/PRESSURE=0.  So the
MT behavior is mostly out of our control.

>     pen is in prox;
>     pen is out prox.

Yep. TBD it seems.

>
> I hope we can come up with a way in the kernel that supports a smooth
> transition from single touch to MT. In this driver, we may want to
> keep the single/first finger data and pad in the current CHANNEL based
> design. Since the number of fingers will change in the future, storing
> all MT data in a separate struct makes sense to me. I'd like to know
> what you guys are thinking.

If I understand your comment then, yes, I agree and is what the patch
does.  As we support more fingers then MAX_FINGERS should grow to that
value and MAX_CHANNELS should be hard coded to MAX_FINGERS+1 to
account for pad buttons.  And for the foreseeable future, ABS_MT_SLOT
should map directly to same channel #.  Patch only requires those
#define changes for more fingers.

This patch already handles ST-only events and ST+MT combination events
transparently.  I think it even handles MT-only events that is being
proposed while pen is in proximity (not the proposed masking though)
but it needs to test to be sure.

Chris

>
> Ping
>
>> Chris Bagwell (3):
>>  Detect generic tablets with BTN_TOOL_FINGER.
>>  Use self describing logic for generic touchpad btns
>>  Enable 2nd touch for newer Bamboo MT driver
>

------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a 
Billion" shares his insights and actions to help propel your 
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to