summaryrefslogtreecommitdiffstats
path: root/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2010-06-29 14:31:43 +0100
committerJoshua Lock <josh@linux.intel.com>2010-06-29 15:20:33 +0100
commit6ca31b0522873da6ae8bcdc49cbcca1b04c4016c (patch)
tree5cf314dcc613d47098c690a463fa4ebf3a72c148 /meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch
parentb6fcd71cb5b85e23036b31df1545a92f4ed402dc (diff)
downloadpoky-6ca31b0522873da6ae8bcdc49cbcca1b04c4016c.tar.gz
xorg-xserver: move older xserver's to meta-extras
Move xservers which are only used by retired machines to meta-extras Signed-off-by: Joshua Lock <josh@linux.intel.com>
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.patch446
1 files changed, 446 insertions, 0 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
new file mode 100644
index 0000000000..09c9e8909c
--- /dev/null
+++ b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch
@@ -0,0 +1,446 @@
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
15Index: 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
103Index: 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
226Index: 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 */ ,
248Index: 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);
261Index: 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 }
316Index: 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;
330Index: 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(
343Index: 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;
384Index: 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'
397Index: 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);
423Index: 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;