summaryrefslogtreecommitdiff
path: root/src/grail-gestures.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove the obsoleted transformation filterChase Douglas2011-04-121-18/+1
| | | | | | | | | | | | | | | Remove the additional filtering performed in the gestural transforms. This used to serve a purpose during development against devices without per-contact filtering. Since then, all devices are filtered, rendering the extra filtering obsolete. This patch also fixes a problem with rotation events. Currently, if you rotate very fast, the rotation angle will be close to the true angle. However, if you rotate very slow, the rotation angle will be much less than the true rotation angle. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Convert to utouch-frame mappingHenrik Rydberg2011-04-041-2/+2
| | | | | | | | Remove the grail-internal mapping code and rely directly on utouch-frame instead. Passes the unit test designed for this change. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Disable rotation gestures for semi-mt devicesChase Douglas2011-04-041-2/+5
| | | | | | | | To avoid poor user experience with semi-mt devices, disable rotation detection, such that only drag and scale is emitted. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Never active gestures below activation thresholdHenrik Rydberg2011-03-281-7/+6
| | | | | | | | | | Currently, all gestures activate after a certain time, such that the smallest change result in gesture events. This was designed to minimize disruption in pointer movement. Since grail no longer handles pointers, the logic can be simplified to only activate when the threshold is reached. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Adjust gesture buffer sizes and timingsHenrik Rydberg2011-03-141-3/+3
| | | | | | | | Adjust timings to put drag, pinch and rotate on more equal footing, with regard to gesture timeouts. Also make sure events are not lost during hold, now that all MT events are buffered as well. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Introduce activation hold timeHenrik Rydberg2011-03-141-1/+4
| | | | | | | | Do not activate a drag, pinch or rotate immediately, even if the activation threshold is met. This allows for a smoother transition between fingers. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Introduce gesture timeoutsHenrik Rydberg2011-03-141-3/+7
| | | | | | | | | The timeout of a gesture is integral to the gesture type. This patch introduces timeout per gesture type, potentially enabling more control over gesture timing aspects. The timeout logic replaces the recently added recognition state. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Replace touch logic with utouch frame engineHenrik Rydberg2011-01-021-19/+19
| | | | | | | | | | | The original grail uses an internal touch framework and exports some touch information as extended attributes to gesture events. This was never quite the intention, but rather to expose gestures and touches on a similar footing, such that grail can be input agnostic. This patch starts off by replacing the internal touch framework with the utouch-frame engine. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Allow slow tappingHenrik Rydberg2010-09-101-1/+1
| | | | | | | For the benefit of hardware that cannot accurately meet the desirable response times, allow for tapping times up to 300 ms. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Do not compute velocity until enough data is availableHenrik Rydberg2010-09-011-1/+1
| | | | | | | | The first few ticks since a configuration change are not really suited for velocity computation, so move the speed computation over to the periodic sampling point. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Trim tapping timeoutsHenrik Rydberg2010-08-261-2/+2
| | | | | | Reduce the tapping timeout to 200 ms. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Add contact information to the property listHenrik Rydberg2010-08-191-25/+0
| | | | | | | | | | Add the five first contacts to the property list, and unify the handling of all gesture types in this regard. To avoid duplication, move the scaling of properties closer to the gesture recognizer. Move all gesture event handling code to grail-event.c, simplifying the structure somewhat. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Use the touch_caps directly rather than grail_get_units()Henrik Rydberg2010-08-191-4/+4
|
* Simplify touch machineryHenrik Rydberg2010-08-191-12/+12
| | | | | | | | | | To be able to model touch information uniformly across all supported devices, the semantics of the touch attributes has to be treated explicitly. Drop the generic touch property array and replace it by an actual structure. In addition, the touch-engine abstraction turned out to not be needed, so drop it as well. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* split out bounding box computationHenrik Rydberg2010-08-111-0/+24
| | | | Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* janitor: conformant argument order in apiHenrik Rydberg2010-08-111-1/+1
| | | | Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* change rotation units to anglesHenrik Rydberg2010-08-101-5/+5
| | | | | | | Use angle units, such that a complete revolution corresponds to 2 pi. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Filter abs events by default in grail-gestureHenrik Rydberg2010-08-101-1/+5
| | | | | | Also connect the timeout for press with the timeout of tapping. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Add property declarations to grail-typesHenrik Rydberg2010-08-101-23/+37
| | | | | | Also add accumulated values for delta and velocity properties. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Trim the bars for action somewhatHenrik Rydberg2010-08-081-2/+2
| | | | Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Keep both raw and action delta in move modelHenrik Rydberg2010-08-081-18/+21
| | | | | | | | | Accumulated values can be obtained either by using the raw_delta, which is the actual (filtered) change between frames, or by using the action delta, which sums up to the same position, but in a non- linear fashion. Use the raw delta for pointer gestures. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* Send proper begin/update/end status for gesturesHenrik Rydberg2010-08-071-2/+1
| | | | | | For transient gestures like taps, use update only. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
* gesture: Improved tickle/active logicHenrik Rydberg2010-08-071-68/+66
| | | | | Reorganize the mode model to use bitmasks for tickle and active, and refine the tickle logic for each gesture.
* move: accumulate delta while inactiveHenrik Rydberg2010-08-071-3/+8
|
* treat one-finger moves in move model and simplify tapping logicHenrik Rydberg2010-08-071-1/+12
|
* Update README and copyright in all filesHenrik Rydberg2010-08-061-3/+1
| | | | | | Add the author to the copyright, courtesy of Canonical Ltd. Signed-off-by: Henrik Rydberg <rydberg@bitmath.org>
* initial bzr repo at rev 27Henrik Rydberg2010-08-061-0/+188