summaryrefslogtreecommitdiff
path: root/src/multitouch.c
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@alnilam.(none)>2010-02-01 22:03:33 +0100
committerHenrik Rydberg <rydberg@alnilam.(none)>2010-02-01 22:03:33 +0100
commitf0b1dbdc00bda57c62199cbdc44acbadbb1121b0 (patch)
tree5234055bf794c28662b139c22e153f7a720a37bc /src/multitouch.c
parent30869603dc5d36ad2d82cff82900c7e05a4b35c1 (diff)
janitor: stick to kernel-style formattingalpha-1
With this commit, the whole code base complies with the kernel format style, and patches can be checked against the kernel-provided ./scripts/checkpatch.pl
Diffstat (limited to 'src/multitouch.c')
-rw-r--r--src/multitouch.c97
1 files changed, 34 insertions, 63 deletions
diff --git a/src/multitouch.c b/src/multitouch.c
index acaeea1..2919b9d 100644
--- a/src/multitouch.c
+++ b/src/multitouch.c
@@ -26,13 +26,11 @@
26#include <xserver-properties.h> 26#include <xserver-properties.h>
27#endif 27#endif
28 28
29//////////////////////////////////////////////////////////////////////////// 29/* these should be user-configurable at some point */
30
31// these should be user-configurable at some point
32static const float vscroll_fraction = 0.05; 30static const float vscroll_fraction = 0.05;
33static const float hscroll_fraction = 0.2; 31static const float hscroll_fraction = 0.2;
34 32
35// flip these to enable event debugging 33/* flip these to enable event debugging */
36#if 1 34#if 1
37#define TRACE1(format, arg1) 35#define TRACE1(format, arg1)
38#define TRACE2(format, arg1, arg2) 36#define TRACE2(format, arg1, arg2)
@@ -41,18 +39,14 @@ static const float hscroll_fraction = 0.2;
41#define TRACE2(format, arg1, arg2) xf86Msg(X_INFO, format, arg1, arg2) 39#define TRACE2(format, arg1, arg2) xf86Msg(X_INFO, format, arg1, arg2)
42#endif 40#endif
43 41
44// button mapping simplified 42/* button mapping simplified */
45#define PROPMAP(m, x, y) m[x] = XIGetKnownProperty(y) 43#define PROPMAP(m, x, y) m[x] = XIGetKnownProperty(y)
46 44
47////////////////////////////////////////////////////////////////////////////
48
49static void pointer_control(DeviceIntPtr dev, PtrCtrl *ctrl) 45static void pointer_control(DeviceIntPtr dev, PtrCtrl *ctrl)
50{ 46{
51 xf86Msg(X_INFO, "pointer_control\n"); 47 xf86Msg(X_INFO, "pointer_control\n");
52} 48}
53 49
54////////////////////////////////////////////////////////////////////////////
55
56static int pointer_property(DeviceIntPtr dev, 50static int pointer_property(DeviceIntPtr dev,
57 Atom property, 51 Atom property,
58 XIPropertyValuePtr prop, 52 XIPropertyValuePtr prop,
@@ -62,36 +56,34 @@ static int pointer_property(DeviceIntPtr dev,
62 return Success; 56 return Success;
63} 57}
64 58
65////////////////////////////////////////////////////////////////////////////
66
67#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 59#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
68static void initAxesLabels(Atom map[2]) 60static void initAxesLabels(Atom map[2])
69{ 61{
70 memset(map, 0, 2 * sizeof(Atom)); 62 memset(map, 0, 2 * sizeof(Atom));
71 PROPMAP(map, 0, AXIS_LABEL_PROP_REL_X); 63 PROPMAP(map, 0, AXIS_LABEL_PROP_REL_X);
72 PROPMAP(map, 1, AXIS_LABEL_PROP_REL_Y); 64 PROPMAP(map, 1, AXIS_LABEL_PROP_REL_Y);
73} 65}
74 66
75static void initButtonLabels(Atom map[DIM_BUTTON]) 67static void initButtonLabels(Atom map[DIM_BUTTON])
76{ 68{
77 memset(map, 0, DIM_BUTTON * sizeof(Atom)); 69 memset(map, 0, DIM_BUTTON * sizeof(Atom));
78 PROPMAP(map, MT_BUTTON_LEFT, BTN_LABEL_PROP_BTN_LEFT); 70 PROPMAP(map, MT_BUTTON_LEFT, BTN_LABEL_PROP_BTN_LEFT);
79 PROPMAP(map, MT_BUTTON_MIDDLE, BTN_LABEL_PROP_BTN_MIDDLE); 71 PROPMAP(map, MT_BUTTON_MIDDLE, BTN_LABEL_PROP_BTN_MIDDLE);
80 PROPMAP(map, MT_BUTTON_RIGHT, BTN_LABEL_PROP_BTN_RIGHT); 72 PROPMAP(map, MT_BUTTON_RIGHT, BTN_LABEL_PROP_BTN_RIGHT);
81 PROPMAP(map, MT_BUTTON_WHEEL_UP, BTN_LABEL_PROP_BTN_WHEEL_UP); 73 PROPMAP(map, MT_BUTTON_WHEEL_UP, BTN_LABEL_PROP_BTN_WHEEL_UP);
82 PROPMAP(map, MT_BUTTON_WHEEL_DOWN, BTN_LABEL_PROP_BTN_WHEEL_DOWN); 74 PROPMAP(map, MT_BUTTON_WHEEL_DOWN, BTN_LABEL_PROP_BTN_WHEEL_DOWN);
83 PROPMAP(map, MT_BUTTON_HWHEEL_LEFT, BTN_LABEL_PROP_BTN_HWHEEL_LEFT); 75 PROPMAP(map, MT_BUTTON_HWHEEL_LEFT, BTN_LABEL_PROP_BTN_HWHEEL_LEFT);
84 PROPMAP(map, MT_BUTTON_HWHEEL_RIGHT, BTN_LABEL_PROP_BTN_HWHEEL_RIGHT); 76 PROPMAP(map, MT_BUTTON_HWHEEL_RIGHT, BTN_LABEL_PROP_BTN_HWHEEL_RIGHT);
85} 77}
86#endif 78#endif
87 79
88static int device_init(DeviceIntPtr dev, LocalDevicePtr local) 80static int device_init(DeviceIntPtr dev, LocalDevicePtr local)
89{ 81{
90 struct MTouch *mt = local->private; 82 struct MTouch *mt = local->private;
91 unsigned char btmap[DIM_BUTTON + 1]={0,1,2,3,4,5,6,7}; 83 unsigned char btmap[DIM_BUTTON + 1] = { 0, 1, 2, 3, 4, 5, 6, 7 };
92#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 84#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
93 Atom axes_labels[2], btn_labels[DIM_BUTTON]; 85 Atom axes_labels[2], btn_labels[DIM_BUTTON];
94 initAxesLabels(axes_labels); 86 initAxesLabels(axes_labels);
95 initButtonLabels(btn_labels); 87 initButtonLabels(btn_labels);
96#endif 88#endif
97 89
@@ -131,7 +123,7 @@ static int device_init(DeviceIntPtr dev, LocalDevicePtr local)
131 123
132 xf86InitValuatorAxisStruct(dev, 0, 124 xf86InitValuatorAxisStruct(dev, 0,
133#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 125#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
134 axes_labels[0], 126 axes_labels[0],
135#endif 127#endif
136 mt->caps.abs_position_x.minimum, 128 mt->caps.abs_position_x.minimum,
137 mt->caps.abs_position_x.maximum, 129 mt->caps.abs_position_x.maximum,
@@ -139,7 +131,7 @@ static int device_init(DeviceIntPtr dev, LocalDevicePtr local)
139 xf86InitValuatorDefaults(dev, 0); 131 xf86InitValuatorDefaults(dev, 0);
140 xf86InitValuatorAxisStruct(dev, 1, 132 xf86InitValuatorAxisStruct(dev, 1,
141#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 133#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
142 axes_labels[1], 134 axes_labels[1],
143#endif 135#endif
144 mt->caps.abs_position_y.minimum, 136 mt->caps.abs_position_y.minimum,
145 mt->caps.abs_position_y.maximum, 137 mt->caps.abs_position_y.maximum,
@@ -151,8 +143,6 @@ static int device_init(DeviceIntPtr dev, LocalDevicePtr local)
151 return Success; 143 return Success;
152} 144}
153 145
154////////////////////////////////////////////////////////////////////////////
155
156static int device_on(LocalDevicePtr local) 146static int device_on(LocalDevicePtr local)
157{ 147{
158 struct MTouch *mt = local->private; 148 struct MTouch *mt = local->private;
@@ -169,54 +159,45 @@ static int device_on(LocalDevicePtr local)
169 return Success; 159 return Success;
170} 160}
171 161
172////////////////////////////////////////////////////////////////////////////
173
174static int device_off(LocalDevicePtr local) 162static int device_off(LocalDevicePtr local)
175{ 163{
176 struct MTouch *mt = local->private; 164 struct MTouch *mt = local->private;
177 xf86RemoveEnabledDevice(local); 165 xf86RemoveEnabledDevice(local);
178 if(close_mtouch(mt, local->fd)) { 166 if (close_mtouch(mt, local->fd))
179 xf86Msg(X_WARNING, "multitouch: cannot ungrab device\n"); 167 xf86Msg(X_WARNING, "multitouch: cannot ungrab device\n");
180 }
181 xf86CloseSerial(local->fd); 168 xf86CloseSerial(local->fd);
182 return Success; 169 return Success;
183} 170}
184 171
185////////////////////////////////////////////////////////////////////////////
186
187static int device_close(LocalDevicePtr local) 172static int device_close(LocalDevicePtr local)
188{ 173{
189 return Success; 174 return Success;
190} 175}
191 176
192////////////////////////////////////////////////////////////////////////////
193
194static void tickle_button(LocalDevicePtr local, int id) 177static void tickle_button(LocalDevicePtr local, int id)
195{ 178{
196 xf86PostButtonEvent(local->dev, FALSE, id, 1, 0, 0); 179 xf86PostButtonEvent(local->dev, FALSE, id, 1, 0, 0);
197 xf86PostButtonEvent(local->dev, FALSE, id, 0, 0, 0); 180 xf86PostButtonEvent(local->dev, FALSE, id, 0, 0, 0);
198} 181}
199 182
200////////////////////////////////////////////////////////////////////////////
201
202static void handle_gestures(LocalDevicePtr local, 183static void handle_gestures(LocalDevicePtr local,
203 const struct Gestures *gs, 184 const struct Gestures *gs,
204 const struct Capabilities *caps) 185 const struct Capabilities *caps)
205{ 186{
206 static int vscroll, hscroll; 187 static int vscroll, hscroll;
207 int vstep = 1 + 188 int vstep = 1 +
208 vscroll_fraction * (caps->abs_position_y.maximum - 189 vscroll_fraction * (caps->abs_position_y.maximum -
209 caps->abs_position_y.minimum); 190 caps->abs_position_y.minimum);
210 int hstep = 1 + 191 int hstep = 1 +
211 hscroll_fraction * (caps->abs_position_x.maximum - 192 hscroll_fraction * (caps->abs_position_x.maximum -
212 caps->abs_position_x.minimum); 193 caps->abs_position_x.minimum);
213 int i; 194 int i;
214 for (i = 0; i < DIM_BUTTON; i++) { 195 for (i = 0; i < DIM_BUTTON; i++) {
215 if (GETBIT(gs->btmask, i)) { 196 if (GETBIT(gs->btmask, i)) {
216 xf86PostButtonEvent(local->dev, FALSE, 197 xf86PostButtonEvent(local->dev, FALSE,
217 i + 1, GETBIT(gs->btdata, i), 0, 0); 198 i + 1, GETBIT(gs->btdata, i), 0, 0);
218 TRACE2("button bit: %d %d\n", i, GETBIT(gs->btdata, i)); 199 TRACE2("button bit: %d %d\n", i, GETBIT(gs->btdata, i));
219 } 200 }
220 } 201 }
221 if (GETBIT(gs->type, GS_MOVE)) { 202 if (GETBIT(gs->type, GS_MOVE)) {
222 xf86PostMotionEvent(local->dev, 0, 0, 2, 203 xf86PostMotionEvent(local->dev, 0, 0, 2,
@@ -249,8 +230,6 @@ static void handle_gestures(LocalDevicePtr local,
249 } 230 }
250} 231}
251 232
252////////////////////////////////////////////////////////////////////////////
253
254/* called for each full received packet from the touchpad */ 233/* called for each full received packet from the touchpad */
255static void read_input(LocalDevicePtr local) 234static void read_input(LocalDevicePtr local)
256{ 235{
@@ -263,8 +242,6 @@ static void read_input(LocalDevicePtr local)
263 } 242 }
264} 243}
265 244
266////////////////////////////////////////////////////////////////////////////
267
268static Bool device_control(DeviceIntPtr dev, int mode) 245static Bool device_control(DeviceIntPtr dev, int mode)
269{ 246{
270 LocalDevicePtr local = dev->public.devicePrivate; 247 LocalDevicePtr local = dev->public.devicePrivate;
@@ -288,8 +265,6 @@ static Bool device_control(DeviceIntPtr dev, int mode)
288} 265}
289 266
290 267
291////////////////////////////////////////////////////////////////////////////
292
293static InputInfoPtr preinit(InputDriverPtr drv, IDevPtr dev, int flags) 268static InputInfoPtr preinit(InputDriverPtr drv, IDevPtr dev, int flags)
294{ 269{
295 struct MTouch *mt; 270 struct MTouch *mt;
@@ -309,7 +284,7 @@ static InputInfoPtr preinit(InputDriverPtr drv, IDevPtr dev, int flags)
309 local->conf_idev = dev; 284 local->conf_idev = dev;
310 285
311 xf86CollectInputOptions(local, NULL, NULL); 286 xf86CollectInputOptions(local, NULL, NULL);
312 //xf86OptionListReport(local->options); 287 /* xf86OptionListReport(local->options); */
313 xf86ProcessCommonOptions(local, local->options); 288 xf86ProcessCommonOptions(local, local->options);
314 289
315 local->flags |= XI86_CONFIGURED; 290 local->flags |= XI86_CONFIGURED;
@@ -320,12 +295,10 @@ static InputInfoPtr preinit(InputDriverPtr drv, IDevPtr dev, int flags)
320static void uninit(InputDriverPtr drv, InputInfoPtr local, int flags) 295static void uninit(InputDriverPtr drv, InputInfoPtr local, int flags)
321{ 296{
322 xfree(local->private); 297 xfree(local->private);
323 local->private = 0; 298 local->private = 0;
324 xf86DeleteInput(local, 0); 299 xf86DeleteInput(local, 0);
325} 300}
326 301
327////////////////////////////////////////////////////////////////////////////
328
329static InputDriverRec MULTITOUCH = { 302static InputDriverRec MULTITOUCH = {
330 1, 303 1,
331 "multitouch", 304 "multitouch",
@@ -356,5 +329,3 @@ static pointer setup(pointer module, pointer options, int *errmaj, int *errmin)
356} 329}
357 330
358XF86ModuleData multitouchModuleData = {&VERSION, &setup, NULL }; 331XF86ModuleData multitouchModuleData = {&VERSION, &setup, NULL };
359
360////////////////////////////////////////////////////////////////////////////