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
Show 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 @@
...
@@ -25,67 +25,68 @@
\parindent
0pt
\parindent
0pt
\parskip
1.5ex plus 0.5ex minus 0.2ex
\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
\tableofcontents
\chapter
{
Introduction
}
\chapter
{
Introduction
}
% Ruwe probleemstelling
% TODO: put Qt link in bibtex
Multi-touch interaction is becoming increasingly common, mostly due to the wide
Multi-touch devices enable a user to interact with software using intuitive
use of touch screens in phones and tablets. When programming applications using
body gestures, rather than with interaction tools like mouse and keyboard.
this method of interaction, the programmer needs an abstraction of the raw data
With the upcoming use of touch screens in phones and tablets, multi-touch
provided by the touch driver of the device. This abstraction exists in several
interaction is becoming increasingly common.The driver of a touch device
multi-touch application frameworks like Nokia's
provides low-level events. The most basic representation of these low-level
Qt
\footnote
{
\url
{
http://qt.nokia.com/
}}
. However, applications that do not use
event consists of
\emph
{
down
}
,
\emph
{
move
}
and
\emph
{
up
}
events.
these frameworks have no access to their multi-touch events.
Multi-touch gestures must be designed in such a way, that they can be
% Aanleiding
represented by a sequence of basic events. For example, a ``tap'' gesture can
This problem was observed during an attempt to create a multi-touch
be represented as a
\emph
{
down
}
event that is followed by an
\emph
{
up
}
event
``interactor'' class for the Visualization Toolkit
\cite
[VTK]
{
VTK
}
. Because VTK
within a certain time.
provides the application framework here, it is undesirable to use an entire
framework like Qt simultaneously only for its multi-touch support.
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
% Ruw doel
application frameworks, like Nokia's Qt
\cite
{
qt
}
. However, there is no
The goal of this project is to define a generic multi-touch event triggering
separate implementation of the process itself. Consequently, an application
architecture. To test the definition, a reference implementation is written in
developer who wants to use multi-touch interaction in an application is forced
Python.
to choose an application framework that includes support for multi-touch
gestures. Moreover, the set of supported gestures is limited by the application
\section
{
Definition of the problem
}
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 a create generic architecture for a
% Hoofdvraag
multi-touch event triggering mechanism for use in multi-touch applications.
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
% Deelvragen
reference implementation is written in Python. The architecture should
To design such an architecture properly, the following questions are relevant:
incorporate the translation process of low-level driver messages to multi-touch
\begin{itemize}
gestures. It should be able to run beside an application framework. The
\item
What is the input of the architecture? Different touch drivers
definition of multi-touch gestures should allow extensions, so that custom
have different API's. To be able to support different drivers
gestures can be defined.
(which is highly desirable), there should be a translation from the
driver API to a fixed input format.
% Deelvragen
\item
How can extendability be accomplished? The set of supported
To design such an architecture properly, the following questions are relevant:
events should not be limited to a single implementation, but an
\begin{itemize}
application should be able to define its own custom events.
\item
What is the input of the architecture? This is determined by the
\item
How can the architecture be used by different programming
output of multi-touch drivers.
languages? A generic architecture should not be limited to be used
\item
How can extendability of the supported gestures be accomplished?
in only one language.
% 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
\item
Can events be used by multiple processes at the same time? For
example, a network implementation could run as a service instead of
example, a network implementation could run as a service instead of
within a single application, triggering events in any application
within a single application, triggering events in any application that
that needs them.
needs them.
\end{itemize}
\end{itemize}
% Afbakening
% Afbakening
The scope of this thesis includes the design of a generic multi-touch
The scope of this thesis includes the design of a generic multi-touch
triggering architecture, a reference implementation of this design, and its
triggering architecture, a reference implementation of this design, and its
integration into a test case application. To be successful, the design
integration into a test case application. To be successful, the design should
should allow for extensions to be added to any implementation.
allow for extensions to be added to any implementation.
The reference implementation is a Proof of Concept that translates TUIO
The reference implementation is a Proof of Concept that translates TUIO
messages to some simple touch gestures that are used by some test
messages to some simple touch gestures that are used by a test application.
applications.
%Being a Proof of Concept, the reference implementation itself does not
%necessarily need to meet all the requirements of the design.
\section
{
Structure of this document
}
\section
{
Structure of this document
}
...
@@ -99,7 +100,7 @@ Python.
...
@@ -99,7 +100,7 @@ Python.
toolkit for the development of gesture-based applications. The toolkit
toolkit for the development of gesture-based applications. The toolkit
states that the best way to classify gestures is to use machine learning.
states that the best way to classify gestures is to use machine learning.
The programmer trains a program to recognize using the 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.
the programmer uses to execute custom code when a gesture is recognized.
Though multi-touch input is not directly supported by the toolkit, the
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.
...
@@ -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,
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
only the movement vector of the position itself can be calculated. For more
complex objects such as fiducials, arguments like rotational position
is also
complex objects such as fiducials, arguments like rotational position
and
included.
acceleration are also
included.
ALIVE and SET messages can be combined to create ``point down'', ``point move''
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
}
).
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