1
# Copyright (C) 2011 Canonical Ltd
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 3 of the License, or
6
# (at your option) any later version.
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
# GNU General Public License for more details.
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
"""Python bindings for the GEIS gesture recognition interface.
21
'Geis', 'Event', 'Filter', 'Subscription',
23
'GEIS_STATUS_SUCCESS',
24
'GEIS_STATUS_CONTINUE',
26
'GEIS_STATUS_NOT_SUPPORTED',
27
'GEIS_STATUS_BAD_ARGUMENT',
28
'GEIS_STATUS_UNKNOWN_ERROR',
29
'GEIS_ATTR_TYPE_BOOLEAN',
30
'GEIS_ATTR_TYPE_FLOAT',
31
'GEIS_ATTR_TYPE_INTEGER',
32
'GEIS_ATTR_TYPE_POINTER',
33
'GEIS_ATTR_TYPE_STRING',
34
'GEIS_INIT_SERVICE_PROVIDER',
35
'GEIS_INIT_TRACK_DEVICES',
36
'GEIS_INIT_TRACK_GESTURE_CLASSES',
37
'GEIS_INIT_SYNCHRONOUS_START',
38
'GEIS_INIT_MOCK_BACKEND',
39
'GEIS_INIT_DBUS_BACKEND',
40
'GEIS_INIT_GRAIL_BACKEND',
41
'GEIS_INIT_XCB_BACKEND',
42
'GEIS_CLASS_ATTRIBUTE_ID',
43
'GEIS_CLASS_ATTRIBUTE_NAME',
44
'GEIS_CONFIGURATION_FD',
45
'GEIS_CONFIG_MAX_EVENTS',
46
'GEIS_DEVICE_ATTRIBUTE_DIRECT_TOUCH',
47
'GEIS_DEVICE_ATTRIBUTE_ID',
48
'GEIS_DEVICE_ATTRIBUTE_INDEPENDENT_TOUCH',
49
'GEIS_DEVICE_ATTRIBUTE_NAME',
50
'GEIS_DEVICE_ATTRIBUTE_TOUCHES',
51
'GEIS_EVENT_ATTRIBUTE_CLASS',
52
'GEIS_EVENT_ATTRIBUTE_DEVICE',
53
'GEIS_EVENT_ATTRIBUTE_GROUPSET',
54
'GEIS_EVENT_ATTRIBUTE_GROUPSET',
55
'GEIS_EVENT_ATTRIBUTE_TOUCHSET',
56
'GEIS_EVENT_ATTRIBUTE_TOUCHSET',
57
'GEIS_EVENT_CLASS_AVAILABLE',
58
'GEIS_EVENT_CLASS_CHANGED',
59
'GEIS_EVENT_CLASS_UNAVAILABLE',
60
'GEIS_EVENT_DEVICE_AVAILABLE',
61
'GEIS_EVENT_DEVICE_UNAVAILABLE',
63
'GEIS_EVENT_GESTURE_BEGIN',
64
'GEIS_EVENT_GESTURE_END',
65
'GEIS_EVENT_GESTURE_UPDATE',
66
'GEIS_EVENT_INIT_COMPLETE',
67
'GEIS_EVENT_USER_DEFINED',
68
'GEIS_GESTURE_ATTRIBUTE_ANGLE',
69
'GEIS_GESTURE_ATTRIBUTE_ANGLE_DELTA',
70
'GEIS_GESTURE_ATTRIBUTE_ANGULAR_VELOCITY',
71
'GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_X1',
72
'GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_X2',
73
'GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_Y1',
74
'GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_Y2',
75
'GEIS_GESTURE_ATTRIBUTE_CHILD_WINDOW_ID',
76
'GEIS_GESTURE_ATTRIBUTE_DELTA_X',
77
'GEIS_GESTURE_ATTRIBUTE_DELTA_Y',
78
'GEIS_GESTURE_ATTRIBUTE_DEVICE_ID',
79
'GEIS_GESTURE_ATTRIBUTE_EVENT_WINDOW_ID',
80
'GEIS_GESTURE_ATTRIBUTE_FOCUS_X',
81
'GEIS_GESTURE_ATTRIBUTE_FOCUS_Y',
82
'GEIS_GESTURE_ATTRIBUTE_GESTURE_NAME',
83
'GEIS_GESTURE_ATTRIBUTE_POSITION_X',
84
'GEIS_GESTURE_ATTRIBUTE_POSITION_Y',
85
'GEIS_GESTURE_ATTRIBUTE_RADIAL_VELOCITY',
86
'GEIS_GESTURE_ATTRIBUTE_RADIUS',
87
'GEIS_GESTURE_ATTRIBUTE_RADIUS_DELTA',
88
'GEIS_GESTURE_ATTRIBUTE_ROOT_WINDOW_ID',
89
'GEIS_GESTURE_ATTRIBUTE_TAP_TIME',
90
'GEIS_GESTURE_ATTRIBUTE_TIMESTAMP',
91
'GEIS_GESTURE_ATTRIBUTE_TOUCH_0_ID',
92
'GEIS_GESTURE_ATTRIBUTE_TOUCH_0_X',
93
'GEIS_GESTURE_ATTRIBUTE_TOUCH_0_Y',
94
'GEIS_GESTURE_ATTRIBUTE_TOUCH_1_ID',
95
'GEIS_GESTURE_ATTRIBUTE_TOUCH_1_X',
96
'GEIS_GESTURE_ATTRIBUTE_TOUCH_1_Y',
97
'GEIS_GESTURE_ATTRIBUTE_TOUCH_2_ID',
98
'GEIS_GESTURE_ATTRIBUTE_TOUCH_2_X',
99
'GEIS_GESTURE_ATTRIBUTE_TOUCH_2_Y',
100
'GEIS_GESTURE_ATTRIBUTE_TOUCH_3_ID',
101
'GEIS_GESTURE_ATTRIBUTE_TOUCH_3_X',
102
'GEIS_GESTURE_ATTRIBUTE_TOUCH_3_Y',
103
'GEIS_GESTURE_ATTRIBUTE_TOUCH_4_ID',
104
'GEIS_GESTURE_ATTRIBUTE_TOUCH_4_X',
105
'GEIS_GESTURE_ATTRIBUTE_TOUCH_4_Y',
106
'GEIS_GESTURE_ATTRIBUTE_TOUCHES',
107
'GEIS_GESTURE_ATTRIBUTE_VELOCITY_X',
108
'GEIS_GESTURE_ATTRIBUTE_VELOCITY_Y',
109
'GEIS_REGION_ATTRIBUTE_WINDOWID',
110
'GEIS_REGION_X11_ROOT',
111
'GEIS_REGION_X11_WINDOWID',
112
'GEIS_TOUCH_ATTRIBUTE_ID',
113
'GEIS_TOUCH_ATTRIBUTE_ID',
114
'GEIS_TOUCH_ATTRIBUTE_X',
115
'GEIS_TOUCH_ATTRIBUTE_X',
116
'GEIS_TOUCH_ATTRIBUTE_Y',
117
'GEIS_TOUCH_ATTRIBUTE_Y',
118
'GEIS_FILTER_DEVICE',
120
'GEIS_FILTER_REGION',
129
from _geis_bindings import GEIS_STATUS_SUCCESS, \
130
GEIS_STATUS_CONTINUE, \
132
GEIS_STATUS_NOT_SUPPORTED, \
133
GEIS_STATUS_BAD_ARGUMENT, \
134
GEIS_STATUS_UNKNOWN_ERROR
136
from _geis_bindings import GEIS_ATTR_TYPE_BOOLEAN, \
137
GEIS_ATTR_TYPE_FLOAT, \
138
GEIS_ATTR_TYPE_INTEGER, \
139
GEIS_ATTR_TYPE_POINTER, \
140
GEIS_ATTR_TYPE_STRING
142
from _geis_bindings import GEIS_INIT_SERVICE_PROVIDER, \
143
GEIS_INIT_TRACK_DEVICES, \
144
GEIS_INIT_TRACK_GESTURE_CLASSES, \
145
GEIS_INIT_MOCK_BACKEND, \
146
GEIS_INIT_DBUS_BACKEND, \
147
GEIS_INIT_GRAIL_BACKEND, \
148
GEIS_INIT_XCB_BACKEND, \
149
GEIS_INIT_SYNCHRONOUS_START
151
from _geis_bindings import GEIS_CONFIGURATION_FD, \
152
GEIS_CONFIG_MAX_EVENTS
154
from _geis_bindings import GEIS_EVENT_ATTRIBUTE_DEVICE, \
155
GEIS_DEVICE_ATTRIBUTE_NAME, \
156
GEIS_DEVICE_ATTRIBUTE_ID, \
157
GEIS_DEVICE_ATTRIBUTE_TOUCHES, \
158
GEIS_DEVICE_ATTRIBUTE_DIRECT_TOUCH, \
159
GEIS_DEVICE_ATTRIBUTE_INDEPENDENT_TOUCH
161
from _geis_bindings import GEIS_EVENT_ATTRIBUTE_CLASS, \
162
GEIS_CLASS_ATTRIBUTE_NAME, \
163
GEIS_CLASS_ATTRIBUTE_ID
165
from _geis_bindings import GEIS_REGION_ATTRIBUTE_WINDOWID, \
166
GEIS_REGION_X11_ROOT, \
167
GEIS_REGION_X11_WINDOWID
169
from _geis_bindings import GEIS_EVENT_ATTRIBUTE_GROUPSET, \
170
GEIS_EVENT_ATTRIBUTE_TOUCHSET, \
171
GEIS_TOUCH_ATTRIBUTE_ID, \
172
GEIS_TOUCH_ATTRIBUTE_X, \
173
GEIS_TOUCH_ATTRIBUTE_Y
175
from _geis_bindings import GEIS_EVENT_DEVICE_AVAILABLE, \
176
GEIS_EVENT_DEVICE_UNAVAILABLE, \
177
GEIS_EVENT_CLASS_AVAILABLE, \
178
GEIS_EVENT_CLASS_CHANGED, \
179
GEIS_EVENT_CLASS_UNAVAILABLE, \
180
GEIS_EVENT_GESTURE_BEGIN, \
181
GEIS_EVENT_GESTURE_UPDATE, \
182
GEIS_EVENT_GESTURE_END, \
183
GEIS_EVENT_INIT_COMPLETE, \
184
GEIS_EVENT_USER_DEFINED, \
187
from _geis_bindings import GEIS_GESTURE_ATTRIBUTE_ANGLE, \
188
GEIS_GESTURE_ATTRIBUTE_ANGLE_DELTA, \
189
GEIS_GESTURE_ATTRIBUTE_ANGULAR_VELOCITY, \
190
GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_X1, \
191
GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_X2, \
192
GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_Y1, \
193
GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_Y2, \
194
GEIS_GESTURE_ATTRIBUTE_CHILD_WINDOW_ID, \
195
GEIS_GESTURE_ATTRIBUTE_DELTA_X, \
196
GEIS_GESTURE_ATTRIBUTE_DELTA_Y, \
197
GEIS_GESTURE_ATTRIBUTE_DEVICE_ID, \
198
GEIS_GESTURE_ATTRIBUTE_EVENT_WINDOW_ID, \
199
GEIS_GESTURE_ATTRIBUTE_FOCUS_X, \
200
GEIS_GESTURE_ATTRIBUTE_FOCUS_Y, \
201
GEIS_GESTURE_ATTRIBUTE_GESTURE_NAME, \
202
GEIS_GESTURE_ATTRIBUTE_POSITION_X, \
203
GEIS_GESTURE_ATTRIBUTE_POSITION_Y, \
204
GEIS_GESTURE_ATTRIBUTE_RADIAL_VELOCITY, \
205
GEIS_GESTURE_ATTRIBUTE_RADIUS, \
206
GEIS_GESTURE_ATTRIBUTE_RADIUS_DELTA, \
207
GEIS_GESTURE_ATTRIBUTE_ROOT_WINDOW_ID, \
208
GEIS_GESTURE_ATTRIBUTE_TAP_TIME, \
209
GEIS_GESTURE_ATTRIBUTE_TIMESTAMP, \
210
GEIS_GESTURE_ATTRIBUTE_TOUCH_0_ID, \
211
GEIS_GESTURE_ATTRIBUTE_TOUCH_0_X, \
212
GEIS_GESTURE_ATTRIBUTE_TOUCH_0_Y, \
213
GEIS_GESTURE_ATTRIBUTE_TOUCH_1_ID, \
214
GEIS_GESTURE_ATTRIBUTE_TOUCH_1_X, \
215
GEIS_GESTURE_ATTRIBUTE_TOUCH_1_Y, \
216
GEIS_GESTURE_ATTRIBUTE_TOUCH_2_ID, \
217
GEIS_GESTURE_ATTRIBUTE_TOUCH_2_X, \
218
GEIS_GESTURE_ATTRIBUTE_TOUCH_2_Y, \
219
GEIS_GESTURE_ATTRIBUTE_TOUCH_3_ID, \
220
GEIS_GESTURE_ATTRIBUTE_TOUCH_3_X, \
221
GEIS_GESTURE_ATTRIBUTE_TOUCH_3_Y, \
222
GEIS_GESTURE_ATTRIBUTE_TOUCH_4_ID, \
223
GEIS_GESTURE_ATTRIBUTE_TOUCH_4_X, \
224
GEIS_GESTURE_ATTRIBUTE_TOUCH_4_Y, \
225
GEIS_GESTURE_ATTRIBUTE_TOUCHES, \
226
GEIS_GESTURE_ATTRIBUTE_VELOCITY_X, \
227
GEIS_GESTURE_ATTRIBUTE_VELOCITY_Y
229
from _geis_bindings import GEIS_FILTER_DEVICE, \
231
GEIS_FILTER_REGION, \
239
from geis.geis_v2 import Geis, Event, Filter, Subscription, NoMoreEvents