forked from tito/pymt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
227 lines (145 loc) · 4.81 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
PyMT - A Multitouch Framework for Python
========================================
Website: http://pymt.eu/
Planet: http://pymt.eu/planet/
About 0.5
---------
This is beta, so keep in mind that it might not work as intended at all times.
You can post bug reports and feature requests on our Google Project page :
http://code.google.com/p/pymt/issues/list
If you need more help, you can discuss on mailing list :
* Google Group : http://groups.google.com/group/pymt-dev
* Email : [email protected]
We also have an IRC channel :
* Server : irc.freenode.net
* Channel : #pymt
Introduction
------------
PyMT is a python module for developing multi-touch enabled media rich
applications. Currently the aim is to allow for quick and easy interaction
design and rapid prototype development.
PyMT is written in python, based on OpenGL and supports different input methods
like Mouse, Dual Mouse, TUIO, WiiMote, WM_TOUCH, HIDtouch etc.
PyMT is actively being developed by a community and free to use. It operates on
all major platforms (Linux, OSX, Windows).
Installation
------------
Depending on your operating system you can follow one of the following guides
to install PyMT and the dependencies:
* http://pymt.eu/wiki/DevGuide/InstallPymtUbuntu
* http://pymt.eu/wiki/DevGuide/InstallPymtMacOSX
* http://pymt.eu/wiki/DevGuide/InstallPymtWindows
If you chose to install all the dependencies (see below) yourself, you can invoke
the setup script as follows to install pymt systemwide for python:
python setup.py install
Dependencies
------------
Since we abstract from the libraries that we use, some dependencies are
optional and may be used instead of others. A list of dependencies and what
we use them for is http://pymt.eu/wiki/Devel/FeaturesByLibraries
Here is what works best:
* python (>= 2.6, < 3.0) - http://python.org
* PyOpenGL >= 3.0.1
* Pygame
* PIL
* GST + PyGST
* Cython
Dcoumentation, Examples & Tutorials
-----------------------------------
There is an API reference included in doc. Check the doc/README about how
to build the documentation. It's also available online at :
http://pymt.eu/docs/api/
There is some simple example apps in the examples folder that should get
you started for now. Additionally you may want to take a look at our wiki
at :
http://pymt.eu/wiki/
Configuration
-------------
[pymt]
# show/hide fps
show_fps = (0|1)
# set log level
log_level = (debug|info|warning|error|critical)
# detection time of double tap (in milliseconds)
double_tap_time = <integer>
# max distance allowed for double tap (normalized in range 0 - 1000)
double_tap_distance = <integer>
# detection time of retain touch (in milliseconds)
retain_time = <integer>
# max distance allowed for retain touch (normalized in range 0 - 1000)
retain_distance = <integer>
# max distance to detect jittering (normalized in range 0 - 1000)
jitter_distance = <integer>
# list of device to ignore jittering
jitter_ignore_devices = <devicename>,...
# log directory
log_dir = <string>
# log name (can use format string from strftime)
log_name = <string>
# activate logging on file
log_enable = (0|1)
# GL error check (disable to have more speed)
gl_error_check = (0|1)
# ignore list
ignore = [(xmin, ymin, xmax, ymax), ...]
# INTERNAL, NEVER TOUCH TO config_version !!
config_version = <integer>
[keyboard]
# default layout of keyboard
layout = (azerty|qwerty)
[graphics]
# activate fullscreen
fullscreen = (0|1)
# width of window
width = <integer>
# height of window
height = <integer>
# force vsync
vsync = (0|1)
# force fbo type
fbo = (hardware|software|force-hardware)
# opengl line smooth
line_smooth = (0|1)
# show cursor on fullscreen
show_cursor = (0|1)
[input]
# example of input provider instance
yourid = providerid,parameters
# example for tuio provider
default = tuio,127.0.0.1:3333
mytable = tuio,192.168.0.1:3334
[dump]
# activate record of frames
enabled = (0|1)
# prefix to use for dump
prefix = <string>
# format of dump image
format = <jpeg|png>
[widgets]
# mtlist control
# maximum distance to trigger down/up on child (pixels)
list_trigger_distance = <int>
# friction (factor, 1 = no friction)
list_friction = <int>
# friction when a bound have been hit
list_friction_bound = <int>
# keyboard type
keyboard_type = <real|virtual>
[modules]
# modulename= to activate a module
# you can have a list of module with :
# python example.py -m list
# example:
keybinding=
closeapp=
feedback=
touchring=
Other python/MT resources
-------------------------
movid.org
^^^^^^^^^
Another image tracker we are working on.
nuigroup.com
^^^^^^^^^^^^
THE resource and research community for open source multi touch and other
natural user interfaces.