On Thu, Feb 3, 2011 at 8:02 PM, Ping Cheng <pingli...@gmail.com> wrote:
> On Thu, Feb 3, 2011 at 5:31 PM, Chris Bagwell <ch...@cnpbagwell.com> wrote:
>> On Thu, Feb 3, 2011 at 4:55 PM, Ping Cheng <pingli...@gmail.com> wrote:
>>> On Thu, Feb 3, 2011 at 2:09 PM, Chris Bagwell <ch...@cnpbagwell.com> wrote:
>>>>
>>>>> What limitation or benefit do we offer to application by not sending
>>>>> or sending DOUBLETAP? I think I fundamentally missed this part.
>>>>
>>>> Benefit of acting like touchscreen: Works with xf86-input-evdev and
>>>> any pre-existing touchscreen apps.
>>>
>>> We agreed on this already.
>>>
>>>> Benefit of sending DOUBLETAP: Since aligns with touchscreen events,
>>>> works with all pre-existing touchscreen apps that understand 2-finger
>>>> gestures via DOUBLETAP.
>>>
>>> So, you mean without the actual (x,y) or even a bounding box, the apps
>>> can post gesture events via DOUBLETAP? That would limit the
>>> differentiation between 1FGT and 2FGT, I think. If you see
>>> applications using DOUBLETAP now, We'll add it.
>>>
>>>> Benefit of NOT sending DOUBLETAP:  Nuetral for us. It neither helps
>>>> nor hurts xf86-input-wacom.  It is negative/limitation for input
>>>> drivers that could have made use of DOUBLETAP though.
>>>
>>> No, it is not a problem for xf86-input-wacom. It is how we support
>>> other xf86-input drivers and the apps that want to talk to the kernel
>>> driver directly. As I said above, I have no problem to post DOUBLETAP
>>> if there are apps using it. Please share a few examples here.
>>>
>>>>>> I *think* I mentioned that I think wacom_w8001.c's current behaviour
>>>>>> is wrong and we should not follow it for TPC.  Its trying to separate
>>>>>> events into two classes; similar to Protocol 4/5's stylus vs. mouse vs
>>>>>> pad classes.  It uses ABS_X/ABS_Y for stylus and ABS_MT_ for touch.
>>>>>
>>>>> Yes, you mentioned that and I read it again ;). wacom_w8001.c reports
>>>>> ABS_X/ABS_Y for touch. It has to since it supports single touch
>>>>> devices.
>>>>
>>>> Can you point me at repo/branch that has latest acceppted wacom_w8001
>>>> patches?  I looked at a few places and could only find the pre-1FGT
>>>> version.
>>>
>>> It's in Linus' tree:
>>> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=drivers/input/touchscreen/wacom_w8001.c;hb=HEAD.
>>
>> What do you know.  I book marked something that doesn't point to HEAD.
>>  That explains some things. :)  I see the committed code now.
>>
>>
>>>
>>> I'll get to your other comments after you surf the code. Basically, I
>>> didn't post DOUBLETAP since I didn't see an use to it except in
>>> xf86-input-synaptics, which is not for touchscreen.
>>>
>>> It is good that I understand why you wanted DOUBLETAP. Hope you know
>>> why I didn't want to - I didn't want to post an event that no one
>>> needs it.
>>
>> So we are talking about 2FGT case since we are talking about
>> DOUBLETAP.  Your declaring BTN_TOUCH and BTN_TOOL_FINGER for any touch
>> (I think).  The only think I'm talking about is adding:
>>
>>                __set_bit(BTN_TOOL_DOUBLETAP, dev->keybit);
>>
>> under "case 5" for 2FGT case.  Since you are making use of:
>>
>>                input_mt_report_pointer_emulation(dev, true);
>>
>> It automatically sends BTN_TOOL_FINGER vs. BTN_TOOL_DOUBLETAP at
>> correct time.  It expects any sane pointer emulation should be
>> declaring DOULETAP/TRIPLETAP/QUADTAP based on finger count it can
>> detect and then it sends correct thing on your behave.  It wasn't
>> really intended to bypass that step; just a "feature" that it could be
>> bypassed.
>
> I know it is easy to add BTN_TOOL_DOUBLETAP back to wacom_w8001.c. I
> was looking for a use case which you did not offer yet.

I do not know of current app that processes DOUBLETAP unless same
device reports FINGER.  For example, xf86-input-synaptics bails out if
it doesn't see BTN_TOOL_FINGER because it thinks its a touchscreen.

Technically, its probably small change to allow it and default to
absolute mode.  Then 2 finger scrolling on touchscreens would work
with it.

wacom_w8001 reports FINGER and hopefully DOUBLETAP so basically
xf86-input-synaptics could use it for 2-finger scroll on touchscreens.
 But it checks specifically for BTN_TOO_PEN and bails to not process
tablets for what ever reason.

It would be minor modification to Peter's recent xf86-input-evdev
patch to support press-and-hold to right click to also support
DOUBLETAP as a faster way to detect right click then timeout.  But it
doesn't exist today.

>
> I am wiling to stop here. I'll add BTN_TOOL_DOUBLETAP to USB TPC so
> you get the feature. For the sake of the existing wacom_w8001.c, this
> patch is still needed. I'll update the patch with your Acked-by. Does
> it still apply :)?
>

Yes.  Acked-by still applies.  I think we've proven in this
conversation its safest to support both ways in xf86-input-wacom.

Chris

------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world? 
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to