Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
multitouch
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Taddeüs Kroes
multitouch
Commits
34c24e35
Commit
34c24e35
authored
Jun 10, 2012
by
Taddeüs Kroes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rewrote 'Introduction' chapter in report.
parent
859174ba
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
61 additions
and
60 deletions
+61
-60
docs/report.tex
docs/report.tex
+61
-60
No files found.
docs/report.tex
View file @
34c24e35
...
...
@@ -25,67 +25,68 @@
\parindent
0pt
\parskip
1.5ex plus 0.5ex minus 0.2ex
% Table of cont
a
nt on separate page
% Table of cont
e
nt on separate page
\tableofcontents
\chapter
{
Introduction
}
% Ruwe probleemstelling
Multi-touch interaction is becoming increasingly common, mostly due to the wide
use of touch screens in phones and tablets. When programming applications using
this method of interaction, the programmer needs an abstraction of the raw data
provided by the touch driver of the device. This abstraction exists in several
multi-touch application frameworks like Nokia's
Qt
\footnote
{
\url
{
http://qt.nokia.com/
}}
. However, applications that do not use
these frameworks have no access to their multi-touch events.
% Aanleiding
This problem was observed during an attempt to create a multi-touch
``interactor'' class for the Visualization Toolkit
\cite
[VTK]
{
VTK
}
. Because VTK
provides the application framework here, it is undesirable to use an entire
framework like Qt simultaneously only for its multi-touch support.
% Ruw doel
The goal of this project is to define a generic multi-touch event triggering
architecture. To test the definition, a reference implementation is written in
Python.
\section
{
Definition of the problem
}
% Hoofdvraag
The goal of this thesis is to a create generic architecture for a
multi-touch event triggering mechanism for use in multi-touch applications.
% Deelvragen
To design such an architecture properly, the following questions are relevant:
\begin{itemize}
\item
What is the input of the architecture? Different touch drivers
have different API's. To be able to support different drivers
(which is highly desirable), there should be a translation from the
driver API to a fixed input format.
\item
How can extendability be accomplished? The set of supported
events should not be limited to a single implementation, but an
application should be able to define its own custom events.
\item
How can the architecture be used by different programming
languages? A generic architecture should not be limited to be used
in only one language.
\item
Can events be used by multiple processes at the same time? For
example, a network implementation could run as a service instead of
within a single application, triggering events in any application
that needs them.
\end{itemize}
% Afbakening
The scope of this thesis includes the design of a generic multi-touch
triggering architecture, a reference implementation of this design, and its
integration into a test case application. To be successful, the design
should allow for extensions to be added to any implementation.
The reference implementation is a Proof of Concept that translates TUIO
messages to some simple touch gestures that are used by some test
applications.
%Being a Proof of Concept, the reference implementation itself does not
%necessarily need to meet all the requirements of the design.
% TODO: put Qt link in bibtex
Multi-touch devices enable a user to interact with software using intuitive
body gestures, rather than with interaction tools like mouse and keyboard.
With the upcoming use of touch screens in phones and tablets, multi-touch
interaction is becoming increasingly common.The driver of a touch device
provides low-level events. The most basic representation of these low-level
event consists of
\emph
{
down
}
,
\emph
{
move
}
and
\emph
{
up
}
events.
Multi-touch gestures must be designed in such a way, that they can be
represented by a sequence of basic events. For example, a ``tap'' gesture can
be represented as a
\emph
{
down
}
event that is followed by an
\emph
{
up
}
event
within a certain time.
The translation process of driver-specific messages to basic events, and events
to multi-touch gestures is a process that is often embedded in multi-touch
application frameworks, like Nokia's Qt
\cite
{
qt
}
. However, there is no
separate implementation of the process itself. Consequently, an application
developer who wants to use multi-touch interaction in an application is forced
to choose an application framework that includes support for multi-touch
gestures. Moreover, the set of supported gestures is limited by the application
framework. To incorporate some custom event in an application, the chosen
framework needs to provide a way to extend existing multi-touch gestures.
% Hoofdvraag
The goal of this thesis is to create a generic architecture for the support of
multi-touch gestures in applications. To test the design of the architecture, a
reference implementation is written in Python. The architecture should
incorporate the translation process of low-level driver messages to multi-touch
gestures. It should be able to run beside an application framework. The
definition of multi-touch gestures should allow extensions, so that custom
gestures can be defined.
% Deelvragen
To design such an architecture properly, the following questions are relevant:
\begin{itemize}
\item
What is the input of the architecture? This is determined by the
output of multi-touch drivers.
\item
How can extendability of the supported gestures be accomplished?
% TODO: zijn onderstaande nog relevant? beter omschrijven naar "Design"
% gerelateerde vragen?
\item
How can the architecture be used by different programming languages?
A generic architecture should not be limited to be used in only one
language.
\item
Can events be used by multiple processes at the same time? For
example, a network implementation could run as a service instead of
within a single application, triggering events in any application that
needs them.
\end{itemize}
% Afbakening
The scope of this thesis includes the design of a generic multi-touch
triggering architecture, a reference implementation of this design, and its
integration into a test case application. To be successful, the design should
allow for extensions to be added to any implementation.
The reference implementation is a Proof of Concept that translates TUIO
messages to some simple touch gestures that are used by a test application.
\section
{
Structure of this document
}
...
...
@@ -99,7 +100,7 @@ Python.
toolkit for the development of gesture-based applications. The toolkit
states that the best way to classify gestures is to use machine learning.
The programmer trains a program to recognize using the machine learning
library from the toolkit. The toolkit contains a callback
-
mechanism that
library from the toolkit. The toolkit contains a callback
mechanism that
the programmer uses to execute custom code when a gesture is recognized.
Though multi-touch input is not directly supported by the toolkit, the
...
...
@@ -407,8 +408,8 @@ current, The object it represents has been lifted from the screen.
SET provide information about movement. In the case of simple (x, y) positions,
only the movement vector of the position itself can be calculated. For more
complex objects such as fiducials, arguments like rotational position
is also
included.
complex objects such as fiducials, arguments like rotational position
and
acceleration are also
included.
ALIVE and SET messages can be combined to create ``point down'', ``point move''
and ``point up'' events (as used by the
\cite
[.NET application]
{
win7touch
}
).
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment