|
|
@@ -751,25 +751,33 @@ first.
|
|
|
|
|
|
\testappdiagram
|
|
|
|
|
|
-\section{Conclusion}
|
|
|
+\section{Conclusions}
|
|
|
|
|
|
-\emph{TODO: Tekortkomingen aangeven die naar voren komen uit de tests}
|
|
|
-
|
|
|
-% Verschillende apparaten/drivers geven een ander soort primitieve events af.
|
|
|
-% Een vertaling van deze device-specifieke events naar een algemeen formaat van
|
|
|
-% events is nodig om gesture detection op een generieke manier te doen.
|
|
|
+To support different devices, there must be an abstraction of device drivers so
|
|
|
+that gesture detection can be performed on a common set of low-level events.
|
|
|
+This abstraction is provided by the event driver.
|
|
|
|
|
|
% Door input van meerdere drivers door dezelfde event driver heen te laten gaan
|
|
|
% is er ondersteuning voor meerdere apparaten tegelijkertijd.
|
|
|
|
|
|
-% Event driver levert low-level events. niet elke event hoort bij elke gesture,
|
|
|
-% dus moet er een filtering plaatsvinden van welke events bij welke gesture
|
|
|
-% horen. Areas geven de mogelijkheid hiervoor op apparaten waarvan het
|
|
|
-% filteren locatiegebonden is.
|
|
|
-
|
|
|
-% Het opsplitsten van gesture detection voor gesture trackers is een manier om
|
|
|
-% flexibel te zijn in ondersteunde types detection logic, en het beheersbaar
|
|
|
-% houden van complexiteit.
|
|
|
+Gestures must be able to occur within a certain area of a touch surface that is
|
|
|
+covered by an application widget. Therefore, low-level events must be divided
|
|
|
+into separate groups before any gesture detection is performed. Event areas
|
|
|
+provide a way to accomplish this. Overlapping event areas are ordered in a tree
|
|
|
+structure that can be synchronized with the widget tree of the application.
|
|
|
+Some applications require the ability to handle an event exclusively for an
|
|
|
+event area. An event propagation mechanism provides a solution for this: the
|
|
|
+propagation of an event in the tree structure can be stopped after gesture
|
|
|
+detection in an event area.
|
|
|
+
|
|
|
+The detection of complex gestures can be approached in several ways. If
|
|
|
+explicit detection code for different gesture is not managed well, program code
|
|
|
+can become needlessly complex. A tracker-based design, in which the detection
|
|
|
+of different types of gesture is separated into different gesture trackers,
|
|
|
+reduces complexity and provides a way to extend a set of detection algorithms.
|
|
|
+A gesture trackers implementation is flexible, e.g. complex detection
|
|
|
+algorithms such as machine learning can be used simultaneously with other
|
|
|
+gesture trackers that use explicit detection.
|
|
|
|
|
|
\chapter{Suggestions for future work}
|
|
|
\label{chapter:futurework}
|
|
|
@@ -941,7 +949,7 @@ custom ``hand tracker'' that is used by the test application from section
|
|
|
The ``basic tracker'' implementation exists only to provide access to low-level
|
|
|
events in an application. Low-level events are only handled by gesture
|
|
|
trackers, not by the application itself. Therefore, the basic tracker maps
|
|
|
-\emph{point\_\{down,move,up\}} events to equally named gestures that are
|
|
|
+\emph{point\_\{down,move,up\}} events to equally named gestures that can be
|
|
|
handled by the application.
|
|
|
|
|
|
\section{Tap tracker}
|