diff options
Diffstat (limited to 'meta/packages/xorg-xserver/xserver-kdrive')
17 files changed, 1948 insertions, 0 deletions
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/build-20050207-against-X11R7.diff b/meta/packages/xorg-xserver/xserver-kdrive/build-20050207-against-X11R7.diff new file mode 100644 index 0000000000..596e498b80 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/build-20050207-against-X11R7.diff | |||
@@ -0,0 +1,464 @@ | |||
1 | --- xserver.orig/configure.ac 2006-03-11 16:27:42.000000000 +0100 | ||
2 | +++ xserver/configure.ac 2006-03-11 16:46:51.000000000 +0100 | ||
3 | @@ -79,7 +79,7 @@ | ||
4 | # tslib touchscreen driver | ||
5 | AC_CHECK_HEADERS([tslib.h]) | ||
6 | |||
7 | -REQUIRED_MODULES="randr render fixesext damageext xextensions xfont xproto xtrans xau" | ||
8 | +REQUIRED_MODULES="randrproto renderproto fixesproto damageproto xextproto xfont xproto xtrans xau" | ||
9 | |||
10 | DEFAULT_FONT_PATH="/usr/lib/X11/fonts/misc,/usr/lib/X11/fonts/100dpi,/usr/lib/X11/fonts/75dpi" | ||
11 | DEFAULT_VENDOR_STRING="freedesktop.org" | ||
12 | --- xserver.orig/dix/dispatch.c 2006-03-11 16:27:42.000000000 +0100 | ||
13 | +++ xserver/dix/dispatch.c 2006-03-11 16:30:59.000000000 +0100 | ||
14 | @@ -79,7 +79,6 @@ | ||
15 | #endif | ||
16 | |||
17 | #include "windowstr.h" | ||
18 | -#include "fontstruct.h" | ||
19 | #include "dixfontstr.h" | ||
20 | #include "gcstruct.h" | ||
21 | #include "selection.h" | ||
22 | --- xserver.orig/dix/glyphcurs.c 2006-03-11 16:27:42.000000000 +0100 | ||
23 | +++ xserver/dix/glyphcurs.c 2006-03-11 16:31:57.000000000 +0100 | ||
24 | @@ -51,7 +51,6 @@ | ||
25 | #include <config.h> | ||
26 | #endif | ||
27 | #include "misc.h" | ||
28 | -#include "fontstruct.h" | ||
29 | #include "dixfontstr.h" | ||
30 | #include "scrnintstr.h" | ||
31 | #include "gcstruct.h" | ||
32 | --- xserver.orig/dix/main.c 2006-03-11 16:27:42.000000000 +0100 | ||
33 | +++ xserver/dix/main.c 2006-03-11 16:32:05.000000000 +0100 | ||
34 | @@ -89,7 +89,6 @@ | ||
35 | #include "colormap.h" | ||
36 | #include "colormapst.h" | ||
37 | #include "cursorstr.h" | ||
38 | -#include "font.h" | ||
39 | #include "opaque.h" | ||
40 | #include "servermd.h" | ||
41 | #include "site.h" | ||
42 | --- xserver.orig/dix/swaprep.c 2006-03-11 16:27:42.000000000 +0100 | ||
43 | +++ xserver/dix/swaprep.c 2006-03-11 16:32:24.000000000 +0100 | ||
44 | @@ -57,7 +57,7 @@ | ||
45 | #include <X11/Xproto.h> | ||
46 | #include "misc.h" | ||
47 | #include "dixstruct.h" | ||
48 | -#include "fontstruct.h" | ||
49 | +#include "dixfont.h" | ||
50 | #include "scrnintstr.h" | ||
51 | #include "swaprep.h" | ||
52 | #include "globals.h" | ||
53 | --- xserver.orig/dix/xpstubs.c 2006-03-11 16:27:42.000000000 +0100 | ||
54 | +++ xserver/dix/xpstubs.c 2006-03-11 16:32:34.000000000 +0100 | ||
55 | @@ -31,7 +31,7 @@ | ||
56 | #include <config.h> | ||
57 | #endif | ||
58 | #include "misc.h" | ||
59 | -#include "font.h" | ||
60 | +#include "dixfont.h" | ||
61 | |||
62 | Bool | ||
63 | XpClientIsBitmapClient(ClientPtr client) | ||
64 | --- xserver.orig/fb/fbglyph.c 2006-03-11 16:27:42.000000000 +0100 | ||
65 | +++ xserver/fb/fbglyph.c 2006-03-11 16:52:01.000000000 +0100 | ||
66 | @@ -26,7 +26,6 @@ | ||
67 | #include <config.h> | ||
68 | #endif | ||
69 | #include "fb.h" | ||
70 | -#include "fontstruct.h" | ||
71 | #include "dixfontstr.h" | ||
72 | |||
73 | Bool | ||
74 | --- xserver.orig/hw/kdrive/epson/epson13806draw.c 2006-03-11 16:27:42.000000000 +0100 | ||
75 | +++ xserver/hw/kdrive/epson/epson13806draw.c 2006-03-11 16:34:56.000000000 +0100 | ||
76 | @@ -38,7 +38,6 @@ | ||
77 | #include "pixmapstr.h" | ||
78 | #include "regionstr.h" | ||
79 | #include "mistruct.h" | ||
80 | -#include "fontstruct.h" | ||
81 | #include "dixfontstr.h" | ||
82 | #include "fb.h" | ||
83 | #include "migc.h" | ||
84 | --- xserver.orig/hw/kdrive/i810/i810draw.c 2006-03-11 16:27:42.000000000 +0100 | ||
85 | +++ xserver/hw/kdrive/i810/i810draw.c 2006-03-11 16:34:41.000000000 +0100 | ||
86 | @@ -51,7 +51,6 @@ | ||
87 | #include "pixmapstr.h" | ||
88 | #include "regionstr.h" | ||
89 | #include "mistruct.h" | ||
90 | -#include "fontstruct.h" | ||
91 | #include "dixfontstr.h" | ||
92 | #include "fb.h" | ||
93 | #include "migc.h" | ||
94 | --- xserver.orig/hw/kdrive/src/kaa.c 2006-03-11 16:27:42.000000000 +0100 | ||
95 | +++ xserver/hw/kdrive/src/kaa.c 2006-03-11 16:35:39.000000000 +0100 | ||
96 | @@ -29,7 +29,6 @@ | ||
97 | #endif | ||
98 | #include "kdrive.h" | ||
99 | #include "kaa.h" | ||
100 | -#include "fontstruct.h" | ||
101 | #include "dixfontstr.h" | ||
102 | |||
103 | #define DEBUG_MIGRATE 0 | ||
104 | --- xserver.orig/include/dixfont.h 2006-03-11 16:27:42.000000000 +0100 | ||
105 | +++ xserver/include/dixfont.h 2006-03-11 16:43:25.000000000 +0100 | ||
106 | @@ -27,10 +27,10 @@ | ||
107 | #define DIXFONT_H 1 | ||
108 | |||
109 | #include "dix.h" | ||
110 | -#include "font.h" | ||
111 | -#include "fontconf.h" | ||
112 | +#include <X11/fonts/font.h> | ||
113 | +#include <X11/fonts/fontconf.h> | ||
114 | #include "closure.h" | ||
115 | -#include "fontstruct.h" | ||
116 | +#include <X11/fonts/fontstruct.h> | ||
117 | |||
118 | #define NullDIXFontProp ((DIXFontPropPtr)0) | ||
119 | |||
120 | --- xserver.orig/include/dixfontstr.h 2006-03-11 16:27:42.000000000 +0100 | ||
121 | +++ xserver/include/dixfontstr.h 2006-03-11 16:43:31.000000000 +0100 | ||
122 | @@ -27,7 +27,6 @@ | ||
123 | |||
124 | #include "servermd.h" | ||
125 | #include "dixfont.h" | ||
126 | -#include "fontstruct.h" | ||
127 | #include "closure.h" | ||
128 | #define NEED_REPLIES | ||
129 | #include "X11/Xproto.h" /* for xQueryFontReply */ | ||
130 | --- xserver.orig/mi/mibstore.c 2006-03-11 16:27:42.000000000 +0100 | ||
131 | +++ xserver/mi/mibstore.c 2006-03-11 16:36:26.000000000 +0100 | ||
132 | @@ -57,7 +57,6 @@ | ||
133 | #include "gcstruct.h" | ||
134 | #include "windowstr.h" | ||
135 | #include "pixmapstr.h" | ||
136 | -#include "fontstruct.h" | ||
137 | #include "dixfontstr.h" | ||
138 | #include "dixstruct.h" /* For requestingClient */ | ||
139 | #include "mi.h" | ||
140 | --- xserver.orig/mi/miglblt.c 2006-03-11 16:27:42.000000000 +0100 | ||
141 | +++ xserver/mi/miglblt.c 2006-03-11 16:53:52.000000000 +0100 | ||
142 | @@ -55,7 +55,6 @@ | ||
143 | #include <X11/Xmd.h> | ||
144 | #include <X11/Xproto.h> | ||
145 | #include "misc.h" | ||
146 | -#include "fontstruct.h" | ||
147 | #include "dixfontstr.h" | ||
148 | #include "gcstruct.h" | ||
149 | #include "windowstr.h" | ||
150 | --- xserver.orig/mi/mi.h 2006-03-11 16:27:42.000000000 +0100 | ||
151 | +++ xserver/mi/mi.h 2006-03-11 16:36:16.000000000 +0100 | ||
152 | @@ -54,7 +54,7 @@ | ||
153 | #include "validate.h" | ||
154 | #include "window.h" | ||
155 | #include "gc.h" | ||
156 | -#include "font.h" | ||
157 | +#include "dixfont.h" | ||
158 | #include "input.h" | ||
159 | #include "cursor.h" | ||
160 | |||
161 | --- xserver.orig/mi/miinitext.c 2006-03-11 16:27:42.000000000 +0100 | ||
162 | +++ xserver/mi/miinitext.c 2006-03-11 16:36:41.000000000 +0100 | ||
163 | @@ -54,6 +54,8 @@ | ||
164 | #include "extension.h" | ||
165 | #include "micmap.h" | ||
166 | #include "xext.h" | ||
167 | +#include "pixmap.h" | ||
168 | +#include "gc.h" | ||
169 | |||
170 | #ifdef NOPEXEXT /* sleaze for Solaris cpp building XsunMono */ | ||
171 | #undef PEXEXT | ||
172 | --- xserver.orig/mi/mipolytext.c 2006-03-11 16:27:42.000000000 +0100 | ||
173 | +++ xserver/mi/mipolytext.c 2006-03-11 16:36:48.000000000 +0100 | ||
174 | @@ -63,7 +63,6 @@ | ||
175 | #include <X11/Xproto.h> | ||
176 | #include "misc.h" | ||
177 | #include "gcstruct.h" | ||
178 | -#include "fontstruct.h" | ||
179 | #include "dixfontstr.h" | ||
180 | #include "mi.h" | ||
181 | |||
182 | --- xserver.orig/mi/misprite.c 2006-03-11 16:27:42.000000000 +0100 | ||
183 | +++ xserver/mi/misprite.c 2006-03-11 16:37:00.000000000 +0100 | ||
184 | @@ -42,7 +42,6 @@ | ||
185 | # include "input.h" | ||
186 | # include "mi.h" | ||
187 | # include "cursorstr.h" | ||
188 | -# include "font.h" | ||
189 | # include "scrnintstr.h" | ||
190 | # include "colormapst.h" | ||
191 | # include "windowstr.h" | ||
192 | @@ -50,7 +49,6 @@ | ||
193 | # include "mipointer.h" | ||
194 | # include "mispritest.h" | ||
195 | # include "dixfontstr.h" | ||
196 | -# include "fontstruct.h" | ||
197 | #ifdef RENDER | ||
198 | # include "mipict.h" | ||
199 | #endif | ||
200 | --- xserver.orig/miext/damage/damage.c 2006-03-11 16:27:42.000000000 +0100 | ||
201 | +++ xserver/miext/damage/damage.c 2006-03-11 16:37:17.000000000 +0100 | ||
202 | @@ -28,9 +28,7 @@ | ||
203 | #include <X11/X.h> | ||
204 | #include "scrnintstr.h" | ||
205 | #include "windowstr.h" | ||
206 | -#include "font.h" | ||
207 | #include "dixfontstr.h" | ||
208 | -#include "fontstruct.h" | ||
209 | #include "mi.h" | ||
210 | #include "regionstr.h" | ||
211 | #include "globals.h" | ||
212 | --- xserver.orig/miext/shadow/shadow.c 2006-03-11 16:27:42.000000000 +0100 | ||
213 | +++ xserver/miext/shadow/shadow.c 2006-03-11 16:38:13.000000000 +0100 | ||
214 | @@ -29,9 +29,7 @@ | ||
215 | #include <X11/X.h> | ||
216 | #include "scrnintstr.h" | ||
217 | #include "windowstr.h" | ||
218 | -#include "font.h" | ||
219 | #include "dixfontstr.h" | ||
220 | -#include "fontstruct.h" | ||
221 | #include "mi.h" | ||
222 | #include "regionstr.h" | ||
223 | #include "globals.h" | ||
224 | --- xserver.orig/miext/shadow/shalloc.c 2006-03-11 16:27:42.000000000 +0100 | ||
225 | +++ xserver/miext/shadow/shalloc.c 2006-03-11 16:38:25.000000000 +0100 | ||
226 | @@ -29,9 +29,7 @@ | ||
227 | #include <X11/X.h> | ||
228 | #include "scrnintstr.h" | ||
229 | #include "windowstr.h" | ||
230 | -#include "font.h" | ||
231 | #include "dixfontstr.h" | ||
232 | -#include "fontstruct.h" | ||
233 | #include "mi.h" | ||
234 | #include "regionstr.h" | ||
235 | #include "globals.h" | ||
236 | --- xserver.orig/miext/shadow/shpacked.c 2006-03-11 16:27:42.000000000 +0100 | ||
237 | +++ xserver/miext/shadow/shpacked.c 2006-03-11 16:38:33.000000000 +0100 | ||
238 | @@ -28,9 +28,7 @@ | ||
239 | #include <X11/X.h> | ||
240 | #include "scrnintstr.h" | ||
241 | #include "windowstr.h" | ||
242 | -#include "font.h" | ||
243 | #include "dixfontstr.h" | ||
244 | -#include "fontstruct.h" | ||
245 | #include "mi.h" | ||
246 | #include "regionstr.h" | ||
247 | #include "globals.h" | ||
248 | --- xserver.orig/miext/shadow/shplanar8.c 2006-03-11 16:27:42.000000000 +0100 | ||
249 | +++ xserver/miext/shadow/shplanar8.c 2006-03-11 16:38:44.000000000 +0100 | ||
250 | @@ -28,9 +28,7 @@ | ||
251 | #include <X11/X.h> | ||
252 | #include "scrnintstr.h" | ||
253 | #include "windowstr.h" | ||
254 | -#include "font.h" | ||
255 | #include "dixfontstr.h" | ||
256 | -#include "fontstruct.h" | ||
257 | #include "mi.h" | ||
258 | #include "regionstr.h" | ||
259 | #include "globals.h" | ||
260 | --- xserver.orig/miext/shadow/shplanar.c 2006-03-11 16:27:42.000000000 +0100 | ||
261 | +++ xserver/miext/shadow/shplanar.c 2006-03-11 16:38:39.000000000 +0100 | ||
262 | @@ -28,9 +28,7 @@ | ||
263 | #include <X11/X.h> | ||
264 | #include "scrnintstr.h" | ||
265 | #include "windowstr.h" | ||
266 | -#include "font.h" | ||
267 | #include "dixfontstr.h" | ||
268 | -#include "fontstruct.h" | ||
269 | #include "mi.h" | ||
270 | #include "regionstr.h" | ||
271 | #include "globals.h" | ||
272 | --- xserver.orig/miext/shadow/shrotate.c 2006-03-11 16:27:42.000000000 +0100 | ||
273 | +++ xserver/miext/shadow/shrotate.c 2006-03-11 16:38:56.000000000 +0100 | ||
274 | @@ -28,9 +28,7 @@ | ||
275 | #include <X11/X.h> | ||
276 | #include "scrnintstr.h" | ||
277 | #include "windowstr.h" | ||
278 | -#include "font.h" | ||
279 | #include "dixfontstr.h" | ||
280 | -#include "fontstruct.h" | ||
281 | #include "mi.h" | ||
282 | #include "regionstr.h" | ||
283 | #include "globals.h" | ||
284 | --- xserver.orig/miext/shadow/shrotpack.h 2006-03-11 16:27:42.000000000 +0100 | ||
285 | +++ xserver/miext/shadow/shrotpack.h 2006-03-11 16:39:02.000000000 +0100 | ||
286 | @@ -30,9 +30,7 @@ | ||
287 | #include <X11/X.h> | ||
288 | #include "scrnintstr.h" | ||
289 | #include "windowstr.h" | ||
290 | -#include "font.h" | ||
291 | #include "dixfontstr.h" | ||
292 | -#include "fontstruct.h" | ||
293 | #include "mi.h" | ||
294 | #include "regionstr.h" | ||
295 | #include "globals.h" | ||
296 | --- xserver.orig/miext/shadow/shrotpackYX.h 2006-03-11 16:27:42.000000000 +0100 | ||
297 | +++ xserver/miext/shadow/shrotpackYX.h 2006-03-11 16:39:08.000000000 +0100 | ||
298 | @@ -25,9 +25,7 @@ | ||
299 | #include <X11/X.h> | ||
300 | #include "scrnintstr.h" | ||
301 | #include "windowstr.h" | ||
302 | -#include "font.h" | ||
303 | #include "dixfontstr.h" | ||
304 | -#include "fontstruct.h" | ||
305 | #include "mi.h" | ||
306 | #include "regionstr.h" | ||
307 | #include "globals.h" | ||
308 | --- xserver.orig/os/xstrans.c 2006-03-11 16:27:42.000000000 +0100 | ||
309 | +++ xserver/os/xstrans.c 2006-03-11 16:39:31.000000000 +0100 | ||
310 | @@ -27,4 +27,4 @@ | ||
311 | |||
312 | #include "config.h" | ||
313 | |||
314 | -#include <transport.c> | ||
315 | +#include <X11/Xtrans/transport.c> | ||
316 | --- xserver.orig/os/xstrans.h 2006-03-11 16:27:42.000000000 +0100 | ||
317 | +++ xserver/os/xstrans.h 2006-03-11 16:39:37.000000000 +0100 | ||
318 | @@ -25,4 +25,4 @@ | ||
319 | #define XSERV_t | ||
320 | #define TRANS_SERVER | ||
321 | |||
322 | -#include <Xtrans.h> | ||
323 | +#include <X11/Xtrans/Xtrans.h> | ||
324 | --- xserver.orig/Xext/shmint.h 2006-03-11 16:27:42.000000000 +0100 | ||
325 | +++ xserver/Xext/shmint.h 2006-03-11 16:29:24.000000000 +0100 | ||
326 | @@ -32,27 +32,6 @@ | ||
327 | #include "pixmap.h" | ||
328 | #include "gc.h" | ||
329 | |||
330 | -typedef struct _ShmFuncs { | ||
331 | - PixmapPtr (* CreatePixmap)(ScreenPtr pScreen, | ||
332 | - int width, | ||
333 | - int height, | ||
334 | - int depth, | ||
335 | - char *addr); | ||
336 | - void (* PutImage)(DrawablePtr dst, | ||
337 | - GCPtr pGC, | ||
338 | - int depth, | ||
339 | - unsigned int format, | ||
340 | - int w, | ||
341 | - int h, | ||
342 | - int sx, | ||
343 | - int sy, | ||
344 | - int sw, | ||
345 | - int sh, | ||
346 | - int dx, | ||
347 | - int dy, | ||
348 | - char *data); | ||
349 | -} ShmFuncs, *ShmFuncsPtr; | ||
350 | - | ||
351 | void | ||
352 | ShmRegisterFuncs(ScreenPtr pScreen, ShmFuncsPtr funcs); | ||
353 | |||
354 | --- xserver.orig/Xext/syncint.h 2006-03-11 16:27:42.000000000 +0100 | ||
355 | +++ xserver/Xext/syncint.h 2006-03-11 16:30:16.000000000 +0100 | ||
356 | @@ -48,7 +48,7 @@ | ||
357 | PERFORMANCE OF THIS SOFTWARE. | ||
358 | |||
359 | ******************************************************************/ | ||
360 | -/* $Id: syncint.h,v 3.1 2003-11-02 19:56:10 keithp Exp $ */ | ||
361 | +/* $Id: syncint.h,v 3.2 2005-04-20 18:42:31 clee Exp $ */ | ||
362 | |||
363 | #ifndef _SYNCINT_H_ | ||
364 | #define _SYNCINT_H_ | ||
365 | @@ -57,26 +57,10 @@ | ||
366 | |||
367 | #define CARD64 XSyncValue /* XXX temporary! need real 64 bit values for Alpha */ | ||
368 | |||
369 | -typedef struct _SyncCounter { | ||
370 | - ClientPtr client; /* Owning client. 0 for system counters */ | ||
371 | - XSyncCounter id; /* resource ID */ | ||
372 | - CARD64 value; /* counter value */ | ||
373 | - struct _SyncTriggerList *pTriglist; /* list of triggers */ | ||
374 | - Bool beingDestroyed; /* in process of going away */ | ||
375 | - struct _SysCounterInfo *pSysCounterInfo; /* NULL if not a system counter */ | ||
376 | -} SyncCounter; | ||
377 | - | ||
378 | /* | ||
379 | * The System Counter interface | ||
380 | */ | ||
381 | |||
382 | -typedef enum { | ||
383 | - XSyncCounterNeverChanges, | ||
384 | - XSyncCounterNeverIncreases, | ||
385 | - XSyncCounterNeverDecreases, | ||
386 | - XSyncCounterUnrestricted | ||
387 | -} SyncCounterType; | ||
388 | - | ||
389 | typedef void | ||
390 | (*SyncQueryValueProcPtr) (pointer pCounter, | ||
391 | CARD64 *freshvalue); | ||
392 | @@ -86,16 +70,6 @@ | ||
393 | CARD64 *lessthan, | ||
394 | CARD64 *greaterthan); | ||
395 | |||
396 | -typedef struct _SysCounterInfo { | ||
397 | - char *name; | ||
398 | - CARD64 resolution; | ||
399 | - CARD64 bracket_greater; | ||
400 | - CARD64 bracket_less; | ||
401 | - SyncCounterType counterType; /* how can this counter change */ | ||
402 | - SyncQueryValueProcPtr QueryValue; | ||
403 | - SyncBracketValuesProcPtr BracketValues; | ||
404 | -} SysCounterInfo; | ||
405 | - | ||
406 | struct _SyncTrigger; | ||
407 | |||
408 | typedef Bool | ||
409 | @@ -108,55 +82,6 @@ | ||
410 | typedef void | ||
411 | (*SyncCounterDestroyedProcPtr) (struct _SyncTrigger *pTrigger); | ||
412 | |||
413 | -typedef struct _SyncTrigger { | ||
414 | - SyncCounter *pCounter; | ||
415 | - CARD64 wait_value; /* wait value */ | ||
416 | - unsigned int value_type; /* Absolute or Relative */ | ||
417 | - unsigned int test_type; /* transition or Comparision type */ | ||
418 | - CARD64 test_value; /* trigger event threshold value */ | ||
419 | - SyncCheckTriggerProcPtr CheckTrigger; | ||
420 | - SyncTriggerFiredProcPtr TriggerFired; | ||
421 | - SyncCounterDestroyedProcPtr CounterDestroyed; | ||
422 | -} SyncTrigger; | ||
423 | - | ||
424 | -typedef struct _SyncTriggerList { | ||
425 | - SyncTrigger *pTrigger; | ||
426 | - struct _SyncTriggerList *next; | ||
427 | -} SyncTriggerList; | ||
428 | - | ||
429 | -typedef struct _SyncAlarmClientList { | ||
430 | - ClientPtr client; | ||
431 | - XID delete_id; | ||
432 | - struct _SyncAlarmClientList *next; | ||
433 | -} SyncAlarmClientList; | ||
434 | - | ||
435 | -typedef struct _SyncAlarm { | ||
436 | - SyncTrigger trigger; | ||
437 | - ClientPtr client; | ||
438 | - XSyncAlarm alarm_id; | ||
439 | - CARD64 delta; | ||
440 | - int events; | ||
441 | - int state; | ||
442 | - SyncAlarmClientList *pEventClients; | ||
443 | -} SyncAlarm; | ||
444 | - | ||
445 | -typedef struct { | ||
446 | - ClientPtr client; | ||
447 | - CARD32 delete_id; | ||
448 | - int num_waitconditions; | ||
449 | -} SyncAwaitHeader; | ||
450 | - | ||
451 | -typedef struct { | ||
452 | - SyncTrigger trigger; | ||
453 | - CARD64 event_threshold; | ||
454 | - SyncAwaitHeader *pHeader; | ||
455 | -} SyncAwait; | ||
456 | - | ||
457 | -typedef union { | ||
458 | - SyncAwaitHeader header; | ||
459 | - SyncAwait await; | ||
460 | -} SyncAwaitUnion; | ||
461 | - | ||
462 | pointer | ||
463 | SyncCreateSystemCounter(char *name, | ||
464 | CARD64 inital_value, | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/devfs.patch b/meta/packages/xorg-xserver/xserver-kdrive/devfs.patch new file mode 100644 index 0000000000..a6238126c0 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/devfs.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- xserver/hw/kdrive/linux/linux.c~devfs | ||
7 | +++ xserver/hw/kdrive/linux/linux.c | ||
8 | @@ -82,10 +82,10 @@ | ||
9 | vtno = kdVirtualTerminal; | ||
10 | else | ||
11 | { | ||
12 | - if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0) | ||
13 | + if ((fd = open("/dev/vc/0",O_WRONLY,0)) < 0) | ||
14 | { | ||
15 | FatalError( | ||
16 | - "LinuxInit: Cannot open /dev/tty0 (%s)\n", | ||
17 | + "LinuxInit: Cannot open /dev/tty/0 (%s)\n", | ||
18 | strerror(errno)); | ||
19 | } | ||
20 | if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) || | ||
21 | @@ -96,7 +96,7 @@ | ||
22 | } | ||
23 | close(fd); | ||
24 | |||
25 | - sprintf(vtname,"/dev/tty%d",vtno); /* /dev/tty1-64 */ | ||
26 | + sprintf(vtname,"/dev/vc/%d",vtno); /* /dev/tty1-64 */ | ||
27 | |||
28 | if ((LinuxConsoleFd = open(vtname, O_RDWR|O_NDELAY, 0)) < 0) | ||
29 | { | ||
30 | @@ -113,7 +113,7 @@ | ||
31 | * | ||
32 | * Why is this needed? | ||
33 | */ | ||
34 | - LinuxCheckChown ("/dev/tty0"); | ||
35 | + LinuxCheckChown ("/dev/vc/0"); | ||
36 | /* | ||
37 | * Linux doesn't switch to an active vt after the last close of a vt, | ||
38 | * so we do this ourselves by remembering which is active now. | ||
39 | @@ -453,7 +453,7 @@ | ||
40 | activeVT = -1; | ||
41 | } | ||
42 | close(LinuxConsoleFd); /* make the vt-manager happy */ | ||
43 | - fd = open ("/dev/tty0", O_RDWR|O_NDELAY, 0); | ||
44 | + fd = open ("/dev/vc/0", O_RDWR|O_NDELAY, 0); | ||
45 | if (fd >= 0) | ||
46 | { | ||
47 | memset (&vts, '\0', sizeof (vts)); /* valgrind */ | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/disable-apm.patch b/meta/packages/xorg-xserver/xserver-kdrive/disable-apm.patch new file mode 100644 index 0000000000..bd8842721b --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/disable-apm.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | --- xserver/hw/kdrive/linux/linux.c.orig 2005-04-23 15:56:13.988849232 +0000 | ||
2 | +++ xserver/hw/kdrive/linux/linux.c 2005-04-23 15:57:05.001094192 +0000 | ||
3 | @@ -342,7 +342,7 @@ | ||
4 | /* | ||
5 | * Open the APM driver | ||
6 | */ | ||
7 | - LinuxApmFd = open ("/dev/apm_bios", 2); | ||
8 | + /*LinuxApmFd = open ("/dev/apm_bios", 2); | ||
9 | if (LinuxApmFd < 0 && errno == ENOENT) | ||
10 | LinuxApmFd = open ("/dev/misc/apm_bios", 2); | ||
11 | if (LinuxApmFd >= 0) | ||
12 | @@ -352,7 +352,7 @@ | ||
13 | RegisterBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0); | ||
14 | AddEnabledDevice (LinuxApmFd); | ||
15 | } | ||
16 | - | ||
17 | + */ | ||
18 | /* | ||
19 | * now get the VT | ||
20 | */ | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/disable-xf86-dga-xorgcfg.patch b/meta/packages/xorg-xserver/xserver-kdrive/disable-xf86-dga-xorgcfg.patch new file mode 100644 index 0000000000..9c43e52ead --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/disable-xf86-dga-xorgcfg.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | --- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 | ||
2 | +++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 | ||
3 | @@ -505,7 +505,11 @@ | ||
4 | XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la' | ||
5 | |||
6 | dnl Core modules for most extensions, et al. | ||
7 | +if test "$KDRIVE" = yes; then | ||
8 | +REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto" | ||
9 | +else | ||
10 | REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto" | ||
11 | +fi | ||
12 | REQUIRED_LIBS="xfont xau fontenc" | ||
13 | |||
14 | AM_CONDITIONAL(XV, [test "x$XV" = xyes]) | ||
15 | @@ -1514,7 +1526,9 @@ | ||
16 | AC_SUBST(XKB_COMPILED_DIR) | ||
17 | |||
18 | dnl and the rest of these are generic, so they're in config.h | ||
19 | +if test ! x"$KDRIVE" = xyes; then | ||
20 | AC_DEFINE(XFreeXDGA, 1, [Build XDGA support]) | ||
21 | +fi | ||
22 | AC_DEFINE(XResExtension, 1, [Build XRes extension]) | ||
23 | |||
24 | dnl CYGWIN does not define fd_set if _POSIX_SOURCE is defined | ||
25 | @@ -1534,10 +1548,12 @@ | ||
26 | |||
27 | AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix]) | ||
28 | |||
29 | +if test ! "x$KDRIVE" = xyes ; then | ||
30 | dnl xorgconfig CLI configuration utility | ||
31 | PKG_CHECK_MODULES([XORGCONFIG_DEP], [xkbfile x11]) | ||
32 | AC_SUBST(XORGCONFIG_DEP_CFLAGS) | ||
33 | AC_SUBST(XORGCONFIG_DEP_LIBS) | ||
34 | +fi | ||
35 | |||
36 | dnl xorgcfg GUI configuration utility | ||
37 | AC_ARG_ENABLE(xorgcfg, AS_HELP_STRING([--enable-xorgcfg], | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/enable-builtin-fonts.patch b/meta/packages/xorg-xserver/xserver-kdrive/enable-builtin-fonts.patch new file mode 100644 index 0000000000..13a6c2c954 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/enable-builtin-fonts.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | --- xorg-server-X11R7.1-1.1.0/dix/dixfonts.c.orig 2006-06-08 14:49:12.158684250 +0200 | ||
2 | +++ xorg-server-X11R7.1-1.1.0/dix/dixfonts.c 2006-06-08 14:49:52.493205000 +0200 | ||
3 | @@ -52,8 +52,8 @@ | ||
4 | /* $Xorg: dixfonts.c,v 1.4 2000/08/17 19:48:18 cpqbld Exp $ */ | ||
5 | |||
6 | #define NEED_REPLIES | ||
7 | #ifdef HAVE_DIX_CONFIG_H | ||
8 | -#include <dix-config.h> | ||
9 | +#include <kdrive-config.h> | ||
10 | #endif | ||
11 | |||
12 | #include <X11/X.h> | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch b/meta/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch new file mode 100644 index 0000000000..e488657b74 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | --- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 | ||
2 | +++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 | ||
3 | @@ -1438,6 +1446,10 @@ | ||
4 | fi | ||
5 | |||
6 | - # tslib... | ||
7 | + AC_CHECK_HEADERS([tslib.h]) | ||
8 | + if test "$ac_cv_header_tslib_h" = yes; then | ||
9 | + AC_DEFINE(TSLIB, 1, [Build kdrive with tslib support]) | ||
10 | + AC_DEFINE(TOUCHSCREEN, 1, [Build kdrive with touchscreen support]) | ||
11 | + fi | ||
12 | |||
13 | # damage shadow extension glx (NOTYET) fb mi | ||
14 | KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src' | ||
15 | @@ -1467,7 +1479,7 @@ | ||
16 | AC_SUBST(KDRIVE_CFLAGS) | ||
17 | AC_SUBST(KDRIVE_PURE_LIBS) | ||
18 | AC_SUBST(KDRIVE_LIBS) | ||
19 | -AM_CONDITIONAL(TSLIB, false) | ||
20 | +AM_CONDITIONAL(TSLIB, [test x"$ac_cv_header_tslib_h" = xyes]) | ||
21 | AM_CONDITIONAL(H3600_TS, false) | ||
22 | AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes]) | ||
23 | AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes]) | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/epson.patch b/meta/packages/xorg-xserver/xserver-kdrive/epson.patch new file mode 100644 index 0000000000..07009bdc40 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/epson.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- xserver.orig/hw/kdrive/epson/epson13806stub.c 2004-10-20 10:20:51.000000000 +0200 | ||
2 | +++ xserver/hw/kdrive/epson/epson13806stub.c 2005-03-17 14:38:22.000000000 +0100 | ||
3 | @@ -55,7 +55,7 @@ | ||
4 | { | ||
5 | KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); | ||
6 | #ifdef TOUCHSCREEN | ||
7 | - KdInitTouchScreen (&TsFuncs); | ||
8 | + KdAddMouseDriver (&TsFuncs); | ||
9 | #endif | ||
10 | } | ||
11 | |||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch b/meta/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch new file mode 100644 index 0000000000..eaf7ddec36 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch | |||
@@ -0,0 +1,241 @@ | |||
1 | Index: xserver/miext/shadow/shrotate.c | ||
2 | =================================================================== | ||
3 | RCS file: /scratch/openbsd/cvs/XF4/xc/programs/Xserver/miext/shadow/shrotate.c,v | ||
4 | retrieving revision 1.2 | ||
5 | diff -u -r1.2 shrotate.c | ||
6 | --- xserver/miext/shadow/shrotate.c 3 Nov 2004 00:09:54 -0000 1.2 | ||
7 | +++ xserver/miext/shadow/shrotate.c 20 Sep 2005 23:07:58 -0000 | ||
8 | @@ -45,6 +45,106 @@ | ||
9 | #define TOP_TO_BOTTOM 2 | ||
10 | #define BOTTOM_TO_TOP -2 | ||
11 | |||
12 | + | ||
13 | +static void | ||
14 | +shadowUpdateRotatePackedSubRectangle(shadowBufPtr pBuf, | ||
15 | + FbBits *shaLine, int shaFirstShift, | ||
16 | + int shaStepOverX, int shaStepOverY, | ||
17 | + int shaStepDownX, int shaStepDownY, | ||
18 | + int shaBpp, FbBits shaMask, | ||
19 | + ScreenPtr pScreen, | ||
20 | + int scr_x1, int scr_y, | ||
21 | + int scr_h, int scr_w, | ||
22 | + int pixelsPerBits) | ||
23 | +{ | ||
24 | + FbBits *sha; | ||
25 | + int shaShift; | ||
26 | + int scr_x; | ||
27 | + int w; | ||
28 | + | ||
29 | + /* | ||
30 | + * Copy the bits, always write across the physical frame buffer | ||
31 | + * to take advantage of write combining. | ||
32 | + */ | ||
33 | + while (scr_h--) | ||
34 | + { | ||
35 | + int p; | ||
36 | + FbBits bits; | ||
37 | + FbBits *win; | ||
38 | + int i; | ||
39 | + CARD32 winSize; | ||
40 | + | ||
41 | + sha = shaLine; | ||
42 | + shaShift = shaFirstShift; | ||
43 | + w = scr_w; | ||
44 | + scr_x = scr_x1 * shaBpp >> FB_SHIFT; | ||
45 | + | ||
46 | + while (w) | ||
47 | + { | ||
48 | + /* | ||
49 | + * Map some of this line | ||
50 | + */ | ||
51 | + win = (FbBits *) (*pBuf->window) (pScreen, | ||
52 | + scr_y, | ||
53 | + scr_x << 2, | ||
54 | + SHADOW_WINDOW_WRITE, | ||
55 | + &winSize, | ||
56 | + pBuf->closure); | ||
57 | + i = (winSize >> 2); | ||
58 | + if (i > w) | ||
59 | + i = w; | ||
60 | + w -= i; | ||
61 | + scr_x += i; | ||
62 | + /* | ||
63 | + * Copy the portion of the line mapped | ||
64 | + */ | ||
65 | + while (i--) | ||
66 | + { | ||
67 | + bits = 0; | ||
68 | + p = pixelsPerBits; | ||
69 | + /* | ||
70 | + * Build one word of output from multiple inputs | ||
71 | + */ | ||
72 | + while (p--) | ||
73 | + { | ||
74 | + bits = FbScrLeft(bits, shaBpp); | ||
75 | + bits |= FbScrRight (*sha, shaShift) & shaMask; | ||
76 | + | ||
77 | + shaShift -= shaStepOverX; | ||
78 | + if (shaShift >= FB_UNIT) | ||
79 | + { | ||
80 | + shaShift -= FB_UNIT; | ||
81 | + sha--; | ||
82 | + } | ||
83 | + else if (shaShift < 0) | ||
84 | + { | ||
85 | + shaShift += FB_UNIT; | ||
86 | + sha++; | ||
87 | + } | ||
88 | + sha += shaStepOverY; | ||
89 | + } | ||
90 | + *win++ = bits; | ||
91 | + } | ||
92 | + } | ||
93 | + scr_y++; | ||
94 | + shaFirstShift -= shaStepDownX; | ||
95 | + if (shaFirstShift >= FB_UNIT) | ||
96 | + { | ||
97 | + shaFirstShift -= FB_UNIT; | ||
98 | + shaLine--; | ||
99 | + } | ||
100 | + else if (shaFirstShift < 0) | ||
101 | + { | ||
102 | + shaFirstShift += FB_UNIT; | ||
103 | + shaLine++; | ||
104 | + } | ||
105 | + shaLine += shaStepDownY; | ||
106 | + } | ||
107 | +} | ||
108 | + | ||
109 | +#define BLOCKSIZE_HEIGHT 32 | ||
110 | +#define BLOCKSIZE_WIDTH 32 | ||
111 | + | ||
112 | void | ||
113 | shadowUpdateRotatePacked (ScreenPtr pScreen, | ||
114 | shadowBufPtr pBuf) | ||
115 | @@ -61,7 +161,6 @@ | ||
116 | int sha_x1 = 0, sha_y1 = 0; | ||
117 | int scr_x1 = 0, scr_x2 = 0, scr_y1 = 0, scr_y2 = 0, scr_w, scr_h; | ||
118 | int scr_x, scr_y; | ||
119 | - int w; | ||
120 | int pixelsPerBits; | ||
121 | int pixelsMask; | ||
122 | FbStride shaStepOverY = 0, shaStepDownY = 0; | ||
123 | @@ -221,86 +320,46 @@ | ||
124 | ((sha_x1 * shaBpp) >> FB_SHIFT)); | ||
125 | |||
126 | /* | ||
127 | - * Copy the bits, always write across the physical frame buffer | ||
128 | - * to take advantage of write combining. | ||
129 | + * Copy in blocks of size BLOCKSIZE_WIDTH x BLOCKSIZE_HEIGHT | ||
130 | + * to reduce the number of cache misses when rotating 90 or | ||
131 | + * 270 degrees. | ||
132 | */ | ||
133 | - while (scr_h--) | ||
134 | + for (scr_y = scr_y1; scr_y < scr_y2; scr_y += BLOCKSIZE_HEIGHT) | ||
135 | { | ||
136 | - int p; | ||
137 | - FbBits bits; | ||
138 | - FbBits *win; | ||
139 | - int i; | ||
140 | - CARD32 winSize; | ||
141 | - | ||
142 | sha = shaLine; | ||
143 | shaShift = shaFirstShift; | ||
144 | - w = scr_w; | ||
145 | - scr_x = scr_x1 * shaBpp >> FB_SHIFT; | ||
146 | |||
147 | - while (w) | ||
148 | + for (scr_x = scr_x1; scr_x < scr_x2; scr_x += BLOCKSIZE_WIDTH) | ||
149 | { | ||
150 | - /* | ||
151 | - * Map some of this line | ||
152 | - */ | ||
153 | - win = (FbBits *) (*pBuf->window) (pScreen, | ||
154 | - scr_y, | ||
155 | - scr_x << 2, | ||
156 | - SHADOW_WINDOW_WRITE, | ||
157 | - &winSize, | ||
158 | - pBuf->closure); | ||
159 | - i = (winSize >> 2); | ||
160 | - if (i > w) | ||
161 | - i = w; | ||
162 | - w -= i; | ||
163 | - scr_x += i; | ||
164 | - /* | ||
165 | - * Copy the portion of the line mapped | ||
166 | - */ | ||
167 | - while (i--) | ||
168 | - { | ||
169 | - bits = 0; | ||
170 | - p = pixelsPerBits; | ||
171 | - /* | ||
172 | - * Build one word of output from multiple inputs | ||
173 | - * | ||
174 | - * Note that for 90/270 rotations, this will walk | ||
175 | - * down the shadow hitting each scanline once. | ||
176 | - * This is probably not very efficient. | ||
177 | - */ | ||
178 | - while (p--) | ||
179 | - { | ||
180 | - bits = FbScrLeft(bits, shaBpp); | ||
181 | - bits |= FbScrRight (*sha, shaShift) & shaMask; | ||
182 | + int h = BLOCKSIZE_HEIGHT; | ||
183 | + int w = BLOCKSIZE_WIDTH; | ||
184 | |||
185 | - shaShift -= shaStepOverX; | ||
186 | - if (shaShift >= FB_UNIT) | ||
187 | - { | ||
188 | - shaShift -= FB_UNIT; | ||
189 | - sha--; | ||
190 | - } | ||
191 | - else if (shaShift < 0) | ||
192 | - { | ||
193 | - shaShift += FB_UNIT; | ||
194 | - sha++; | ||
195 | - } | ||
196 | - sha += shaStepOverY; | ||
197 | - } | ||
198 | - *win++ = bits; | ||
199 | - } | ||
200 | - } | ||
201 | - scr_y++; | ||
202 | - shaFirstShift -= shaStepDownX; | ||
203 | - if (shaFirstShift >= FB_UNIT) | ||
204 | - { | ||
205 | - shaFirstShift -= FB_UNIT; | ||
206 | - shaLine--; | ||
207 | - } | ||
208 | - else if (shaFirstShift < 0) | ||
209 | - { | ||
210 | - shaFirstShift += FB_UNIT; | ||
211 | - shaLine++; | ||
212 | + if (scr_y + h > scr_y2) | ||
213 | + h = scr_y2 - scr_y; | ||
214 | + if (scr_x + w > scr_x2) | ||
215 | + w = scr_x2 - scr_x; | ||
216 | + w = (w * shaBpp) >> FB_SHIFT; | ||
217 | + | ||
218 | + shadowUpdateRotatePackedSubRectangle | ||
219 | + (pBuf, | ||
220 | + sha, shaShift, | ||
221 | + shaStepOverX, shaStepOverY, | ||
222 | + shaStepDownX, shaStepDownY, | ||
223 | + shaBpp, shaMask, | ||
224 | + pScreen, | ||
225 | + scr_x, scr_y, | ||
226 | + h, w, | ||
227 | + pixelsPerBits); | ||
228 | + | ||
229 | + shaShift -= BLOCKSIZE_WIDTH * shaStepOverX; | ||
230 | + sha += BLOCKSIZE_WIDTH * shaStepOverY; | ||
231 | + sha -= (shaShift >> FB_SHIFT); | ||
232 | + shaShift &= FB_MASK; | ||
233 | } | ||
234 | - shaLine += shaStepDownY; | ||
235 | + shaFirstShift -= BLOCKSIZE_HEIGHT * shaStepDownX; | ||
236 | + shaLine += BLOCKSIZE_HEIGHT * shaStepDownY; | ||
237 | + shaLine -= (shaFirstShift >> FB_SHIFT); | ||
238 | + shaFirstShift &= FB_MASK; | ||
239 | } | ||
240 | } | ||
241 | } | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/fbdev-not-fix.patch b/meta/packages/xorg-xserver/xserver-kdrive/fbdev-not-fix.patch new file mode 100644 index 0000000000..f87e7cc2cd --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/fbdev-not-fix.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | --- xserver/hw/kdrive/fbdev/fbdev.c~ 2004-09-15 00:08:10.000000000 +0100 | ||
2 | +++ xserver/hw/kdrive/fbdev/fbdev.c 2004-11-13 17:47:02.000000000 +0000 | ||
3 | @@ -198,6 +198,11 @@ | ||
4 | return FALSE; | ||
5 | } | ||
6 | |||
7 | + /* Re-get the "fixed" parameters since they might have changed */ | ||
8 | + k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix); | ||
9 | + if (k < 0) | ||
10 | + perror ("FBIOGET_FSCREENINFO"); | ||
11 | + | ||
12 | /* Now get the new screeninfo */ | ||
13 | ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); | ||
14 | depth = priv->var.bits_per_pixel; | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/kdrive-evdev.patch b/meta/packages/xorg-xserver/xserver-kdrive/kdrive-evdev.patch new file mode 100644 index 0000000000..2dc22bf50e --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/kdrive-evdev.patch | |||
@@ -0,0 +1,515 @@ | |||
1 | # Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at | ||
2 | # http://lists.freedesktop.org/archives/xorg/2005-December/011635.html | ||
3 | diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/linux/evdev.c xserver/hw/kdrive/linux/evdev.c | ||
4 | --- xserver.original/hw/kdrive/linux/evdev.c 2005-12-16 10:36:05.000000000 -0200 | ||
5 | +++ xserver/hw/kdrive/linux/evdev.c 2005-12-16 10:40:51.077410192 -0200 | ||
6 | @@ -31,9 +31,11 @@ | ||
7 | #include <X11/X.h> | ||
8 | #include <X11/Xproto.h> | ||
9 | #include <X11/Xpoll.h> | ||
10 | +#include <X11/keysym.h> | ||
11 | #include "inputstr.h" | ||
12 | #include "scrnintstr.h" | ||
13 | #include "kdrive.h" | ||
14 | +#include "kkeymap.h" | ||
15 | |||
16 | #define NUM_EVENTS 128 | ||
17 | #define ABS_UNSET -65535 | ||
18 | @@ -105,9 +107,10 @@ | ||
19 | { | ||
20 | KdMouseInfo *mi = closure; | ||
21 | Kevdev *ke = mi->driver; | ||
22 | - int i; | ||
23 | + int i, j; | ||
24 | struct input_event events[NUM_EVENTS]; | ||
25 | int n; | ||
26 | + int flags; | ||
27 | |||
28 | n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); | ||
29 | if (n <= 0) | ||
30 | @@ -115,22 +118,64 @@ | ||
31 | n /= sizeof (struct input_event); | ||
32 | for (i = 0; i < n; i++) | ||
33 | { | ||
34 | + flags = KD_MOUSE_DELTA | kdMouseInfo->buttonState; | ||
35 | switch (events[i].type) { | ||
36 | case EV_SYN: | ||
37 | break; | ||
38 | case EV_KEY: | ||
39 | - EvdevMotion (mi); | ||
40 | - ASSIGNBIT(ke->key,events[i].code, events[i].value); | ||
41 | - if (events[i].code < 0x100) | ||
42 | - ErrorF ("key %d %d\n", events[i].code, events[i].value); | ||
43 | - else | ||
44 | - ErrorF ("key 0x%x %d\n", events[i].code, events[i].value); | ||
45 | + if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) { | ||
46 | + switch (events[i].code) { | ||
47 | + case BTN_LEFT: | ||
48 | + if (events[i].value == 1) | ||
49 | + flags |= KD_BUTTON_1; | ||
50 | + else | ||
51 | + flags &= ~KD_BUTTON_1; | ||
52 | + break; | ||
53 | + case BTN_MIDDLE: | ||
54 | + if (events[i].value == 1) | ||
55 | + flags |= KD_BUTTON_2; | ||
56 | + else | ||
57 | + flags &= ~KD_BUTTON_2; | ||
58 | + break; | ||
59 | + case BTN_RIGHT: | ||
60 | + if (events[i].value == 1) | ||
61 | + flags |= KD_BUTTON_3; | ||
62 | + else | ||
63 | + flags &= ~KD_BUTTON_3; | ||
64 | + break; | ||
65 | + default: | ||
66 | + /* Unknow button */ | ||
67 | + break; | ||
68 | + } | ||
69 | + KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); | ||
70 | + } | ||
71 | break; | ||
72 | case EV_REL: | ||
73 | - ke->rel[events[i].code] += events[i].value; | ||
74 | + if (events[i].code == REL_X) { | ||
75 | + KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0); | ||
76 | + } | ||
77 | + else if (events[i].code == REL_Y) { | ||
78 | + KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value); | ||
79 | + } | ||
80 | + else if (events[i].code == REL_WHEEL) { | ||
81 | + for (j = 0; j < abs (events[i].value); j++) { | ||
82 | + if (events[i].value > 0) | ||
83 | + flags |= KD_BUTTON_4; | ||
84 | + else | ||
85 | + flags |= KD_BUTTON_5; | ||
86 | + | ||
87 | + KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); | ||
88 | + | ||
89 | + if (events[i].value > 0) | ||
90 | + flags &= ~KD_BUTTON_4; | ||
91 | + else | ||
92 | + flags &= ~KD_BUTTON_5; | ||
93 | + | ||
94 | + KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); | ||
95 | + } /* events[i].code == REL_WHEEL */ | ||
96 | + } | ||
97 | break; | ||
98 | case EV_ABS: | ||
99 | - ke->abs[events[i].code] = events[i].value; | ||
100 | break; | ||
101 | } | ||
102 | } | ||
103 | @@ -173,6 +218,12 @@ | ||
104 | fd = open (kdefaultEvdev[i], 2); | ||
105 | if (fd >= 0) | ||
106 | { | ||
107 | + if (ioctl (fd, EVIOCGRAB, 1) < 0) | ||
108 | + { | ||
109 | + close (fd); | ||
110 | + continue; | ||
111 | + } | ||
112 | + | ||
113 | mi->name = KdSaveString (kdefaultEvdev[i]); | ||
114 | break; | ||
115 | } | ||
116 | @@ -287,7 +338,319 @@ | ||
117 | EvdevFini, | ||
118 | }; | ||
119 | |||
120 | -#if 0 | ||
121 | +/* Keyboard */ | ||
122 | + | ||
123 | +int kbd_fd = -1; | ||
124 | +int EvdevInputType = 0; | ||
125 | + | ||
126 | +KeySym evdevKeymap[(194 - 1 + 1) * 2] = { | ||
127 | +/* These are directly mapped from DOS scanset 0 */ | ||
128 | +/* 1 8 */ XK_Escape, NoSymbol, | ||
129 | +/* 2 9 */ XK_1, XK_exclam, | ||
130 | +/* 3 10 */ XK_2, XK_at, | ||
131 | +/* 4 11 */ XK_3, XK_numbersign, | ||
132 | +/* 5 12 */ XK_4, XK_dollar, | ||
133 | +/* 6 13 */ XK_5, XK_percent, | ||
134 | +/* 7 14 */ XK_6, XK_asciicircum, | ||
135 | +/* 8 15 */ XK_7, XK_ampersand, | ||
136 | +/* 9 16 */ XK_8, XK_asterisk, | ||
137 | +/* 10 17 */ XK_9, XK_parenleft, | ||
138 | +/* 11 18 */ XK_0, XK_parenright, | ||
139 | +/* 12 19 */ XK_minus, XK_underscore, | ||
140 | +/* 13 20 */ XK_equal, XK_plus, | ||
141 | +/* 14 21 */ XK_BackSpace, NoSymbol, | ||
142 | +/* 15 22 */ XK_Tab, NoSymbol, | ||
143 | +/* 16 23 */ XK_Q, NoSymbol, | ||
144 | +/* 17 24 */ XK_W, NoSymbol, | ||
145 | +/* 18 25 */ XK_E, NoSymbol, | ||
146 | +/* 19 26 */ XK_R, NoSymbol, | ||
147 | +/* 20 27 */ XK_T, NoSymbol, | ||
148 | +/* 21 28 */ XK_Y, NoSymbol, | ||
149 | +/* 22 29 */ XK_U, NoSymbol, | ||
150 | +/* 23 30 */ XK_I, NoSymbol, | ||
151 | +/* 24 31 */ XK_O, NoSymbol, | ||
152 | +/* 25 32 */ XK_P, NoSymbol, | ||
153 | +/* 26 33 */ XK_bracketleft, XK_braceleft, | ||
154 | +/* 27 34 */ XK_bracketright, XK_braceright, | ||
155 | +/* 28 35 */ XK_Return, NoSymbol, | ||
156 | +/* 29 36 */ XK_Control_L, NoSymbol, | ||
157 | +/* 30 37 */ XK_A, NoSymbol, | ||
158 | +/* 31 38 */ XK_S, NoSymbol, | ||
159 | +/* 32 39 */ XK_D, NoSymbol, | ||
160 | +/* 33 40 */ XK_F, NoSymbol, | ||
161 | +/* 34 41 */ XK_G, NoSymbol, | ||
162 | +/* 35 42 */ XK_H, NoSymbol, | ||
163 | +/* 36 43 */ XK_J, NoSymbol, | ||
164 | +/* 37 44 */ XK_K, NoSymbol, | ||
165 | +/* 38 45 */ XK_L, NoSymbol, | ||
166 | +/* 39 46 */ XK_semicolon, XK_colon, | ||
167 | +/* 40 47 */ XK_apostrophe, XK_quotedbl, | ||
168 | +/* 41 48 */ XK_grave, XK_asciitilde, | ||
169 | +/* 42 49 */ XK_Shift_L, NoSymbol, | ||
170 | +/* 43 50 */ XK_backslash, XK_bar, | ||
171 | +/* 44 51 */ XK_Z, NoSymbol, | ||
172 | +/* 45 52 */ XK_X, NoSymbol, | ||
173 | +/* 46 53 */ XK_C, NoSymbol, | ||
174 | +/* 47 54 */ XK_V, NoSymbol, | ||
175 | +/* 48 55 */ XK_B, NoSymbol, | ||
176 | +/* 49 56 */ XK_N, NoSymbol, | ||
177 | +/* 50 57 */ XK_M, NoSymbol, | ||
178 | +/* 51 58 */ XK_comma, XK_less, | ||
179 | +/* 52 59 */ XK_period, XK_greater, | ||
180 | +/* 53 60 */ XK_slash, XK_question, | ||
181 | +/* 54 61 */ XK_Shift_R, NoSymbol, | ||
182 | +/* 55 62 */ XK_KP_Multiply, NoSymbol, | ||
183 | +/* 56 63 */ XK_Alt_L, XK_Meta_L, | ||
184 | +/* 57 64 */ XK_space, NoSymbol, | ||
185 | +/* 58 65 */ XK_Caps_Lock, NoSymbol, | ||
186 | +/* 59 66 */ XK_F1, NoSymbol, | ||
187 | +/* 60 67 */ XK_F2, NoSymbol, | ||
188 | +/* 61 68 */ XK_F3, NoSymbol, | ||
189 | +/* 62 69 */ XK_F4, NoSymbol, | ||
190 | +/* 63 70 */ XK_F5, NoSymbol, | ||
191 | +/* 64 71 */ XK_F6, NoSymbol, | ||
192 | +/* 65 72 */ XK_F7, NoSymbol, | ||
193 | +/* 66 73 */ XK_F8, NoSymbol, | ||
194 | +/* 67 74 */ XK_F9, NoSymbol, | ||
195 | +/* 68 75 */ XK_F10, NoSymbol, | ||
196 | +/* 69 76 */ XK_Break, XK_Pause, | ||
197 | +/* 70 77 */ XK_Scroll_Lock, NoSymbol, | ||
198 | +/* 71 78 */ XK_KP_Home, XK_KP_7, | ||
199 | +/* 72 79 */ XK_KP_Up, XK_KP_8, | ||
200 | +/* 73 80 */ XK_KP_Page_Up, XK_KP_9, | ||
201 | +/* 74 81 */ XK_KP_Subtract, NoSymbol, | ||
202 | +/* 75 82 */ XK_KP_Left, XK_KP_4, | ||
203 | +/* 76 83 */ XK_KP_5, NoSymbol, | ||
204 | +/* 77 84 */ XK_KP_Right, XK_KP_6, | ||
205 | +/* 78 85 */ XK_KP_Add, NoSymbol, | ||
206 | +/* 79 86 */ XK_KP_End, XK_KP_1, | ||
207 | +/* 80 87 */ XK_KP_Down, XK_KP_2, | ||
208 | +/* 81 88 */ XK_KP_Page_Down, XK_KP_3, | ||
209 | +/* 82 89 */ XK_KP_Insert, XK_KP_0, | ||
210 | +/* 83 90 */ XK_KP_Delete, XK_KP_Decimal, | ||
211 | +/* 84 91 */ NoSymbol, NoSymbol, | ||
212 | +/* 85 92 */ NoSymbol, NoSymbol, | ||
213 | +/* 86 93 */ NoSymbol, NoSymbol, | ||
214 | +/* 87 94 */ XK_F11, NoSymbol, | ||
215 | +/* 88 95 */ XK_F12, NoSymbol, | ||
216 | + | ||
217 | +/* These are remapped from the extended set (using ExtendMap) */ | ||
218 | + | ||
219 | +/* 89 96 */ XK_Control_R, NoSymbol, | ||
220 | +/* 90 97 */ XK_KP_Enter, NoSymbol, | ||
221 | +/* 91 98 */ XK_KP_Divide, NoSymbol, | ||
222 | +/* 92 99 */ XK_Sys_Req, XK_Print, | ||
223 | +/* 93 100 */ XK_Alt_R, XK_Meta_R, | ||
224 | +/* 94 101 */ XK_Num_Lock, NoSymbol, | ||
225 | +/* 95 102 */ XK_Home, NoSymbol, | ||
226 | +/* 96 103 */ XK_Up, NoSymbol, | ||
227 | +/* 97 104 */ XK_Page_Up, NoSymbol, | ||
228 | +/* 98 105 */ XK_Left, NoSymbol, | ||
229 | +/* 99 106 */ XK_Right, NoSymbol, | ||
230 | +/* 100 107 */ XK_End, NoSymbol, | ||
231 | +/* 101 108 */ XK_Down, NoSymbol, | ||
232 | +/* 102 109 */ XK_Page_Down, NoSymbol, | ||
233 | +/* 103 110 */ XK_Insert, NoSymbol, | ||
234 | +/* 104 111 */ XK_Delete, NoSymbol, | ||
235 | +/* 105 112 */ XK_Super_L, NoSymbol, | ||
236 | +/* 106 113 */ XK_Super_R, NoSymbol, | ||
237 | +/* 107 114 */ XK_Menu, NoSymbol, | ||
238 | +/* 108 115 */ NoSymbol, NoSymbol, | ||
239 | +/* 109 116 */ NoSymbol, NoSymbol, | ||
240 | +/* 110 117 */ NoSymbol, NoSymbol, | ||
241 | +/* 111 118 */ NoSymbol, NoSymbol, | ||
242 | +/* 112 119 */ NoSymbol, NoSymbol, | ||
243 | + | ||
244 | +/* 113 120 */ NoSymbol, NoSymbol, | ||
245 | +/* 114 121 */ NoSymbol, NoSymbol, | ||
246 | +/* 115 122 */ NoSymbol, NoSymbol, | ||
247 | +/* 116 123 */ NoSymbol, NoSymbol, | ||
248 | +/* 117 124 */ NoSymbol, NoSymbol, | ||
249 | +/* 118 125 */ NoSymbol, NoSymbol, | ||
250 | +/* 119 126 */ NoSymbol, NoSymbol, | ||
251 | +/* 120 127 */ NoSymbol, NoSymbol, | ||
252 | +/* 121 128 */ NoSymbol, NoSymbol, | ||
253 | +/* 122 129 */ NoSymbol, NoSymbol, | ||
254 | +/* 123 130 */ NoSymbol, NoSymbol, | ||
255 | +/* 124 131 */ NoSymbol, NoSymbol, | ||
256 | +/* 125 132 */ NoSymbol, NoSymbol, | ||
257 | +/* 126 133 */ NoSymbol, NoSymbol, | ||
258 | +/* 127 134 */ NoSymbol, NoSymbol, | ||
259 | +/* 128 135 */ NoSymbol, NoSymbol, | ||
260 | +/* 129 136 */ NoSymbol, NoSymbol, | ||
261 | +/* 130 137 */ NoSymbol, NoSymbol, | ||
262 | +/* 131 138 */ NoSymbol, NoSymbol, | ||
263 | +/* 132 139 */ NoSymbol, NoSymbol, | ||
264 | +/* 133 140 */ NoSymbol, NoSymbol, | ||
265 | +/* 134 141 */ NoSymbol, NoSymbol, | ||
266 | +/* 135 142 */ NoSymbol, NoSymbol, | ||
267 | +/* 136 143 */ NoSymbol, NoSymbol, | ||
268 | +/* 137 144 */ NoSymbol, NoSymbol, | ||
269 | +/* 138 145 */ NoSymbol, NoSymbol, | ||
270 | +/* 139 146 */ NoSymbol, NoSymbol, | ||
271 | +/* 140 147 */ NoSymbol, NoSymbol, | ||
272 | +/* 141 148 */ NoSymbol, NoSymbol, | ||
273 | +/* 142 149 */ NoSymbol, NoSymbol, | ||
274 | +/* 143 150 */ NoSymbol, NoSymbol, | ||
275 | +/* 144 151 */ NoSymbol, NoSymbol, | ||
276 | +/* 145 152 */ NoSymbol, NoSymbol, | ||
277 | +/* 146 153 */ NoSymbol, NoSymbol, | ||
278 | +/* 147 154 */ NoSymbol, NoSymbol, | ||
279 | +/* 148 155 */ NoSymbol, NoSymbol, | ||
280 | +/* 149 156 */ NoSymbol, NoSymbol, | ||
281 | +/* 150 157 */ NoSymbol, NoSymbol, | ||
282 | +/* 151 158 */ NoSymbol, NoSymbol, | ||
283 | +/* 152 159 */ NoSymbol, NoSymbol, | ||
284 | +/* 153 160 */ NoSymbol, NoSymbol, | ||
285 | +/* 154 161 */ NoSymbol, NoSymbol, | ||
286 | +/* 155 162 */ NoSymbol, NoSymbol, | ||
287 | +/* 156 163 */ NoSymbol, NoSymbol, | ||
288 | +/* 157 164 */ NoSymbol, NoSymbol, | ||
289 | +/* 158 165 */ NoSymbol, NoSymbol, | ||
290 | +/* 159 166 */ NoSymbol, NoSymbol, | ||
291 | +/* 160 167 */ NoSymbol, NoSymbol, | ||
292 | +/* 161 168 */ NoSymbol, NoSymbol, | ||
293 | +/* 162 169 */ NoSymbol, NoSymbol, | ||
294 | +/* 163 170 */ NoSymbol, NoSymbol, | ||
295 | +/* 164 171 */ NoSymbol, NoSymbol, | ||
296 | +/* 165 172 */ NoSymbol, NoSymbol, | ||
297 | +/* 166 173 */ NoSymbol, NoSymbol, | ||
298 | +/* 167 174 */ NoSymbol, NoSymbol, | ||
299 | +/* 168 175 */ NoSymbol, NoSymbol, | ||
300 | +/* 169 176 */ NoSymbol, NoSymbol, | ||
301 | +/* 170 177 */ NoSymbol, NoSymbol, | ||
302 | +/* 171 178 */ NoSymbol, NoSymbol, | ||
303 | +/* 172 179 */ NoSymbol, NoSymbol, | ||
304 | +/* 173 180 */ NoSymbol, NoSymbol, | ||
305 | +/* 174 181 */ NoSymbol, NoSymbol, | ||
306 | +/* 175 182 */ NoSymbol, NoSymbol, | ||
307 | +/* 176 183 */ NoSymbol, NoSymbol, | ||
308 | +/* 177 184 */ NoSymbol, NoSymbol, | ||
309 | +/* 178 185 */ NoSymbol, NoSymbol, | ||
310 | +/* 179 186 */ NoSymbol, NoSymbol, | ||
311 | +/* 180 187 */ NoSymbol, NoSymbol, | ||
312 | +/* 181 188 */ NoSymbol, NoSymbol, | ||
313 | +/* 182 189 */ NoSymbol, NoSymbol, | ||
314 | +/* 183 190 */ NoSymbol, NoSymbol, | ||
315 | +/* 184 191 */ NoSymbol, NoSymbol, | ||
316 | +/* 185 192 */ NoSymbol, NoSymbol, | ||
317 | +/* 186 193 */ NoSymbol, NoSymbol, | ||
318 | +/* 187 194 */ NoSymbol, NoSymbol, | ||
319 | +/* 188 195 */ NoSymbol, NoSymbol, | ||
320 | +/* 189 196 */ NoSymbol, NoSymbol, | ||
321 | +/* 190 197 */ NoSymbol, NoSymbol, | ||
322 | +/* 191 198 */ NoSymbol, NoSymbol, | ||
323 | +/* 192 199 */ NoSymbol, NoSymbol, | ||
324 | +/* 193 200 */ NoSymbol, NoSymbol, | ||
325 | +/* 194 201 */ NoSymbol, NoSymbol, | ||
326 | +}; | ||
327 | + | ||
328 | +static void | ||
329 | +EvdevKbdRead (int fd, void *closure) | ||
330 | +{ | ||
331 | + int i, n; | ||
332 | + struct input_event events[NUM_EVENTS]; | ||
333 | + | ||
334 | + n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event)); | ||
335 | + if (n <= 0) | ||
336 | + return; | ||
337 | + | ||
338 | + n /= sizeof (struct input_event); | ||
339 | + | ||
340 | + for (i = 0; i < n; i++) | ||
341 | + { | ||
342 | + if (events[i].type == EV_KEY) | ||
343 | + KdEnqueueKeyboardEvent (events[i].code, !events[i].value); | ||
344 | + } | ||
345 | +} | ||
346 | + | ||
347 | +static void | ||
348 | +EvdevKbdLoad (void) | ||
349 | +{ | ||
350 | + kdMinScanCode = 0; | ||
351 | + kdMaxScanCode = 193; | ||
352 | + kdKeymapWidth = 2; | ||
353 | + memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap)); | ||
354 | +} | ||
355 | + | ||
356 | +static int | ||
357 | +EvdevKbdInit (void) | ||
358 | +{ | ||
359 | + int fd, i; | ||
360 | + | ||
361 | + if (!EvdevInputType) | ||
362 | + EvdevInputType = KdAllocInputType (); | ||
363 | + | ||
364 | + if (!kdKeyboard) | ||
365 | + { | ||
366 | + for (i = 0; i < NUM_DEFAULT_EVDEV; i++) | ||
367 | + { | ||
368 | + fd = open (kdefaultEvdev[i], 2); | ||
369 | + if (fd >= 0) | ||
370 | + { | ||
371 | + kdKeyboard = KdSaveString (kdefaultEvdev[i]); | ||
372 | + break; | ||
373 | + } | ||
374 | + } | ||
375 | + } | ||
376 | + else | ||
377 | + { | ||
378 | + fd = open (kdKeyboard, O_RDWR); | ||
379 | + if (fd < 0) | ||
380 | + return FALSE; | ||
381 | + } | ||
382 | + | ||
383 | + if (ioctl (fd, EVIOCGRAB, 1) < 0) | ||
384 | + { | ||
385 | + close (fd); | ||
386 | + return FALSE; | ||
387 | + } | ||
388 | + | ||
389 | + if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL)) | ||
390 | + return FALSE; | ||
391 | + | ||
392 | + kbd_fd = fd; | ||
393 | + return TRUE; | ||
394 | +} | ||
395 | + | ||
396 | +static void | ||
397 | +EvdevKbdFini (void) | ||
398 | +{ | ||
399 | +} | ||
400 | + | ||
401 | +static void | ||
402 | +EvdevKbdLeds (int leds) | ||
403 | +{ | ||
404 | + struct input_event event; | ||
405 | + | ||
406 | + memset(&event, 0, sizeof(event)); | ||
407 | + | ||
408 | + event.type = EV_LED; | ||
409 | + event.code = LED_CAPSL; | ||
410 | + event.value = leds & (1 << 0) ? 1 : 0; | ||
411 | + write(kbd_fd, (char *) &event, sizeof(event)); | ||
412 | + | ||
413 | + event.type = EV_LED; | ||
414 | + event.code = LED_NUML; | ||
415 | + event.value = leds & (1 << 1) ? 1 : 0; | ||
416 | + write(kbd_fd, (char *) &event, sizeof(event)); | ||
417 | + | ||
418 | + event.type = EV_LED; | ||
419 | + event.code = LED_SCROLLL; | ||
420 | + event.value = leds & (1 << 2) ? 1 : 0; | ||
421 | + write(kbd_fd, (char *) &event, sizeof(event)); | ||
422 | + | ||
423 | + event.type = EV_LED; | ||
424 | + event.code = LED_COMPOSE; | ||
425 | + event.value = leds & (1 << 3) ? 1 : 0; | ||
426 | + write(kbd_fd, (char *) &event, sizeof(event)); | ||
427 | +} | ||
428 | + | ||
429 | +static void | ||
430 | +EvdevKbdBell (int volume, int frequency, int duration) | ||
431 | +{ | ||
432 | +} | ||
433 | + | ||
434 | KdKeyboardFuncs LinuxEvdevKeyboardFuncs = { | ||
435 | EvdevKbdLoad, | ||
436 | EvdevKbdInit, | ||
437 | @@ -296,4 +659,4 @@ | ||
438 | EvdevKbdFini, | ||
439 | 0, | ||
440 | }; | ||
441 | -#endif | ||
442 | + | ||
443 | diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.c xserver/hw/kdrive/src/kdrive.c | ||
444 | --- xserver.original/hw/kdrive/src/kdrive.c 2005-12-16 10:36:07.000000000 -0200 | ||
445 | +++ xserver/hw/kdrive/src/kdrive.c 2005-12-16 10:37:09.000000000 -0200 | ||
446 | @@ -73,6 +73,7 @@ | ||
447 | Bool kdEnabled; | ||
448 | int kdSubpixelOrder; | ||
449 | int kdVirtualTerminal = -1; | ||
450 | +char *kdKeyboard = 0; | ||
451 | Bool kdSwitchPending; | ||
452 | char *kdSwitchCmd; | ||
453 | DDXPointRec kdOrigin; | ||
454 | @@ -795,6 +796,14 @@ | ||
455 | UseMsg (); | ||
456 | return 2; | ||
457 | } | ||
458 | + if (!strcmp (argv[i], "-keyboard")) | ||
459 | + { | ||
460 | + if ((i+1) < argc) | ||
461 | + kdKeyboard = argv[i+1]; | ||
462 | + else | ||
463 | + UseMsg (); | ||
464 | + return 2; | ||
465 | + } | ||
466 | if (!strcmp (argv[i], "-rgba")) | ||
467 | { | ||
468 | if ((i+1) < argc) | ||
469 | diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.h xserver/hw/kdrive/src/kdrive.h | ||
470 | --- xserver.original/hw/kdrive/src/kdrive.h 2005-12-16 10:36:07.000000000 -0200 | ||
471 | +++ xserver/hw/kdrive/src/kdrive.h 2005-12-16 10:37:09.000000000 -0200 | ||
472 | @@ -416,6 +416,7 @@ | ||
473 | extern Bool kdDisableZaphod; | ||
474 | extern Bool kdDontZap; | ||
475 | extern int kdVirtualTerminal; | ||
476 | +extern char *kdKeyboard; | ||
477 | extern char *kdSwitchCmd; | ||
478 | extern KdOsFuncs *kdOsFuncs; | ||
479 | |||
480 | @@ -769,7 +770,7 @@ | ||
481 | ProcessInputEvents (void); | ||
482 | |||
483 | extern KdMouseFuncs LinuxMouseFuncs; | ||
484 | -extern KdMouseFuncs LinuxEvdevFuncs; | ||
485 | +extern KdMouseFuncs LinuxEvdevMouseFuncs; | ||
486 | extern KdMouseFuncs Ps2MouseFuncs; | ||
487 | extern KdMouseFuncs BusMouseFuncs; | ||
488 | extern KdMouseFuncs MsMouseFuncs; | ||
489 | @@ -777,6 +778,7 @@ | ||
490 | extern KdMouseFuncs TsFuncs; | ||
491 | #endif | ||
492 | extern KdKeyboardFuncs LinuxKeyboardFuncs; | ||
493 | +extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs; | ||
494 | extern KdOsFuncs LinuxFuncs; | ||
495 | |||
496 | extern KdMouseFuncs VxWorksMouseFuncs; | ||
497 | diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kinput.c xserver/hw/kdrive/src/kinput.c | ||
498 | --- xserver.original/hw/kdrive/src/kinput.c 2005-12-16 10:36:07.000000000 -0200 | ||
499 | +++ xserver/hw/kdrive/src/kinput.c 2005-12-16 10:37:09.000000000 -0200 | ||
500 | @@ -1300,6 +1300,7 @@ | ||
501 | xE.u.u.type = KeyPress; | ||
502 | xE.u.u.detail = key_code; | ||
503 | |||
504 | +#ifndef XKB | ||
505 | switch (KEYCOL1(key_code)) | ||
506 | { | ||
507 | case XK_Num_Lock: | ||
508 | @@ -1313,6 +1314,7 @@ | ||
509 | else | ||
510 | xE.u.u.type = KeyPress; | ||
511 | } | ||
512 | +#endif | ||
513 | |||
514 | /* | ||
515 | * Check pressed keys which are already down | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/kdrive-use-evdev.patch b/meta/packages/xorg-xserver/xserver-kdrive/kdrive-use-evdev.patch new file mode 100644 index 0000000000..d4f885ee26 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/kdrive-use-evdev.patch | |||
@@ -0,0 +1,53 @@ | |||
1 | --- xserver/hw/kdrive/fbdev/fbinit.c~ 2006-01-31 17:09:33.000000000 +0100 | ||
2 | +++ xserver/hw/kdrive/fbdev/fbinit.c 2006-01-31 17:11:55.000000000 +0100 | ||
3 | @@ -28,6 +28,8 @@ | ||
4 | #endif | ||
5 | #include <fbdev.h> | ||
6 | |||
7 | +extern int use_evdev; | ||
8 | + | ||
9 | void | ||
10 | InitCard (char *name) | ||
11 | { | ||
12 | @@ -45,7 +47,10 @@ | ||
13 | void | ||
14 | InitInput (int argc, char **argv) | ||
15 | { | ||
16 | - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); | ||
17 | + if (use_evdev) | ||
18 | + KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs); | ||
19 | + else | ||
20 | + KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); | ||
21 | #ifdef TOUCHSCREEN | ||
22 | KdAddMouseDriver (&TsFuncs); | ||
23 | #endif | ||
24 | --- xserver/hw/kdrive/src/kdrive.c.orig 2006-01-31 17:13:28.000000000 +0100 | ||
25 | +++ xserver/hw/kdrive/src/kdrive.c 2006-01-31 17:15:28.000000000 +0100 | ||
26 | @@ -44,6 +44,8 @@ | ||
27 | #include "dpmsproc.h" | ||
28 | #endif | ||
29 | |||
30 | +int use_evdev = 0; | ||
31 | + | ||
32 | typedef struct _kdDepths { | ||
33 | CARD8 depth; | ||
34 | CARD8 bpp; | ||
35 | @@ -687,6 +689,7 @@ | ||
36 | ErrorF("-videoTest Start the server, pause momentarily and exit\n"); | ||
37 | ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n"); | ||
38 | ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n"); | ||
39 | + ErrorF("-use-evdev Use Linux evdev input\n"); | ||
40 | ErrorF("-switchCmd Command to execute on vt switch\n"); | ||
41 | ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n"); | ||
42 | ErrorF("vtxx Use virtual terminal xx instead of the next available\n"); | ||
43 | @@ -796,6 +799,10 @@ | ||
44 | UseMsg (); | ||
45 | return 2; | ||
46 | } | ||
47 | + if (!strcmp (argv[i], "-use-evdev")) | ||
48 | + { | ||
49 | + use_evdev = 1; | ||
50 | + } | ||
51 | if (!strcmp (argv[i], "-keyboard")) | ||
52 | { | ||
53 | if ((i+1) < argc) | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/kmode.patch b/meta/packages/xorg-xserver/xserver-kdrive/kmode.patch new file mode 100644 index 0000000000..5ad3e4e277 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/kmode.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | --- /tmp/kmode.c 2005-06-27 14:46:19.716843288 +0200 | ||
2 | +++ xserver/hw/kdrive/src/kmode.c 2005-06-27 14:46:30.070269328 +0200 | ||
3 | @@ -41,6 +41,11 @@ | ||
4 | 1, 11, 14, KdSyncNegative, | ||
5 | }, | ||
6 | |||
7 | + { 240, 320, 64, 0, | ||
8 | + 0, 0, 0, KdSyncNegative, | ||
9 | + 0, 0, 0, KdSyncNegative, | ||
10 | + }, | ||
11 | + | ||
12 | /* Other VESA modes */ | ||
13 | { 640, 350, 85, 31500, /* VESA */ | ||
14 | 32, 96, 192, KdSyncPositive, /* 26.413 */ | ||
15 | @@ -80,6 +85,13 @@ | ||
16 | 16, 48, 160, KdSyncNegative, /* 31.469 */ | ||
17 | 10, 33, 45, KdSyncNegative, /* 59.940 */ | ||
18 | }, | ||
19 | + | ||
20 | + | ||
21 | + { 480, 640, 60, 0, /* VESA */ | ||
22 | + 0, 0, 0, KdSyncNegative, /* 31.469 */ | ||
23 | + 0, 0, 0, KdSyncNegative, /* 59.940 */ | ||
24 | + }, | ||
25 | + | ||
26 | |||
27 | /* 800x600 modes */ | ||
28 | { 800, 600, 85, 56250, /* VESA */ | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/no-serial-probing.patch b/meta/packages/xorg-xserver/xserver-kdrive/no-serial-probing.patch new file mode 100644 index 0000000000..35ccadaa8d --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/no-serial-probing.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | --- xserver/hw/kdrive/linux/mouse.c.orig 2004-05-13 14:25:51.000000000 -0700 | ||
2 | +++ xserver/hw/kdrive/linux/mouse.c 2005-09-22 12:20:47.000000000 -0700 | ||
3 | @@ -927,8 +927,10 @@ char *kdefaultMouse[] = { | ||
4 | "/dev/psaux", | ||
5 | "/dev/input/mice", | ||
6 | "/dev/adbmouse", | ||
7 | +#ifdef BREAK_MY_SERIAL_CONSOLE | ||
8 | "/dev/ttyS0", | ||
9 | "/dev/ttyS1", | ||
10 | +#endif | ||
11 | }; | ||
12 | |||
13 | #define NUM_DEFAULT_MOUSE (sizeof (kdefaultMouse) / sizeof (kdefaultMouse[0])) | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/onlyfb.patch b/meta/packages/xorg-xserver/xserver-kdrive/onlyfb.patch new file mode 100644 index 0000000000..e773324981 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/onlyfb.patch | |||
@@ -0,0 +1,21 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- xserver/hw/kdrive/Makefile.am~onlyfb | ||
7 | +++ xserver/hw/kdrive/Makefile.am | ||
8 | @@ -17,12 +17,4 @@ | ||
9 | SUBDIRS = \ | ||
10 | src \ | ||
11 | linux \ | ||
12 | - $(XSDL_SUBDIRS) \ | ||
13 | - $(FBDEV_SUBDIRS) \ | ||
14 | - $(VESA_SUBDIRS) \ | ||
15 | - $(XEPHYR_SUBDIRS) \ | ||
16 | - ati \ | ||
17 | - fake \ | ||
18 | - ephyr \ | ||
19 | - i810 \ | ||
20 | - epson | ||
21 | + $(FBDEV_SUBDIRS) | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch b/meta/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch new file mode 100644 index 0000000000..d9ef51c5ba --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | --- git/Makefile.am.orig 2006-06-09 16:01:51.000000000 +0200 | ||
2 | +++ git/Makefile.am 2006-06-09 16:02:59.000000000 +0200 | ||
3 | @@ -35,6 +35,10 @@ | ||
4 | XINPUT_DIR=Xi | ||
5 | endif | ||
6 | |||
7 | +if XKB | ||
8 | +XKB_DIR=xkb | ||
9 | +endif | ||
10 | + | ||
11 | if DBE | ||
12 | DBE_DIR=dbe | ||
13 | endif | ||
14 | @@ -51,7 +55,7 @@ | ||
15 | randr \ | ||
16 | render \ | ||
17 | $(XINPUT_DIR) \ | ||
18 | - xkb \ | ||
19 | + $(XKB_DIR) \ | ||
20 | $(DBE_DIR) \ | ||
21 | $(MFB_DIR) \ | ||
22 | $(AFB_DIR) \ | ||
23 | --- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 | ||
24 | +++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 | ||
25 | @@ -418,6 +418,7 @@ | ||
26 | AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--disable-xf86bigfont], [Build XF86 Big Font extension (default: enabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=yes]) | ||
27 | AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMS=$enableval], [DPMSExtension=yes]) | ||
28 | AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes]) | ||
29 | +AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes]) | ||
30 | |||
31 | dnl DDXes. | ||
32 | AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) | ||
33 | @@ -739,12 +740,15 @@ | ||
34 | |||
35 | AC_DEFINE(SHAPE, 1, [Support SHAPE extension]) | ||
36 | |||
37 | -AC_DEFINE(XKB, 1, [Build XKB]) | ||
38 | -AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) | ||
39 | -AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) | ||
40 | -REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" | ||
41 | -XKB_LIB='$(top_builddir)/xkb/libxkb.la' | ||
42 | -XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' | ||
43 | +AM_CONDITIONAL(XKB, [test "x$XKB" = xyes]) | ||
44 | +if test "x$XKB" = xyes; then | ||
45 | + AC_DEFINE(XKB, 1, [Build XKB]) | ||
46 | + AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) | ||
47 | + AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) | ||
48 | + REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" | ||
49 | + XKB_LIB='$(top_builddir)/xkb/libxkb.la' | ||
50 | + XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' | ||
51 | +fi | ||
52 | |||
53 | AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1, | ||
54 | [Do not have `strcasecmp'.])) | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/xcalibrate.patch b/meta/packages/xorg-xserver/xserver-kdrive/xcalibrate.patch new file mode 100644 index 0000000000..3f8cd4ea5c --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/xcalibrate.patch | |||
@@ -0,0 +1,351 @@ | |||
1 | --- xorg-server-X11R7.1-1.1.0/mi/miinitext.c.orig 2006-06-22 14:11:46.000000000 +0200 | ||
2 | +++ xorg-server-X11R7.1-1.1.0/mi/miinitext.c 2006-06-22 15:26:17.000000000 +0200 | ||
3 | @@ -385,6 +385,9 @@ | ||
4 | #ifdef DMXEXT | ||
5 | extern void DMXExtensionInit(INITARGS); | ||
6 | #endif | ||
7 | +#ifdef XCALIBRATE | ||
8 | +extern void XCalibrateExtensionInit(INITARGS); | ||
9 | +#endif | ||
10 | #ifdef XEVIE | ||
11 | extern void XevieExtensionInit(INITARGS); | ||
12 | #endif | ||
13 | @@ -679,6 +682,9 @@ | ||
14 | #ifdef DAMAGE | ||
15 | if (!noDamageExtension) DamageExtensionInit(); | ||
16 | #endif | ||
17 | +#ifdef XCALIBRATE | ||
18 | + XCalibrateExtensionInit (); | ||
19 | +#endif | ||
20 | } | ||
21 | |||
22 | void | ||
23 | --- xorg-server-X11R7.1-1.1.0/configure.ac.orig 2006-06-15 17:03:14.000000000 +0200 | ||
24 | +++ xorg-server-X11R7.1-1.1.0/configure.ac 2006-06-24 08:21:25.000000000 +0200 | ||
25 | @@ -407,6 +407,7 @@ | ||
26 | AC_ARG_ENABLE(xf86vidmode, AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: enabled)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=yes]) | ||
27 | AC_ARG_ENABLE(xf86misc, AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: enabled)]), [XF86MISC=$enableval], [XF86MISC=yes]) | ||
28 | AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=yes]) | ||
29 | +AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--disable-xcalibrate], [Build XCalibrate extension (default: enabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=yes]) | ||
30 | AC_ARG_ENABLE(xevie, AS_HELP_STRING([--disable-xevie], [Build XEvIE extension (default: enabled)]), [XEVIE=$enableval], [XEVIE=yes]) | ||
31 | AC_ARG_ENABLE(lbx, AS_HELP_STRING([--disable-lbx], [Build LBX extension (default: no)]), [LBX=$enableval], [LBX=no]) | ||
32 | AC_ARG_ENABLE(appgroup, AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=yes]) | ||
33 | @@ -641,6 +642,12 @@ | ||
34 | AC_DEFINE(XCSECURITY, 1, [Build Security extension]) | ||
35 | fi | ||
36 | |||
37 | +AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes]) | ||
38 | +if test "x$XCALIBRATE" = xyes; then | ||
39 | + AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension]) | ||
40 | + REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateext" | ||
41 | +fi | ||
42 | + | ||
43 | AM_CONDITIONAL(XEVIE, [test "x$XEVIE" = xyes]) | ||
44 | if test "x$XEVIE" = xyes; then | ||
45 | AC_DEFINE(XEVIE, 1, [Build XEvIE extension]) | ||
46 | @@ -1466,7 +1473,7 @@ | ||
47 | KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a' | ||
48 | KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a' | ||
49 | KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' | ||
50 | - KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB" | ||
51 | + KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_PURE_LIBS $KDRIVE_OS_LIB $KDRIVE_STUB_LIB" | ||
52 | |||
53 | # check if we can build Xephyr | ||
54 | PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"]) | ||
55 | --- xorg-server-X11R7.1-1.1.0/include/kdrive-config.h.in.orig 2006-06-22 14:22:07.000000000 +0200 | ||
56 | +++ xorg-server-X11R7.1-1.1.0/include/kdrive-config.h.in 2006-06-22 14:33:29.000000000 +0200 | ||
57 | @@ -22,4 +22,7 @@ | ||
58 | /* Support tslib touchscreen abstraction library */ | ||
59 | #undef TSLIB | ||
60 | |||
61 | +/* Enable XCalibrate extension */ | ||
62 | +#undef XCALIBRATE | ||
63 | + | ||
64 | #endif /* _KDRIVE_CONFIG_H_ */ | ||
65 | --- xorg-server-X11R7.1-1.1.0/Xext/Makefile.am.orig 2006-06-15 17:06:43.000000000 +0200 | ||
66 | +++ xorg-server-X11R7.1-1.1.0/Xext/Makefile.am 2006-06-15 18:12:40.000000000 +0200 | ||
67 | @@ -78,6 +78,11 @@ | ||
68 | AM_CFLAGS += -DDEFAULTPOLICYFILE=\"$(SERVERCONFIGdir)/SecurityPolicy\" | ||
69 | endif | ||
70 | |||
71 | +XCALIBRATE_SRCS = xcalibrate.c | ||
72 | +if XCALIBRATE | ||
73 | +BUILTIN_SRCS += $(XCALIBRATE_SRCS) | ||
74 | +endif | ||
75 | + | ||
76 | # X EVent Interception Extension: allows accessibility helpers & composite | ||
77 | # managers to intercept events from input devices and transform as needed | ||
78 | # before the clients see them. | ||
79 | @@ -155,6 +160,7 @@ | ||
80 | $(SCREENSAVER_SRCS) \ | ||
81 | $(XCSECURITY_SRCS) \ | ||
82 | $(XINERAMA_SRCS) \ | ||
83 | + $(XCALIBRATE_SRCS) \ | ||
84 | $(XEVIE_SRCS) \ | ||
85 | $(XPRINT_SRCS) \ | ||
86 | $(APPGROUP_SRCS) \ | ||
87 | --- xorg-server-X11R7.1-1.1.0/Xext/xcalibrate.c.orig 2006-06-15 17:05:19.000000000 +0200 | ||
88 | +++ xorg-server-X11R7.1-1.1.0/Xext/xcalibrate.c 2006-06-22 15:15:09.000000000 +0200 | ||
89 | @@ -0,0 +1,262 @@ | ||
90 | +/* | ||
91 | + * $Id: xcalibrate.c,v 3.1 2004/06/02 20:49:50 pb Exp $ | ||
92 | + * | ||
93 | + * Copyright © 2003 Philip Blundell | ||
94 | + * | ||
95 | + * Permission to use, copy, modify, distribute, and sell this software and its | ||
96 | + * documentation for any purpose is hereby granted without fee, provided that | ||
97 | + * the above copyright notice appear in all copies and that both that | ||
98 | + * copyright notice and this permission notice appear in supporting | ||
99 | + * documentation, and that the name of Philip Blundell not be used in | ||
100 | + * advertising or publicity pertaining to distribution of the software without | ||
101 | + * specific, written prior permission. Philip Blundell makes no | ||
102 | + * representations about the suitability of this software for any purpose. It | ||
103 | + * is provided "as is" without express or implied warranty. | ||
104 | + * | ||
105 | + * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, | ||
106 | + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO | ||
107 | + * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR | ||
108 | + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, | ||
109 | + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER | ||
110 | + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | ||
111 | + * PERFORMANCE OF THIS SOFTWARE. | ||
112 | + */ | ||
113 | + | ||
114 | +#ifdef HAVE_KDRIVE_CONFIG_H | ||
115 | +#include <kdrive-config.h> | ||
116 | +#endif | ||
117 | + | ||
118 | +#define NEED_EVENTS | ||
119 | +#define NEED_REPLIES | ||
120 | + | ||
121 | +#include <X11/X.h> | ||
122 | +#include <X11/Xproto.h> | ||
123 | +#include "misc.h" | ||
124 | +#include "os.h" | ||
125 | +#include "dixstruct.h" | ||
126 | +#include "extnsionst.h" | ||
127 | +#include "swaprep.h" | ||
128 | + | ||
129 | +#include <X11/extensions/xcalibrateproto.h> | ||
130 | +#include <X11/extensions/xcalibratewire.h> | ||
131 | + | ||
132 | +extern void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure); | ||
133 | +extern void *tslib_raw_event_closure; | ||
134 | + | ||
135 | +static CARD8 XCalibrateReqCode; | ||
136 | +int XCalibrateEventBase; | ||
137 | +int XCalibrateReqBase; | ||
138 | +int XCalibrateErrorBase; | ||
139 | + | ||
140 | +static ClientPtr xcalibrate_client; | ||
141 | + | ||
142 | +static void | ||
143 | +xcalibrate_event_hook (int x, int y, int pressure, void *closure) | ||
144 | +{ | ||
145 | + ClientPtr pClient = (ClientPtr) closure; | ||
146 | + xXCalibrateRawTouchscreenEvent ev; | ||
147 | + | ||
148 | + ev.type = XCalibrateEventBase + X_XCalibrateRawTouchscreen; | ||
149 | + ev.sequenceNumber = pClient->sequence; | ||
150 | + ev.x = x; | ||
151 | + ev.y = y; | ||
152 | + ev.pressure = pressure; | ||
153 | + | ||
154 | + if (!pClient->clientGone) | ||
155 | + WriteEventsToClient (pClient, 1, (xEvent *) &ev); | ||
156 | +} | ||
157 | + | ||
158 | +static int | ||
159 | +ProcXCalibrateQueryVersion (ClientPtr client) | ||
160 | +{ | ||
161 | + REQUEST(xXCalibrateQueryVersionReq); | ||
162 | + xXCalibrateQueryVersionReply rep; | ||
163 | + CARD16 client_major, client_minor; /* not used */ | ||
164 | + | ||
165 | + REQUEST_SIZE_MATCH (xXCalibrateQueryVersionReq); | ||
166 | + | ||
167 | + client_major = stuff->majorVersion; | ||
168 | + client_minor = stuff->minorVersion; | ||
169 | + | ||
170 | + fprintf(stderr, "%s(): called\n", __func__); | ||
171 | + | ||
172 | + rep.type = X_Reply; | ||
173 | + rep.length = 0; | ||
174 | + rep.sequenceNumber = client->sequence; | ||
175 | + rep.majorVersion = XCALIBRATE_MAJOR_VERSION; | ||
176 | + rep.minorVersion = XCALIBRATE_MINOR_VERSION; | ||
177 | + if (client->swapped) { | ||
178 | + int n; | ||
179 | + swaps(&rep.sequenceNumber, n); | ||
180 | + swapl(&rep.length, n); | ||
181 | + swaps(&rep.majorVersion, n); | ||
182 | + swaps(&rep.minorVersion, n); | ||
183 | + } | ||
184 | + WriteToClient(client, sizeof (xXCalibrateQueryVersionReply), (char *)&rep); | ||
185 | + return (client->noClientException); | ||
186 | +} | ||
187 | + | ||
188 | +static int | ||
189 | +SProcXCalibrateQueryVersion (ClientPtr client) | ||
190 | +{ | ||
191 | + REQUEST(xXCalibrateQueryVersionReq); | ||
192 | + int n; | ||
193 | + | ||
194 | + REQUEST_SIZE_MATCH (xXCalibrateQueryVersionReq); | ||
195 | + swaps(&stuff->majorVersion,n); | ||
196 | + swaps(&stuff->minorVersion,n); | ||
197 | + return ProcXCalibrateQueryVersion(client); | ||
198 | +} | ||
199 | + | ||
200 | +static int | ||
201 | +ProcXCalibrateSetRawMode (ClientPtr client) | ||
202 | +{ | ||
203 | + REQUEST(xXCalibrateRawModeReq); | ||
204 | + xXCalibrateRawModeReply rep; | ||
205 | + | ||
206 | + REQUEST_SIZE_MATCH (xXCalibrateRawModeReq); | ||
207 | + | ||
208 | + memset (&rep, 0, sizeof (rep)); | ||
209 | + rep.type = X_Reply; | ||
210 | + rep.sequenceNumber = client->sequence; | ||
211 | + | ||
212 | + if (stuff->on) | ||
213 | + { | ||
214 | + if (xcalibrate_client == NULL) | ||
215 | + { | ||
216 | + /* Start calibrating. */ | ||
217 | + xcalibrate_client = client; | ||
218 | + tslib_raw_event_hook = xcalibrate_event_hook; | ||
219 | + tslib_raw_event_closure = client; | ||
220 | + rep.status = GrabSuccess; | ||
221 | + } | ||
222 | + else | ||
223 | + { | ||
224 | + rep.status = AlreadyGrabbed; | ||
225 | + } | ||
226 | + } | ||
227 | + else | ||
228 | + { | ||
229 | + if (xcalibrate_client == client) | ||
230 | + { | ||
231 | + /* Stop calibrating. */ | ||
232 | + xcalibrate_client = NULL; | ||
233 | + tslib_raw_event_hook = NULL; | ||
234 | + tslib_raw_event_closure = NULL; | ||
235 | + rep.status = GrabSuccess; | ||
236 | + | ||
237 | + /* Cycle input off and on to reload configuration. */ | ||
238 | + KdDisableInput (); | ||
239 | + KdEnableInput (); | ||
240 | + } | ||
241 | + else | ||
242 | + { | ||
243 | + rep.status = AlreadyGrabbed; | ||
244 | + } | ||
245 | + } | ||
246 | + | ||
247 | + if (client->swapped) | ||
248 | + { | ||
249 | + int n; | ||
250 | + | ||
251 | + swaps (&rep.sequenceNumber, n); | ||
252 | + swaps (&rep.status, n); | ||
253 | + } | ||
254 | + WriteToClient(client, sizeof (rep), (char *) &rep); | ||
255 | + return (client->noClientException); | ||
256 | +} | ||
257 | + | ||
258 | + | ||
259 | +static int | ||
260 | +SProcXCalibrateSetRawMode (ClientPtr client) | ||
261 | +{ | ||
262 | + REQUEST(xXCalibrateRawModeReq); | ||
263 | + int n; | ||
264 | + | ||
265 | + REQUEST_SIZE_MATCH (xXCalibrateRawModeReq); | ||
266 | + | ||
267 | + swaps(&stuff->on, n); | ||
268 | + | ||
269 | + return ProcXCalibrateSetRawMode(client); | ||
270 | +} | ||
271 | + | ||
272 | +static void | ||
273 | +XCalibrateResetProc (ExtensionEntry *extEntry) | ||
274 | +{ | ||
275 | +} | ||
276 | + | ||
277 | +static int | ||
278 | +ProcXCalibrateDispatch (ClientPtr client) | ||
279 | +{ | ||
280 | + REQUEST(xReq); | ||
281 | + switch (stuff->data) { | ||
282 | + case X_XCalibrateQueryVersion: | ||
283 | + return ProcXCalibrateQueryVersion(client); | ||
284 | + case X_XCalibrateRawMode: | ||
285 | + return ProcXCalibrateSetRawMode(client); | ||
286 | + default: break; | ||
287 | + } | ||
288 | + | ||
289 | + return BadRequest; | ||
290 | +} | ||
291 | + | ||
292 | +static int | ||
293 | +SProcXCalibrateDispatch (ClientPtr client) | ||
294 | +{ | ||
295 | + REQUEST(xReq); | ||
296 | + int n; | ||
297 | + | ||
298 | + swaps(&stuff->length,n); | ||
299 | + | ||
300 | + switch (stuff->data) { | ||
301 | + case X_XCalibrateQueryVersion: | ||
302 | + return SProcXCalibrateQueryVersion(client); | ||
303 | + case X_XCalibrateRawMode: | ||
304 | + return SProcXCalibrateSetRawMode(client); | ||
305 | + | ||
306 | + default: break; | ||
307 | + } | ||
308 | + | ||
309 | + return BadRequest; | ||
310 | +} | ||
311 | + | ||
312 | +static void | ||
313 | +XCalibrateClientCallback (CallbackListPtr *list, | ||
314 | + pointer closure, | ||
315 | + pointer data) | ||
316 | +{ | ||
317 | + NewClientInfoRec *clientinfo = (NewClientInfoRec *) data; | ||
318 | + ClientPtr pClient = clientinfo->client; | ||
319 | + | ||
320 | + if (clientinfo->setup == NULL | ||
321 | + && xcalibrate_client != NULL | ||
322 | + && xcalibrate_client == pClient) | ||
323 | + { | ||
324 | + /* Stop calibrating. */ | ||
325 | + xcalibrate_client = NULL; | ||
326 | + tslib_raw_event_hook = NULL; | ||
327 | + tslib_raw_event_closure = NULL; | ||
328 | + } | ||
329 | +} | ||
330 | + | ||
331 | +void | ||
332 | +XCalibrateExtensionInit(void) | ||
333 | +{ | ||
334 | + ExtensionEntry *extEntry; | ||
335 | + | ||
336 | + if (!AddCallback (&ClientStateCallback, XCalibrateClientCallback, 0)) | ||
337 | + return; | ||
338 | + | ||
339 | + extEntry = AddExtension(XCALIBRATE_NAME, XCalibrateNumberEvents, XCalibrateNumberErrors, | ||
340 | + ProcXCalibrateDispatch, SProcXCalibrateDispatch, | ||
341 | + XCalibrateResetProc, StandardMinorOpcode); | ||
342 | + | ||
343 | + if (!extEntry) | ||
344 | + return; | ||
345 | + | ||
346 | + XCalibrateReqCode = (unsigned char)extEntry->base; | ||
347 | + XCalibrateEventBase = extEntry->eventBase; | ||
348 | + XCalibrateErrorBase = extEntry->errorBase; | ||
349 | + | ||
350 | + xcalibrate_client = 0; | ||
351 | +} | ||
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/xserver-kdrive-poodle.patch b/meta/packages/xorg-xserver/xserver-kdrive/xserver-kdrive-poodle.patch new file mode 100644 index 0000000000..ce80a7e389 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/xserver-kdrive-poodle.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- xserver/hw/kdrive/fbdev/fbdev.c~xserver-kdrive-poodle.patch | ||
7 | +++ xserver/hw/kdrive/fbdev/fbdev.c | ||
8 | @@ -190,6 +190,7 @@ | ||
9 | var.nonstd = 0; | ||
10 | var.grayscale = 0; | ||
11 | |||
12 | + /* commented out for poodle | ||
13 | k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &var); | ||
14 | |||
15 | if (k < 0) | ||
16 | @@ -198,10 +199,11 @@ | ||
17 | return FALSE; | ||
18 | } | ||
19 | |||
20 | - /* Re-get the "fixed" parameters since they might have changed */ | ||
21 | + // Re-get the "fixed" parameters since they might have changed | ||
22 | k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix); | ||
23 | if (k < 0) | ||
24 | perror ("FBIOGET_FSCREENINFO"); | ||
25 | + */ | ||
26 | |||
27 | /* Now get the new screeninfo */ | ||
28 | ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); | ||
29 | @@ -659,13 +661,14 @@ | ||
30 | priv->var.activate = FB_ACTIVATE_NOW|FB_CHANGE_CMAP_VBL; | ||
31 | |||
32 | /* display it on the LCD */ | ||
33 | + /* commented out for poodle | ||
34 | k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &priv->var); | ||
35 | if (k < 0) | ||
36 | { | ||
37 | perror ("FBIOPUT_VSCREENINFO"); | ||
38 | return FALSE; | ||
39 | } | ||
40 | - | ||
41 | + */ | ||
42 | if (priv->fix.visual == FB_VISUAL_DIRECTCOLOR) | ||
43 | { | ||
44 | struct fb_cmap cmap; | ||