On Mon, Nov 14, 2011 at 8:02 PM, Chris Bagwell <ch...@cnpbagwell.com> wrote: > On Mon, Nov 14, 2011 at 7:19 PM, Jason Gerecke <killert...@gmail.com> wrote: >> On Mon, Nov 14, 2011 at 4:28 PM, Jason Gerecke <killert...@gmail.com> wrote: >>>> >>>> Looking at the usbInitTool function closer, it looks like there was a >>>> basic issue that needs to be fixed for MT+pen that even reverting the >>>> patch won't fix. It required a BTN_TOOL_* or ABS_MT_ every sync >>>> window or we'd get hard coded invalid ID of zero... and filtering >>>> makes those events rare. >>>> >>>> We should pass in the previous device_type and if no new type is >>>> found, return the previous value... Except in the special case were >>>> the previous value was zero. Then we can default to TOUCH_ID. >>>> >>>> Since BTN_TOOL_PEN doesn't have the same zero value issue as >>>> ABS_MT_SLOT_ID, I think its safe to default to TOUCH_ID. >>>> >>>> Chris >>>> >>> >>> Saw this come through after sending the last one... Making a patch to >>> do this is a definite improvement, though things still aren't quite >>> right. It seems that any touch to the screen while the pen is in >>> proximity will disable both pen and touch until the pen leaves >>> proximity. It does sound like this plan *should* work though, so I'll >>> continue poking around. >>> >>> Jason >>> >>> --- >>> Day xee-nee-svsh duu-'ushtlh-ts'it; >>> nuu-wee-ya' duu-xan' 'vm-nvshtlh-ts'it. >>> Huu-chan xuu naa~-gha. >>> >> >> Nevermind. I was using the wrong variable for the last event type. The >> attached patches seem to fix the problems with my device. I'd be glad >> if you could look them over and if possible give them a quick test. >> > > > Yes, just looking at them I can tell they should fix the issues. I'll > try to test but in mean time: > > Reviewed-by: Chris Bagwell <ch...@cnpbagwell.com> > > One side note I see as I continue to look. The code in > usbDispatchEvents() that reference dslast at top should probably be > moved to after usbChooseChannel() since thats the point we have > correctly set dslast correctly. > > But thats kinda an unrelated patch and I can't see any behaviour > issues from always using channel 0. >
Tested on a hid-multitouch touchscreen. Works the same. I'm not around my Bamboo right now but it follows same code flow so should work there as well. Chris ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel