On Sun, Nov 07, 2010 at 02:44:00PM -0800, Ping Cheng wrote: > On Sun, Nov 7, 2010 at 9:50 AM, Chris Bagwell <ch...@cnpbagwell.com> wrote: > > Please do not submit this 1 patch. #2 is OK to submit still. > > > > I had forgot that tablet PC's/touchscreens only send BTN_TOUCH without > > a BTN_TOOL_FINGER. So we should continue behaviour as treating > > BTN_TOUCH ~= BTN_TOOL_FINGER. > > I see your point. But I don't feel we want to treat BTN_TOUCH ~= > BTN_TOOL_FINGER. That is a bit confusion in our context - pen can send > BTN_TOUCH too.
yes, I agree. some tablets that I've seen do this but only when they support a single tool. everywhere else BTN_TOUCH is equivalent to "something is touching the surface now", with BTN_TOOL_FOOBAR first announcing _what_ is touching. events between BTN_TOOL_FOOBAR and BTN_TOUCH are treated as proximity events, i.e. in-proximity, no touch yet. synaptics doesn't do proximity, so BTN_TOOL_FINGER and BTN_TOUCH are usually in the same packet. nonetheless, there's a difference. Cheers, Peter > I would say we check for the existence of BTN_TOOL_DOUBLETAP. If it > does, the device is not PROTOCOL_GENERIC. Hence, TOOL_FINGER is > consider as PAD. As I mentioned before, we need to keep the > DOUBLETAP/TRIPLETAP and TOOL_FINGER?PAD code as is since we have to > support backward compability (otherwise, I lose my job ;). > > It is very ugly, I agree. But, we can not do much about it. > > What do you think? > > Ping > > > I'll submit a new patch to update comments to make this clear. > > > > Chris > > > > On Thu, Nov 4, 2010 at 8:01 PM, <ch...@cnpbagwell.com> wrote: > >> From: Chris Bagwell <ch...@cnpbagwell.com> > >> > >> Change logic from using BTN_TOUCH as indication of touchpad > >> tool events to instead use BTN_TOOL_FINGER. Both ways work > >> for touchpads but basing it on tool indication is much more in > >> the tablet spirit. > >> > >> Signed-off-by: Chris Bagwell <ch...@cnpbagwell.com> > >> --- > >> src/wcmUSB.c | 31 +++++++++++-------------------- > >> 1 files changed, 11 insertions(+), 20 deletions(-) > >> > >> diff --git a/src/wcmUSB.c b/src/wcmUSB.c > >> index 186d660..a5cdc8b 100644 > >> --- a/src/wcmUSB.c > >> +++ b/src/wcmUSB.c > >> @@ -915,31 +915,22 @@ static int usbParseKeyEvent(WacomCommonPtr common, > >> break; > >> > >> case BTN_TOOL_FINGER: > >> - /* If a real finger report, ignore. */ > >> - if (common->wcmProtocolLevel == > >> WCM_PROTOCOL_GENERIC) > >> - break; > >> - > >> - DBG(6, common, > >> - "USB Pad detected %x (value=%d)\n", > >> - event->code, event->value); > >> - ds->device_type = PAD_ID; > >> - ds->device_id = PAD_DEVICE_ID; > >> - ds->proximity = (event->value != 0); > >> - break; > >> - > >> - case BTN_TOUCH: > >> - /* Treat BTN_TOUCH same as BTN_TOOL_DOUBLETAP > >> - * for touchpads. > >> - * TODO: Tablets that do not use wacom style > >> - * multiplexing over a single input device > >> - * also can report BTN_TOUCH same as > >> - * BTN_TOOL_PEN would be used. We should > >> - * allow for that case as well. > >> + /* Treat BTN_TOOL_FINGER same as BTN_TOOL_DOUBLETAP > >> + * for generic touchpads. > >> */ > >> if (common->wcmProtocolLevel != > >> WCM_PROTOCOL_GENERIC) > >> + { > >> + DBG(6, common, > >> + "USB Pad detected %x (value=%d)\n", > >> + event->code, event->value); > >> + ds->device_type = PAD_ID; > >> + ds->device_id = PAD_DEVICE_ID; > >> + ds->proximity = (event->value != 0); > >> break; > >> + } > >> > >> /* fall through */ > >> + > >> case BTN_TOOL_DOUBLETAP: > >> /* If a real double tap report, ignore. */ > >> if (common->wcmProtocolLevel == > >> WCM_PROTOCOL_GENERIC && > >> -- > >> 1.7.3.2 > >> > >> ------------------------------------------------------------------------------ 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