I thought I'd clarify on part of reason for my definitions. Existing code implements only a portion of gestures I listed below and they are geared towards touch screens. It implements:
* Single Finger Touch limited to Absolute mode description. * Double Finger Touch limited to Absolute mode description - and works not quite as I described but close enough. * Zoom * Scroll I am proposing to add Tap gestures thats geared towards touch PADS but should also work on touch screens... and I'm also proposing modifying the Single/Double Finger Touch gestures to work different between touch screens and pads (absolute and relative) so that wacom touch pads work closer to normal touch pads and don't always send left button down. Chris On Sat, Jan 30, 2010 at 6:12 PM, Chris Bagwell <[email protected]> wrote: > Hi all, > > I see that there is no menion of Gesture support in the wacm > xdrv/xf86-input-wacom man pages. I wanted to document what behavior is > supported for end users sake and also have some agreed upon behavior so that > I can refer to when fixing issues with current gesture code. Man pages will > be much more brief then below. > > Can you guys comment on logic errors or changes to behavior you'd like to > make? BTW, the below behavior is not totally like todays code or the > existing Bamboo patches in many cases. > > Because of the strong interaction of 1 and 2 finger Touch and Tap features, > I'm thinking about combining these into single chunk of code or state > machine instead of today's attempt to process them in seperate > steps/functions > > 1) Single Finger Touch (left click): > > Defined as user touching screen/pad with single finger and leaving more then > short period. Exact time length "short" is TBD. > > In Relative mode, moves cursor using normal relative behavior. > > In Absolute mode, 2 behaviors. In both cases, the cursor moves around to > match user movement using standard absolute behavior. 1) If upon touching > screen, the user hovers 200ms (fixed right now) then a left button press > occurs and stays pressed until user lifts finger. Hover, in this case, > means roughly that they stay within a small area (fixed to no moves more > then 10). 2) If user moves more then fixed small area in first 200ms then no > button press occurs; just cursor movement. > > Issue: Since Relative mode doesn't send a left button down, there is no way > to click-and-drag. Windows driver uses Single Finger Touch + Second Finger > to the Left for click and drag. I've not defined that concept so far. > > 2) Single Finger Tap (left click): > > Defined as user touching screen/pad with single finger and removing again > within a small time window. > > In both Absolute and Relative mode, results in left button presses if user > lifts finger before fixed small time. In absolute mode, if user leaves > finger down for 200ms before lifting, the logic switches over to Single > Finger Touch which still results in desired button presses. For Relative or > Absolute before 200ms, lifting finger during small time window results in > left button down followed by left button up. > > 3) Single Finger Double Tap (left double click): > > Nothing special here. We use Single Figner Tap logic and you'll get double > clicks as long as user taps fast. > > 4) Two Finger Touch (right click) > > Defined as user touching screen/pad with two fingers and keeping them there > for longer then small time window. > > In Relative mode, acts like Single Finger Touch mode. > > In Absolute mode, 3 behaviors. In all cases, no mouse movement occurs. 1) > If user puts second finger down more then 200ms+Hover after first finger > then a left button up, right button down, and right button up is sent. 2) > If second finger is detected while still in first fingers 200ms window then > if the user hovers for 200ms then only right button down followed by right > button up is sent. In this case, 200ms window stays relative to first > finger start time. 3) If user moves more then fixed small area at 200ms > window end then no button press occurs. #3 allows Zoom/Scroll to kick in. > > 5) Two Finger Tap (right click) > > Defined as user touching screen/pad with two fingers and removing again > within a small time window. Small time window has same meaning as Single > Finger Tap. > > In both Absolute and Relative mode, results in a right button press if user > lifts fingers before fixed small time. In Absolute mode, if user leaves > finger down for 200ms before lifting, the logic switches over to Two Finger > Touch which still results in desired button presses. In Relative or > Absolute before 200ms mode, if user lifts finger bthen a right button down > followed by right button up is sent. > > 6) Two Finger Double Tap (double right click) > > Same logic as Single Finger Tap. > > 7) Two Finger Pinch Zoom > > Zoom in is defined as placing 2 fingers on screen/pad far apart and bringing > together before lifting. Zoom out is defined as placing fingers on > screen/pad close together and moving apart before lifting. > > Detected by seeing 2 fingers down and moving more then fix length in first > 200ms. If length is increasing, then zooming out and will send Ctrl-Up. If > length is descreasing, then zooming in and will send Ctrl-Down. 200ms needs > to be based on first finger down to prevent it sending left button down in > Absolute mode. > > 8) Two Finger Scroll > > Horizontal Scroll is defined as placing 2 figners on screen/pad and moving > together horizontally. Veritical scroll is defined as placing 2 fingers on > screen/pad and moving together vertically. > > Detected by seeing 2 fingers down and moving within a line of fixed width > together within first 200ms. Sends scroll events as seen. 200ms needs to > be based on first finger down to prevent it sending left button down in > Absolute mode. > > Chris > ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Linuxwacom-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
