diff options
Diffstat (limited to 'meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch')
-rw-r--r-- | meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch | 446 |
1 files changed, 0 insertions, 446 deletions
diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch deleted file mode 100644 index 09c9e8909c..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch +++ /dev/null | |||
@@ -1,446 +0,0 @@ | |||
1 | --- | ||
2 | Xi/chgdctl.c | 55 +++++++++++++++++++------ | ||
3 | Xi/getdctl.c | 87 +++++++++++++++++++++++++++++++---------- | ||
4 | Xi/getdctl.h | 11 +++-- | ||
5 | Xi/stubs.c | 2 | ||
6 | configure.ac | 2 | ||
7 | dix/devices.c | 31 +++++++++----- | ||
8 | hw/kdrive/linux/tslib.c | 8 +-- | ||
9 | hw/kdrive/src/kinput.c | 6 +- | ||
10 | hw/xfree86/common/xf86Xinput.c | 3 - | ||
11 | include/input.h | 2 | ||
12 | include/inputstr.h | 18 +++++++- | ||
13 | 11 files changed, 162 insertions(+), 63 deletions(-) | ||
14 | |||
15 | Index: xorg-server-1.1.99.3/Xi/chgdctl.c | ||
16 | =================================================================== | ||
17 | --- xorg-server-1.1.99.3.orig/Xi/chgdctl.c 2007-01-29 22:58:18.000000000 +0000 | ||
18 | +++ xorg-server-1.1.99.3/Xi/chgdctl.c 2007-01-29 22:59:27.000000000 +0000 | ||
19 | @@ -104,8 +104,10 @@ ProcXChangeDeviceControl(ClientPtr clien | ||
20 | xChangeDeviceControlReply rep; | ||
21 | AxisInfoPtr a; | ||
22 | CARD32 *resolution; | ||
23 | - xDeviceTSCtl *ts; | ||
24 | + xDeviceAbsCalibCtl *calib; | ||
25 | + xDeviceAbsAreaCtl *area; | ||
26 | xDeviceCoreCtl *c; | ||
27 | + xDeviceEnableCtl *e; | ||
28 | |||
29 | REQUEST(xChangeDeviceControlReq); | ||
30 | REQUEST_AT_LEAST_SIZE(xChangeDeviceControlReq); | ||
31 | @@ -170,25 +172,28 @@ ProcXChangeDeviceControl(ClientPtr clien | ||
32 | return Success; | ||
33 | } | ||
34 | break; | ||
35 | - case DEVICE_TOUCHSCREEN: | ||
36 | - ts = (xDeviceTSCtl *)&stuff[1]; | ||
37 | - | ||
38 | - if (ts->button_threshold < 0 || ts->button_threshold > 255) { | ||
39 | + case DEVICE_ABS_CALIB: | ||
40 | + calib = (xDeviceAbsCalibCtl *)&stuff[1]; | ||
41 | + | ||
42 | + if (calib->button_threshold < 0 || calib->button_threshold > 255) { | ||
43 | SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, | ||
44 | BadValue); | ||
45 | return Success; | ||
46 | } | ||
47 | |||
48 | - status = ChangeDeviceControl(client, dev, (xDeviceCtl *) ts); | ||
49 | + status = ChangeDeviceControl(client, dev, (xDeviceCtl *) calib); | ||
50 | |||
51 | if (status == Success) { | ||
52 | - dev->touchscreen->min_x = ts->min_x; | ||
53 | - dev->touchscreen->max_x = ts->max_x; | ||
54 | - dev->touchscreen->min_y = ts->min_y; | ||
55 | - dev->touchscreen->max_y = ts->max_y; | ||
56 | - dev->touchscreen->button_threshold = ts->button_threshold; | ||
57 | - } else if (status == DeviceBusy) { | ||
58 | - rep.status = DeviceBusy; | ||
59 | + dev->absolute->min_x = calib->min_x; | ||
60 | + dev->absolute->max_x = calib->max_x; | ||
61 | + dev->absolute->min_y = calib->min_y; | ||
62 | + dev->absolute->max_y = calib->max_y; | ||
63 | + dev->absolute->flip_x = calib->flip_x; | ||
64 | + dev->absolute->flip_y = calib->flip_y; | ||
65 | + dev->absolute->rotation = calib->rotation; | ||
66 | + dev->absolute->button_threshold = calib->button_threshold; | ||
67 | + } else if (status == DeviceBusy || status == BadValue) { | ||
68 | + rep.status = status; | ||
69 | WriteReplyToClient(client, sizeof(xChangeDeviceControlReply), | ||
70 | &rep); | ||
71 | return Success; | ||
72 | @@ -199,6 +204,30 @@ ProcXChangeDeviceControl(ClientPtr clien | ||
73 | } | ||
74 | |||
75 | break; | ||
76 | + case DEVICE_ABS_AREA: | ||
77 | + area = (xDeviceAbsAreaCtl *)&stuff[1]; | ||
78 | + | ||
79 | + status = ChangeDeviceControl(client, dev, (xDeviceCtl *) area); | ||
80 | + | ||
81 | + if (status == Success) { | ||
82 | + dev->absolute->offset_x = area->offset_x; | ||
83 | + dev->absolute->offset_y = area->offset_y; | ||
84 | + dev->absolute->width = area->width; | ||
85 | + dev->absolute->height = area->height; | ||
86 | + dev->absolute->screen = area->screen; | ||
87 | + dev->absolute->following = area->following; | ||
88 | + } else if (status == DeviceBusy || status == BadValue) { | ||
89 | + rep.status = status; | ||
90 | + WriteReplyToClient(client, sizeof(xChangeDeviceControlReply), | ||
91 | + &rep); | ||
92 | + return Success; | ||
93 | + } else { | ||
94 | + SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, | ||
95 | + BadMatch); | ||
96 | + return Success; | ||
97 | + } | ||
98 | + | ||
99 | + break; | ||
100 | case DEVICE_CORE: | ||
101 | c = (xDeviceCoreCtl *)&stuff[1]; | ||
102 | |||
103 | Index: xorg-server-1.1.99.3/Xi/getdctl.c | ||
104 | =================================================================== | ||
105 | --- xorg-server-1.1.99.3.orig/Xi/getdctl.c 2007-01-29 22:58:18.000000000 +0000 | ||
106 | +++ xorg-server-1.1.99.3/Xi/getdctl.c 2007-01-29 22:59:27.000000000 +0000 | ||
107 | @@ -124,14 +124,23 @@ ProcXGetDeviceControl(ClientPtr client) | ||
108 | total_length = sizeof(xDeviceResolutionState) + | ||
109 | (3 * sizeof(int) * dev->valuator->numAxes); | ||
110 | break; | ||
111 | - case DEVICE_TOUCHSCREEN: | ||
112 | - if (!dev->touchscreen) { | ||
113 | + case DEVICE_ABS_CALIB: | ||
114 | + if (!dev->absolute) { | ||
115 | SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, | ||
116 | BadMatch); | ||
117 | return Success; | ||
118 | } | ||
119 | |||
120 | - total_length = sizeof(xDeviceTSCtl); | ||
121 | + total_length = sizeof(xDeviceAbsCalibCtl); | ||
122 | + break; | ||
123 | + case DEVICE_ABS_AREA: | ||
124 | + if (!dev->absolute) { | ||
125 | + SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, | ||
126 | + BadMatch); | ||
127 | + return Success; | ||
128 | + } | ||
129 | + | ||
130 | + total_length = sizeof(xDeviceAbsAreaCtl); | ||
131 | break; | ||
132 | case DEVICE_CORE: | ||
133 | total_length = sizeof(xDeviceCoreCtl); | ||
134 | @@ -152,8 +161,11 @@ ProcXGetDeviceControl(ClientPtr client) | ||
135 | case DEVICE_RESOLUTION: | ||
136 | CopySwapDeviceResolution(client, dev->valuator, buf, total_length); | ||
137 | break; | ||
138 | - case DEVICE_TOUCHSCREEN: | ||
139 | - CopySwapDeviceTouchscreen(client, dev->touchscreen, buf); | ||
140 | + case DEVICE_ABS_CALIB: | ||
141 | + CopySwapDeviceAbsCalib(client, dev->absolute, buf); | ||
142 | + break; | ||
143 | + case DEVICE_ABS_AREA: | ||
144 | + CopySwapDeviceAbsArea(client, dev->absolute, buf); | ||
145 | break; | ||
146 | case DEVICE_CORE: | ||
147 | CopySwapDeviceCore(client, dev, buf); | ||
148 | @@ -206,28 +218,61 @@ CopySwapDeviceResolution(ClientPtr clien | ||
149 | } | ||
150 | } | ||
151 | |||
152 | -void CopySwapDeviceTouchscreen (ClientPtr client, TouchscreenClassPtr dts, | ||
153 | +void CopySwapDeviceAbsCalib (ClientPtr client, AbsoluteClassPtr dts, | ||
154 | char *buf) | ||
155 | { | ||
156 | register char n; | ||
157 | - xDeviceTSState *ts = (xDeviceTSState *) buf; | ||
158 | + xDeviceAbsCalibState *calib = (xDeviceAbsCalibState *) buf; | ||
159 | |||
160 | - ts->control = DEVICE_TOUCHSCREEN; | ||
161 | - ts->length = sizeof(ts); | ||
162 | - ts->min_x = dts->min_x; | ||
163 | - ts->max_x = dts->max_x; | ||
164 | - ts->min_y = dts->min_y; | ||
165 | - ts->max_y = dts->max_y; | ||
166 | - ts->button_threshold = dts->button_threshold; | ||
167 | + calib->control = DEVICE_ABS_CALIB; | ||
168 | + calib->length = sizeof(calib); | ||
169 | + calib->min_x = dts->min_x; | ||
170 | + calib->max_x = dts->max_x; | ||
171 | + calib->min_y = dts->min_y; | ||
172 | + calib->max_y = dts->max_y; | ||
173 | + calib->flip_x = dts->flip_x; | ||
174 | + calib->flip_y = dts->flip_y; | ||
175 | + calib->rotation = dts->rotation; | ||
176 | + calib->button_threshold = dts->button_threshold; | ||
177 | |||
178 | if (client->swapped) { | ||
179 | - swaps(&ts->control, n); | ||
180 | - swaps(&ts->length, n); | ||
181 | - swapl(&ts->min_x, n); | ||
182 | - swapl(&ts->max_x, n); | ||
183 | - swapl(&ts->min_y, n); | ||
184 | - swapl(&ts->max_y, n); | ||
185 | - swapl(&ts->button_threshold, n); | ||
186 | + swaps(&calib->control, n); | ||
187 | + swaps(&calib->length, n); | ||
188 | + swapl(&calib->min_x, n); | ||
189 | + swapl(&calib->max_x, n); | ||
190 | + swapl(&calib->min_y, n); | ||
191 | + swapl(&calib->max_y, n); | ||
192 | + swapl(&calib->flip_x, n); | ||
193 | + swapl(&calib->flip_y, n); | ||
194 | + swapl(&calib->rotation, n); | ||
195 | + swapl(&calib->button_threshold, n); | ||
196 | + } | ||
197 | +} | ||
198 | + | ||
199 | +void CopySwapDeviceAbsArea (ClientPtr client, AbsoluteClassPtr dts, | ||
200 | + char *buf) | ||
201 | +{ | ||
202 | + register char n; | ||
203 | + xDeviceAbsAreaState *area = (xDeviceAbsAreaState *) buf; | ||
204 | + | ||
205 | + area->control = DEVICE_ABS_AREA; | ||
206 | + area->length = sizeof(area); | ||
207 | + area->offset_x = dts->offset_x; | ||
208 | + area->offset_y = dts->offset_y; | ||
209 | + area->width = dts->width; | ||
210 | + area->height = dts->height; | ||
211 | + area->screen = dts->screen; | ||
212 | + area->following = dts->following; | ||
213 | + | ||
214 | + if (client->swapped) { | ||
215 | + swaps(&area->control, n); | ||
216 | + swaps(&area->length, n); | ||
217 | + swapl(&area->offset_x, n); | ||
218 | + swapl(&area->offset_y, n); | ||
219 | + swapl(&area->width, n); | ||
220 | + swapl(&area->height, n); | ||
221 | + swapl(&area->screen, n); | ||
222 | + swapl(&area->following, n); | ||
223 | } | ||
224 | } | ||
225 | |||
226 | Index: xorg-server-1.1.99.3/Xi/getdctl.h | ||
227 | =================================================================== | ||
228 | --- xorg-server-1.1.99.3.orig/Xi/getdctl.h 2007-01-29 22:58:18.000000000 +0000 | ||
229 | +++ xorg-server-1.1.99.3/Xi/getdctl.h 2007-01-29 22:59:27.000000000 +0000 | ||
230 | @@ -42,10 +42,13 @@ void CopySwapDeviceResolution(ClientPtr | ||
231 | int /* length */ | ||
232 | ); | ||
233 | |||
234 | -void CopySwapDeviceTouchscreen(ClientPtr /* client */ , | ||
235 | - TouchscreenClassPtr /* ts */ , | ||
236 | - char * /* buf */ | ||
237 | - ); | ||
238 | +void CopySwapDeviceAbsCalib (ClientPtr client, | ||
239 | + AbsoluteClassPtr dts, | ||
240 | + char *buf); | ||
241 | + | ||
242 | +void CopySwapDeviceAbsArea (ClientPtr client, | ||
243 | + AbsoluteClassPtr dts, | ||
244 | + char *buf); | ||
245 | |||
246 | void CopySwapDeviceCore(ClientPtr /* client */ , | ||
247 | DeviceIntPtr /* dev */ , | ||
248 | Index: xorg-server-1.1.99.3/Xi/stubs.c | ||
249 | =================================================================== | ||
250 | --- xorg-server-1.1.99.3.orig/Xi/stubs.c 2007-01-29 22:58:18.000000000 +0000 | ||
251 | +++ xorg-server-1.1.99.3/Xi/stubs.c 2007-01-29 22:59:27.000000000 +0000 | ||
252 | @@ -287,7 +287,7 @@ ChangeDeviceControl(register ClientPtr c | ||
253 | switch (control->control) { | ||
254 | case DEVICE_RESOLUTION: | ||
255 | return (BadMatch); | ||
256 | - case DEVICE_TOUCHSCREEN: | ||
257 | + case DEVICE_ABS_CALIB: | ||
258 | return (BadMatch); | ||
259 | case DEVICE_CORE: | ||
260 | return (BadMatch); | ||
261 | Index: xorg-server-1.1.99.3/dix/devices.c | ||
262 | =================================================================== | ||
263 | --- xorg-server-1.1.99.3.orig/dix/devices.c 2007-01-29 22:58:18.000000000 +0000 | ||
264 | +++ xorg-server-1.1.99.3/dix/devices.c 2007-01-29 22:59:27.000000000 +0000 | ||
265 | @@ -117,7 +117,7 @@ AddInputDevice(DeviceProc deviceProc, Bo | ||
266 | dev->button = (ButtonClassPtr)NULL; | ||
267 | dev->focus = (FocusClassPtr)NULL; | ||
268 | dev->proximity = (ProximityClassPtr)NULL; | ||
269 | - dev->touchscreen = (TouchscreenClassPtr)NULL; | ||
270 | + dev->absolute = (AbsoluteClassPtr)NULL; | ||
271 | dev->kbdfeed = (KbdFeedbackPtr)NULL; | ||
272 | dev->ptrfeed = (PtrFeedbackPtr)NULL; | ||
273 | dev->intfeed = (IntegerFeedbackPtr)NULL; | ||
274 | @@ -821,22 +821,31 @@ InitValuatorClassDeviceStruct(DeviceIntP | ||
275 | } | ||
276 | |||
277 | _X_EXPORT Bool | ||
278 | -InitTouchscreenClassDeviceStruct(DeviceIntPtr dev) | ||
279 | +InitAbsoluteClassDeviceStruct(DeviceIntPtr dev) | ||
280 | { | ||
281 | - register TouchscreenClassPtr tsc; | ||
282 | + register AbsoluteClassPtr abs; | ||
283 | |||
284 | - tsc = (TouchscreenClassPtr)xalloc(sizeof(TouchscreenClassRec)); | ||
285 | - if (!tsc) | ||
286 | + abs = (AbsoluteClassPtr)xalloc(sizeof(AbsoluteClassRec)); | ||
287 | + if (!abs) | ||
288 | return FALSE; | ||
289 | |||
290 | /* we don't do anything sensible with these, but should */ | ||
291 | - tsc->min_x = -1; | ||
292 | - tsc->min_y = -1; | ||
293 | - tsc->max_x = -1; | ||
294 | - tsc->max_y = -1; | ||
295 | + abs->min_x = -1; | ||
296 | + abs->min_y = -1; | ||
297 | + abs->max_x = -1; | ||
298 | + abs->max_y = -1; | ||
299 | + abs->flip_x = 0; | ||
300 | + abs->flip_y = 0; | ||
301 | + abs->rotation = 0; | ||
302 | + abs->button_threshold = 0; | ||
303 | |||
304 | - tsc->button_threshold = 0; | ||
305 | - dev->touchscreen = tsc; | ||
306 | + abs->offset_x = 0; | ||
307 | + abs->offset_y = 0; | ||
308 | + abs->width = -1; | ||
309 | + abs->height = -1; | ||
310 | + abs->following = 0; | ||
311 | + | ||
312 | + dev->absolute = abs; | ||
313 | |||
314 | return TRUE; | ||
315 | } | ||
316 | Index: xorg-server-1.1.99.3/hw/xfree86/common/xf86Xinput.c | ||
317 | =================================================================== | ||
318 | --- xorg-server-1.1.99.3.orig/hw/xfree86/common/xf86Xinput.c 2007-01-29 22:58:18.000000000 +0000 | ||
319 | +++ xorg-server-1.1.99.3/hw/xfree86/common/xf86Xinput.c 2007-01-29 22:59:27.000000000 +0000 | ||
320 | @@ -538,7 +538,8 @@ ChangeDeviceControl (ClientPtr client, D | ||
321 | switch (control->control) { | ||
322 | case DEVICE_CORE: | ||
323 | case DEVICE_RESOLUTION: | ||
324 | - case DEVICE_TOUCHSCREEN: | ||
325 | + case DEVICE_ABS_CALIB: | ||
326 | + case DEVICE_ABS_AREA: | ||
327 | return Success; | ||
328 | default: | ||
329 | return BadMatch; | ||
330 | Index: xorg-server-1.1.99.3/include/input.h | ||
331 | =================================================================== | ||
332 | --- xorg-server-1.1.99.3.orig/include/input.h 2007-01-29 22:58:18.000000000 +0000 | ||
333 | +++ xorg-server-1.1.99.3/include/input.h 2007-01-29 22:59:27.000000000 +0000 | ||
334 | @@ -238,7 +238,7 @@ extern Bool InitValuatorClassDeviceStruc | ||
335 | int /*numMotionEvents*/, | ||
336 | int /*mode*/); | ||
337 | |||
338 | -extern Bool InitTouchscreenClassDeviceStruct( | ||
339 | +extern Bool InitAbsoluteClassDeviceStruct( | ||
340 | DeviceIntPtr /*device*/); | ||
341 | |||
342 | extern Bool InitFocusClassDeviceStruct( | ||
343 | Index: xorg-server-1.1.99.3/include/inputstr.h | ||
344 | =================================================================== | ||
345 | --- xorg-server-1.1.99.3.orig/include/inputstr.h 2007-01-29 22:58:18.000000000 +0000 | ||
346 | +++ xorg-server-1.1.99.3/include/inputstr.h 2007-01-29 22:59:27.000000000 +0000 | ||
347 | @@ -185,13 +185,25 @@ typedef struct _ProximityClassRec { | ||
348 | char pad; | ||
349 | } ProximityClassRec, *ProximityClassPtr; | ||
350 | |||
351 | -typedef struct _TouchscreenClassRec { | ||
352 | +typedef struct _AbsoluteClassRec { | ||
353 | + /* Calibration. */ | ||
354 | int min_x; | ||
355 | int max_x; | ||
356 | int min_y; | ||
357 | int max_y; | ||
358 | + int flip_x; | ||
359 | + int flip_y; | ||
360 | + int rotation; | ||
361 | int button_threshold; | ||
362 | -} TouchscreenClassRec, *TouchscreenClassPtr; | ||
363 | + | ||
364 | + /* Area. */ | ||
365 | + int offset_x; | ||
366 | + int offset_y; | ||
367 | + int width; | ||
368 | + int height; | ||
369 | + int screen; | ||
370 | + XID following; | ||
371 | +} AbsoluteClassRec, *AbsoluteClassPtr; | ||
372 | |||
373 | typedef struct _KbdFeedbackClassRec *KbdFeedbackPtr; | ||
374 | typedef struct _PtrFeedbackClassRec *PtrFeedbackPtr; | ||
375 | @@ -293,7 +305,7 @@ typedef struct _DeviceIntRec { | ||
376 | ButtonClassPtr button; | ||
377 | FocusClassPtr focus; | ||
378 | ProximityClassPtr proximity; | ||
379 | - TouchscreenClassPtr touchscreen; | ||
380 | + AbsoluteClassPtr absolute; | ||
381 | KbdFeedbackPtr kbdfeed; | ||
382 | PtrFeedbackPtr ptrfeed; | ||
383 | IntegerFeedbackPtr intfeed; | ||
384 | Index: xorg-server-1.1.99.3/configure.ac | ||
385 | =================================================================== | ||
386 | --- xorg-server-1.1.99.3.orig/configure.ac 2007-01-29 22:58:18.000000000 +0000 | ||
387 | +++ xorg-server-1.1.99.3/configure.ac 2007-01-29 22:59:27.000000000 +0000 | ||
388 | @@ -1586,7 +1586,7 @@ if test "$KDRIVE" = yes; then | ||
389 | #KDRIVE_PURE_LIBS="$DIX_LIB $OS_LIB $FB_LIB $XEXT_LIB $MIEXT_DAMAGE_LIB \ | ||
390 | # $MIEXT_SHADOW_LIB $XPSTUBS_LIB" | ||
391 | KDRIVE_XKB_DDX_LIB='$(top_builddir)/hw/kdrive/src/libkdrivexkb.a' | ||
392 | - KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $KDRIVE_XKB_DDX_LIB $XKB_LIB $KDRIVE_XKB_DDX_LIB$COMPOSITE_LIB $XPSTUBS_LIB $OS_LIB $CONFIG_LIB" | ||
393 | + KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $KDRIVE_XKB_DDX_LIB $XKB_LIB $KDRIVE_XKB_DDX_LIB $COMPOSITE_LIB $XPSTUBS_LIB $OS_LIB $CONFIG_LIB" | ||
394 | KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a' | ||
395 | KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a' | ||
396 | KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' | ||
397 | Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c | ||
398 | =================================================================== | ||
399 | --- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-01-29 22:58:18.000000000 +0000 | ||
400 | +++ xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 2007-01-29 22:59:27.000000000 +0000 | ||
401 | @@ -94,7 +94,7 @@ TsRead (int fd, void *closure) | ||
402 | event.pressure); | ||
403 | discard = 0; | ||
404 | if (event.pressure) { | ||
405 | - if (event.pressure > pi->dixdev->touchscreen->button_threshold) | ||
406 | + if (event.pressure > pi->dixdev->absolute->button_threshold) | ||
407 | flags = KD_BUTTON_8; | ||
408 | else | ||
409 | flags = KD_BUTTON_1; | ||
410 | @@ -356,9 +356,9 @@ TslibEnable (KdPointerInfo *pi) | ||
411 | close(private->fd); | ||
412 | return BadAlloc; | ||
413 | } | ||
414 | - if (pi->dixdev && pi->dixdev->touchscreen && | ||
415 | - pi->dixdev->touchscreen->button_threshold == 0) | ||
416 | - pi->dixdev->touchscreen->button_threshold = 115; | ||
417 | + if (pi->dixdev && pi->dixdev->absolute && | ||
418 | + pi->dixdev->absolute->button_threshold == 0) | ||
419 | + pi->dixdev->absolute->button_threshold = 115; | ||
420 | |||
421 | DebugF("[tslib/TslibEnable] successfully enabled %s\n", pi->path); | ||
422 | KdRegisterFd(private->fd, TsRead, pi); | ||
423 | Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c | ||
424 | =================================================================== | ||
425 | --- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2007-01-29 22:58:18.000000000 +0000 | ||
426 | +++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2007-01-29 22:59:27.000000000 +0000 | ||
427 | @@ -444,7 +444,7 @@ KdPointerProc(DeviceIntPtr pDevice, int | ||
428 | |||
429 | #ifdef XINPUT | ||
430 | if (pi->inputClass == KD_TOUCHSCREEN) { | ||
431 | - InitTouchscreenClassDeviceStruct(pDevice); | ||
432 | + InitAbsoluteClassDeviceStruct(pDevice); | ||
433 | xiclass = AtomFromName(XI_TOUCHSCREEN); | ||
434 | } | ||
435 | else { | ||
436 | @@ -2323,8 +2323,8 @@ ChangeDeviceControl(register ClientPtr c | ||
437 | /* FIXME do something more intelligent here */ | ||
438 | return BadMatch; | ||
439 | |||
440 | - case DEVICE_TOUCHSCREEN: | ||
441 | - if (!pDev->touchscreen) | ||
442 | + case DEVICE_ABS_CALIB: | ||
443 | + if (!pDev->absolute) | ||
444 | return BadDevice; | ||
445 | else | ||
446 | return Success; | ||