VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/7.0/X11/extensions/XKBproto.h@ 17234

最後變更 在這個檔案從17234是 17234,由 vboxsync 提交於 16 年 前

Additions/x11/x11include: blast! Corrected svn:keywords property on all files as per http://linserv.germany/vbox/wiki/SvnKeywords

  • 屬性 svn:eol-style 設為 native
檔案大小: 30.2 KB
 
1/* $Xorg: XKBproto.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
2/************************************************************
3Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
4
5Permission to use, copy, modify, and distribute this
6software and its documentation for any purpose and without
7fee is hereby granted, provided that the above copyright
8notice appear in all copies and that both that copyright
9notice and this permission notice appear in supporting
10documentation, and that the name of Silicon Graphics not be
11used in advertising or publicity pertaining to distribution
12of the software without specific prior written permission.
13Silicon Graphics makes no representation about the suitability
14of this software for any purpose. It is provided "as is"
15without any express or implied warranty.
16
17SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
18SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
19AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
20GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
21DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
22DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
23OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
24THE USE OR PERFORMANCE OF THIS SOFTWARE.
25
26********************************************************/
27
28#ifndef _XKBPROTO_H_
29#define _XKBPROTO_H_
30
31#include <X11/Xmd.h>
32#include <X11/extensions/XKB.h>
33
34#define Window CARD32
35#define Atom CARD32
36#define Time CARD32
37#define KeyCode CARD8
38#define KeySym CARD32
39
40#define XkbPaddedSize(n) ((((unsigned int)(n)+3) >> 2) << 2)
41
42typedef struct _xkbUseExtension {
43 CARD8 reqType;
44 CARD8 xkbReqType; /* always X_KBUseExtension */
45 CARD16 length B16;
46 CARD16 wantedMajor B16;
47 CARD16 wantedMinor B16;
48} xkbUseExtensionReq;
49#define sz_xkbUseExtensionReq 8
50
51typedef struct _xkbUseExtensionReply {
52 BYTE type; /* X_Reply */
53 BOOL supported;
54 CARD16 sequenceNumber B16;
55 CARD32 length B32;
56 CARD16 serverMajor B16;
57 CARD16 serverMinor B16;
58 CARD32 pad1 B32;
59 CARD32 pad2 B32;
60 CARD32 pad3 B32;
61 CARD32 pad4 B32;
62 CARD32 pad5 B32;
63} xkbUseExtensionReply;
64#define sz_xkbUseExtensionReply 32
65
66typedef struct _xkbSelectEvents {
67 CARD8 reqType;
68 CARD8 xkbReqType; /* X_KBSelectEvents */
69 CARD16 length B16;
70 CARD16 deviceSpec B16;
71 CARD16 affectWhich B16;
72 CARD16 clear B16;
73 CARD16 selectAll B16;
74 CARD16 affectMap B16;
75 CARD16 map B16;
76} xkbSelectEventsReq;
77#define sz_xkbSelectEventsReq 16
78
79typedef struct _xkbBell {
80 CARD8 reqType;
81 CARD8 xkbReqType; /* X_KBBell */
82 CARD16 length B16;
83 CARD16 deviceSpec B16;
84 CARD16 bellClass B16;
85 CARD16 bellID B16;
86 INT8 percent;
87 BOOL forceSound;
88 BOOL eventOnly;
89 CARD8 pad1;
90 INT16 pitch B16;
91 INT16 duration B16;
92 CARD16 pad2 B16;
93 Atom name B32;
94 Window window B32;
95} xkbBellReq;
96#define sz_xkbBellReq 28
97
98typedef struct _xkbGetState {
99 CARD8 reqType;
100 CARD8 xkbReqType; /* always X_KBGetState */
101 CARD16 length B16;
102 CARD16 deviceSpec B16;
103 CARD16 pad B16;
104} xkbGetStateReq;
105#define sz_xkbGetStateReq 8
106
107typedef struct _xkbGetStateReply {
108 BYTE type;
109 BYTE deviceID;
110 CARD16 sequenceNumber B16;
111 CARD32 length B32;
112 CARD8 mods;
113 CARD8 baseMods;
114 CARD8 latchedMods;
115 CARD8 lockedMods;
116 CARD8 group;
117 CARD8 lockedGroup;
118 INT16 baseGroup B16;
119 INT16 latchedGroup B16;
120 CARD8 compatState;
121 CARD8 grabMods;
122 CARD8 compatGrabMods;
123 CARD8 lookupMods;
124 CARD8 compatLookupMods;
125 CARD8 pad1;
126 CARD16 ptrBtnState B16;
127 CARD16 pad2 B16;
128 CARD32 pad3 B32;
129} xkbGetStateReply;
130#define sz_xkbGetStateReply 32
131
132typedef struct _xkbLatchLockState {
133 CARD8 reqType;
134 CARD8 xkbReqType; /* always X_KBLatchLockState */
135 CARD16 length B16;
136 CARD16 deviceSpec B16;
137 CARD8 affectModLocks;
138 CARD8 modLocks;
139 BOOL lockGroup;
140 CARD8 groupLock;
141 CARD8 affectModLatches;
142 CARD8 modLatches;
143 CARD8 pad;
144 BOOL latchGroup;
145 INT16 groupLatch B16;
146} xkbLatchLockStateReq;
147#define sz_xkbLatchLockStateReq 16
148
149typedef struct _xkbGetControls {
150 CARD8 reqType;
151 CARD8 xkbReqType; /* always X_KBGetControls */
152 CARD16 length B16;
153 CARD16 deviceSpec B16;
154 CARD16 pad B16;
155} xkbGetControlsReq;
156#define sz_xkbGetControlsReq 8
157
158typedef struct _xkbGetControlsReply {
159 BYTE type; /* X_Reply */
160 CARD8 deviceID;
161 CARD16 sequenceNumber B16;
162 CARD32 length B32;
163 CARD8 mkDfltBtn;
164 CARD8 numGroups;
165 CARD8 groupsWrap;
166 CARD8 internalMods;
167 CARD8 ignoreLockMods;
168 CARD8 internalRealMods;
169 CARD8 ignoreLockRealMods;
170 CARD8 pad1;
171 CARD16 internalVMods B16;
172 CARD16 ignoreLockVMods B16;
173 CARD16 repeatDelay B16;
174 CARD16 repeatInterval B16;
175 CARD16 slowKeysDelay B16;
176 CARD16 debounceDelay B16;
177 CARD16 mkDelay B16;
178 CARD16 mkInterval B16;
179 CARD16 mkTimeToMax B16;
180 CARD16 mkMaxSpeed B16;
181 INT16 mkCurve B16;
182 CARD16 axOptions B16;
183 CARD16 axTimeout B16;
184 CARD16 axtOptsMask B16;
185 CARD16 axtOptsValues B16;
186 CARD16 pad2 B16;
187 CARD32 axtCtrlsMask B32;
188 CARD32 axtCtrlsValues B32;
189 CARD32 enabledCtrls B32;
190 BYTE perKeyRepeat[XkbPerKeyBitArraySize];
191} xkbGetControlsReply;
192#define sz_xkbGetControlsReply 92
193
194typedef struct _xkbSetControls {
195 CARD8 reqType;
196 CARD8 xkbReqType; /* always X_KBSetControls */
197 CARD16 length B16;
198 CARD16 deviceSpec B16;
199 CARD8 affectInternalMods;
200 CARD8 internalMods;
201 CARD8 affectIgnoreLockMods;
202 CARD8 ignoreLockMods;
203 CARD16 affectInternalVMods B16;
204 CARD16 internalVMods B16;
205 CARD16 affectIgnoreLockVMods B16;
206 CARD16 ignoreLockVMods B16;
207 CARD8 mkDfltBtn;
208 CARD8 groupsWrap;
209 CARD16 axOptions B16;
210 CARD16 pad1 B16;
211 CARD32 affectEnabledCtrls B32;
212 CARD32 enabledCtrls B32;
213 CARD32 changeCtrls B32;
214 CARD16 repeatDelay B16;
215 CARD16 repeatInterval B16;
216 CARD16 slowKeysDelay B16;
217 CARD16 debounceDelay B16;
218 CARD16 mkDelay B16;
219 CARD16 mkInterval B16;
220 CARD16 mkTimeToMax B16;
221 CARD16 mkMaxSpeed B16;
222 INT16 mkCurve B16;
223 CARD16 axTimeout B16;
224 CARD32 axtCtrlsMask B32;
225 CARD32 axtCtrlsValues B32;
226 CARD16 axtOptsMask B16;
227 CARD16 axtOptsValues B16;
228 BYTE perKeyRepeat[XkbPerKeyBitArraySize];
229} xkbSetControlsReq;
230#define sz_xkbSetControlsReq 100
231
232typedef struct _xkbKTMapEntryWireDesc {
233 BOOL active;
234 CARD8 mask;
235 CARD8 level;
236 CARD8 realMods;
237 CARD16 virtualMods B16;
238 CARD16 pad B16;
239} xkbKTMapEntryWireDesc;
240#define sz_xkbKTMapEntryWireDesc 8
241
242typedef struct _xkbKTSetMapEntryWireDesc {
243 CARD8 level;
244 CARD8 realMods;
245 CARD16 virtualMods B16;
246} xkbKTSetMapEntryWireDesc;
247#define sz_xkbKTSetMapEntryWireDesc 4
248
249typedef struct _xkbModsWireDesc {
250 CARD8 mask; /* GetMap only */
251 CARD8 realMods;
252 CARD16 virtualMods B16;
253} xkbModsWireDesc;
254#define sz_xkbModsWireDesc 4
255
256typedef struct _xkbKeyTypeWireDesc {
257 CARD8 mask;
258 CARD8 realMods;
259 CARD16 virtualMods B16;
260 CARD8 numLevels;
261 CARD8 nMapEntries;
262 BOOL preserve;
263 CARD8 pad;
264} xkbKeyTypeWireDesc;
265#define sz_xkbKeyTypeWireDesc 8
266
267typedef struct _xkbSymMapWireDesc {
268 CARD8 ktIndex[XkbNumKbdGroups];
269 CARD8 groupInfo;
270 CARD8 width;
271 CARD16 nSyms B16;
272} xkbSymMapWireDesc;
273#define sz_xkbSymMapWireDesc 8
274
275typedef struct _xkbVModMapWireDesc {
276 KeyCode key;
277 CARD8 pad;
278 CARD16 vmods B16;
279} xkbVModMapWireDesc;
280#define sz_xkbVModMapWireDesc 4
281
282typedef struct _xkbBehaviorWireDesc {
283 CARD8 key;
284 CARD8 type;
285 CARD8 data;
286 CARD8 pad;
287} xkbBehaviorWireDesc;
288#define sz_xkbBehaviorWireDesc 4
289
290typedef struct _xkbActionWireDesc {
291 CARD8 type;
292 CARD8 data[7];
293} xkbActionWireDesc;
294#define sz_xkbActionWireDesc 8
295
296typedef struct _xkbGetMap {
297 CARD8 reqType;
298 CARD8 xkbReqType; /* always X_KBGetMap */
299 CARD16 length B16;
300 CARD16 deviceSpec B16;
301 CARD16 full B16;
302 CARD16 partial B16;
303 CARD8 firstType;
304 CARD8 nTypes;
305 KeyCode firstKeySym;
306 CARD8 nKeySyms;
307 KeyCode firstKeyAct;
308 CARD8 nKeyActs;
309 KeyCode firstKeyBehavior;
310 CARD8 nKeyBehaviors;
311 CARD16 virtualMods B16;
312 KeyCode firstKeyExplicit;
313 CARD8 nKeyExplicit;
314 KeyCode firstModMapKey;
315 CARD8 nModMapKeys;
316 KeyCode firstVModMapKey;
317 CARD8 nVModMapKeys;
318 CARD16 pad1 B16;
319} xkbGetMapReq;
320#define sz_xkbGetMapReq 28
321
322typedef struct _xkbGetMapReply {
323 CARD8 type; /* always X_Reply */
324 CARD8 deviceID;
325 CARD16 sequenceNumber B16;
326 CARD32 length B32;
327 CARD16 pad1 B16;
328 KeyCode minKeyCode;
329 KeyCode maxKeyCode;
330 CARD16 present B16;
331 CARD8 firstType;
332 CARD8 nTypes;
333 CARD8 totalTypes;
334 KeyCode firstKeySym;
335 CARD16 totalSyms B16;
336 CARD8 nKeySyms;
337 KeyCode firstKeyAct;
338 CARD16 totalActs B16;
339 CARD8 nKeyActs;
340 KeyCode firstKeyBehavior;
341 CARD8 nKeyBehaviors;
342 CARD8 totalKeyBehaviors;
343 KeyCode firstKeyExplicit;
344 CARD8 nKeyExplicit;
345 CARD8 totalKeyExplicit;
346 KeyCode firstModMapKey;
347 CARD8 nModMapKeys;
348 CARD8 totalModMapKeys;
349 KeyCode firstVModMapKey;
350 CARD8 nVModMapKeys;
351 CARD8 totalVModMapKeys;
352 CARD8 pad2;
353 CARD16 virtualMods B16;
354} xkbGetMapReply;
355#define sz_xkbGetMapReply 40
356
357#define XkbSetMapResizeTypes (1L<<0)
358#define XkbSetMapRecomputeActions (1L<<1)
359#define XkbSetMapAllFlags (0x3)
360
361typedef struct _xkbSetMap {
362 CARD8 reqType;
363 CARD8 xkbReqType; /* always X_KBSetMap */
364 CARD16 length B16;
365 CARD16 deviceSpec B16;
366 CARD16 present B16;
367 CARD16 flags B16;
368 KeyCode minKeyCode;
369 KeyCode maxKeyCode;
370 CARD8 firstType;
371 CARD8 nTypes;
372 KeyCode firstKeySym;
373 CARD8 nKeySyms;
374 CARD16 totalSyms B16;
375 KeyCode firstKeyAct;
376 CARD8 nKeyActs;
377 CARD16 totalActs B16;
378 KeyCode firstKeyBehavior;
379 CARD8 nKeyBehaviors;
380 CARD8 totalKeyBehaviors;
381 KeyCode firstKeyExplicit;
382 CARD8 nKeyExplicit;
383 CARD8 totalKeyExplicit;
384 KeyCode firstModMapKey;
385 CARD8 nModMapKeys;
386 CARD8 totalModMapKeys;
387 KeyCode firstVModMapKey;
388 CARD8 nVModMapKeys;
389 CARD8 totalVModMapKeys;
390 CARD16 virtualMods B16;
391} xkbSetMapReq;
392#define sz_xkbSetMapReq 36
393
394typedef struct _xkbSymInterpretWireDesc {
395 CARD32 sym B32;
396 CARD8 mods;
397 CARD8 match;
398 CARD8 virtualMod;
399 CARD8 flags;
400 xkbActionWireDesc act;
401} xkbSymInterpretWireDesc;
402#define sz_xkbSymInterpretWireDesc 16
403
404typedef struct _xkbGetCompatMap {
405 CARD8 reqType;
406 CARD8 xkbReqType; /* always X_KBGetCompatMap */
407 CARD16 length B16;
408 CARD16 deviceSpec B16;
409 CARD8 groups;
410 BOOL getAllSI;
411 CARD16 firstSI B16;
412 CARD16 nSI B16;
413} xkbGetCompatMapReq;
414#define sz_xkbGetCompatMapReq 12
415
416typedef struct _xkbGetCompatMapReply {
417 CARD8 type; /* always X_Reply */
418 CARD8 deviceID;
419 CARD16 sequenceNumber B16;
420 CARD32 length B32;
421 CARD8 groups;
422 CARD8 pad1;
423 CARD16 firstSI B16;
424 CARD16 nSI B16;
425 CARD16 nTotalSI B16;
426 CARD32 pad2 B32;
427 CARD32 pad3 B32;
428 CARD32 pad4 B32;
429 CARD32 pad5 B32;
430} xkbGetCompatMapReply;
431#define sz_xkbGetCompatMapReply 32
432
433typedef struct _xkbSetCompatMap {
434 CARD8 reqType;
435 CARD8 xkbReqType; /* always X_KBSetCompatMap */
436 CARD16 length B16;
437 CARD16 deviceSpec B16;
438 CARD8 pad1;
439 BOOL recomputeActions;
440 BOOL truncateSI;
441 CARD8 groups;
442 CARD16 firstSI B16;
443 CARD16 nSI B16;
444 CARD16 pad2 B16;
445} xkbSetCompatMapReq;
446#define sz_xkbSetCompatMapReq 16
447
448typedef struct _xkbGetIndicatorState {
449 CARD8 reqType;
450 CARD8 xkbReqType; /* always X_KBGetIndicatorState */
451 CARD16 length B16;
452 CARD16 deviceSpec B16;
453 CARD16 pad1 B16;
454} xkbGetIndicatorStateReq;
455#define sz_xkbGetIndicatorStateReq 8
456
457typedef struct _xkbGetIndicatorStateReply {
458 CARD8 type; /* always X_Reply */
459 CARD8 deviceID;
460 CARD16 sequenceNumber B16;
461 CARD32 length B32;
462 CARD32 state B32;
463 CARD32 pad1 B32;
464 CARD32 pad2 B32;
465 CARD32 pad3 B32;
466 CARD32 pad4 B32;
467 CARD32 pad5 B32;
468} xkbGetIndicatorStateReply;
469#define sz_xkbGetIndicatorStateReply 32
470
471typedef struct _xkbGetIndicatorMap {
472 CARD8 reqType;
473 CARD8 xkbReqType; /* always X_KBGetIndicatorMap */
474 CARD16 length B16;
475 CARD16 deviceSpec B16;
476 CARD16 pad B16;
477 CARD32 which B32;
478} xkbGetIndicatorMapReq;
479#define sz_xkbGetIndicatorMapReq 12
480
481typedef struct _xkbGetIndicatorMapReply {
482 CARD8 type; /* always X_Reply */
483 CARD8 deviceID;
484 CARD16 sequenceNumber B16;
485 CARD32 length B32;
486 CARD32 which B32;
487 CARD32 realIndicators B32;
488 CARD8 nIndicators;
489 CARD8 pad1;
490 CARD16 pad2 B16;
491 CARD32 pad3 B32;
492 CARD32 pad4 B32;
493 CARD32 pad5 B32;
494} xkbGetIndicatorMapReply;
495#define sz_xkbGetIndicatorMapReply 32
496
497typedef struct _xkbIndicatorMapWireDesc {
498 CARD8 flags;
499 CARD8 whichGroups;
500 CARD8 groups;
501 CARD8 whichMods;
502 CARD8 mods;
503 CARD8 realMods;
504 CARD16 virtualMods B16;
505 CARD32 ctrls B32;
506} xkbIndicatorMapWireDesc;
507#define sz_xkbIndicatorMapWireDesc 12
508
509typedef struct _xkbSetIndicatorMap {
510 CARD8 reqType;
511 CARD8 xkbReqType; /* always X_KBSetIndicatorMap */
512 CARD16 length B16;
513 CARD16 deviceSpec B16;
514 CARD16 pad1 B16;
515 CARD32 which B32;
516} xkbSetIndicatorMapReq;
517#define sz_xkbSetIndicatorMapReq 12
518
519typedef struct _xkbGetNamedIndicator {
520 CARD8 reqType;
521 CARD8 xkbReqType; /* X_KBGetNamedIndicator */
522 CARD16 length B16;
523 CARD16 deviceSpec B16;
524 CARD16 ledClass B16;
525 CARD16 ledID B16;
526 CARD16 pad1 B16;
527 Atom indicator B32;
528} xkbGetNamedIndicatorReq;
529#define sz_xkbGetNamedIndicatorReq 16
530
531typedef struct _xkbGetNamedIndicatorReply {
532 BYTE type;
533 BYTE deviceID;
534 CARD16 sequenceNumber B16;
535 CARD32 length B32;
536 Atom indicator B32;
537 BOOL found;
538 BOOL on;
539 BOOL realIndicator;
540 CARD8 ndx;
541 CARD8 flags;
542 CARD8 whichGroups;
543 CARD8 groups;
544 CARD8 whichMods;
545 CARD8 mods;
546 CARD8 realMods;
547 CARD16 virtualMods B16;
548 CARD32 ctrls B32;
549 BOOL supported;
550 CARD8 pad1;
551 CARD16 pad2 B16;
552} xkbGetNamedIndicatorReply;
553#define sz_xkbGetNamedIndicatorReply 32
554
555typedef struct _xkbSetNamedIndicator {
556 CARD8 reqType;
557 CARD8 xkbReqType; /* X_KBSetNamedIndicator */
558 CARD16 length B16;
559 CARD16 deviceSpec B16;
560 CARD16 ledClass B16;
561 CARD16 ledID B16;
562 CARD16 pad1 B16;
563 Atom indicator B32;
564 BOOL setState;
565 BOOL on;
566 BOOL setMap;
567 BOOL createMap;
568 CARD8 pad2;
569 CARD8 flags;
570 CARD8 whichGroups;
571 CARD8 groups;
572 CARD8 whichMods;
573 CARD8 realMods;
574 CARD16 virtualMods B16;
575 CARD32 ctrls B32;
576} xkbSetNamedIndicatorReq;
577#define sz_xkbSetNamedIndicatorReq 32
578
579typedef struct _xkbGetNames {
580 CARD8 reqType;
581 CARD8 xkbReqType; /* always X_KBGetNames */
582 CARD16 length B16;
583 CARD16 deviceSpec B16;
584 CARD16 pad B16;
585 CARD32 which B32;
586} xkbGetNamesReq;
587#define sz_xkbGetNamesReq 12
588
589typedef struct _xkbGetNamesReply {
590 BYTE type;
591 BYTE deviceID;
592 CARD16 sequenceNumber B16;
593 CARD32 length B32;
594 CARD32 which B32;
595 KeyCode minKeyCode;
596 KeyCode maxKeyCode;
597 CARD8 nTypes;
598 CARD8 groupNames;
599 CARD16 virtualMods B16;
600 KeyCode firstKey;
601 CARD8 nKeys;
602 CARD32 indicators B32;
603 CARD8 nRadioGroups;
604 CARD8 nKeyAliases;
605 CARD16 nKTLevels B16;
606 CARD32 pad3 B32;
607} xkbGetNamesReply;
608#define sz_xkbGetNamesReply 32
609
610typedef struct _xkbSetNames {
611 CARD8 reqType;
612 CARD8 xkbReqType; /* always X_KBSetNames */
613 CARD16 length B16;
614 CARD16 deviceSpec B16;
615 CARD16 virtualMods B16;
616 CARD32 which B32;
617 CARD8 firstType;
618 CARD8 nTypes;
619 CARD8 firstKTLevel;
620 CARD8 nKTLevels;
621 CARD32 indicators B32;
622 CARD8 groupNames;
623 CARD8 nRadioGroups;
624 KeyCode firstKey;
625 CARD8 nKeys;
626 CARD8 nKeyAliases;
627 CARD8 pad1;
628 CARD16 totalKTLevelNames B16;
629} xkbSetNamesReq;
630#define sz_xkbSetNamesReq 28
631
632typedef struct _xkbPointWireDesc {
633 INT16 x B16;
634 INT16 y B16;
635} xkbPointWireDesc;
636#define sz_xkbPointWireDesc 4
637
638typedef struct _xkbOutlineWireDesc {
639 CARD8 nPoints;
640 CARD8 cornerRadius;
641 CARD16 pad B16;
642} xkbOutlineWireDesc;
643#define sz_xkbOutlineWireDesc 4
644
645typedef struct _xkbShapeWireDesc {
646 Atom name B32;
647 CARD8 nOutlines;
648 CARD8 primaryNdx;
649 CARD8 approxNdx;
650 CARD8 pad;
651} xkbShapeWireDesc;
652#define sz_xkbShapeWireDesc 8
653
654typedef struct _xkbSectionWireDesc {
655 Atom name B32;
656 INT16 top B16;
657 INT16 left B16;
658 CARD16 width B16;
659 CARD16 height B16;
660 INT16 angle B16;
661 CARD8 priority;
662 CARD8 nRows;
663 CARD8 nDoodads;
664 CARD8 nOverlays;
665 CARD16 pad B16;
666} xkbSectionWireDesc;
667#define sz_xkbSectionWireDesc 20
668
669typedef struct _xkbRowWireDesc {
670 INT16 top B16;
671 INT16 left B16;
672 CARD8 nKeys;
673 BOOL vertical;
674 CARD16 pad B16;
675} xkbRowWireDesc;
676#define sz_xkbRowWireDesc 8
677
678typedef struct _xkbKeyWireDesc {
679 CARD8 name[XkbKeyNameLength];
680 INT16 gap B16;
681 CARD8 shapeNdx;
682 CARD8 colorNdx;
683} xkbKeyWireDesc;
684#define sz_xkbKeyWireDesc 8
685
686typedef struct _xkbOverlayWireDesc {
687 Atom name B32;
688 CARD8 nRows;
689 CARD8 pad1;
690 CARD16 pad2 B16;
691} xkbOverlayWireDesc;
692#define sz_xkbOverlayWireDesc 8
693
694typedef struct _xkbOverlayRowWireDesc {
695 CARD8 rowUnder;
696 CARD8 nKeys;
697 CARD16 pad1 B16;
698} xkbOverlayRowWireDesc;
699#define sz_xkbOverlayRowWireDesc 4
700
701typedef struct _xkbOverlayKeyWireDesc {
702 CARD8 over[XkbKeyNameLength];
703 CARD8 under[XkbKeyNameLength];
704} xkbOverlayKeyWireDesc;
705#define sz_xkbOverlayKeyWireDesc 8
706
707typedef struct _xkbShapeDoodadWireDesc {
708 Atom name B32;
709 CARD8 type;
710 CARD8 priority;
711 INT16 top B16;
712 INT16 left B16;
713 INT16 angle B16;
714 CARD8 colorNdx;
715 CARD8 shapeNdx;
716 CARD16 pad1 B16;
717 CARD32 pad2 B32;
718} xkbShapeDoodadWireDesc;
719#define sz_xkbShapeDoodadWireDesc 20
720
721typedef struct _xkbTextDoodadWireDesc {
722 Atom name B32;
723 CARD8 type;
724 CARD8 priority;
725 INT16 top B16;
726 INT16 left B16;
727 INT16 angle B16;
728 CARD16 width B16;
729 CARD16 height B16;
730 CARD8 colorNdx;
731 CARD8 pad1;
732 CARD16 pad2 B16;
733} xkbTextDoodadWireDesc;
734#define sz_xkbTextDoodadWireDesc 20
735
736typedef struct _xkbIndicatorDoodadWireDesc {
737 Atom name B32;
738 CARD8 type;
739 CARD8 priority;
740 INT16 top B16;
741 INT16 left B16;
742 INT16 angle B16;
743 CARD8 shapeNdx;
744 CARD8 onColorNdx;
745 CARD8 offColorNdx;
746 CARD8 pad1;
747 CARD32 pad2 B32;
748} xkbIndicatorDoodadWireDesc;
749#define sz_xkbIndicatorDoodadWireDesc 20
750
751typedef struct _xkbLogoDoodadWireDesc {
752 Atom name B32;
753 CARD8 type;
754 CARD8 priority;
755 INT16 top B16;
756 INT16 left B16;
757 INT16 angle B16;
758 CARD8 colorNdx;
759 CARD8 shapeNdx;
760 CARD16 pad1 B16;
761 CARD32 pad2 B32;
762} xkbLogoDoodadWireDesc;
763#define sz_xkbLogoDoodadWireDesc 20
764
765typedef struct _xkbAnyDoodadWireDesc {
766 Atom name B32;
767 CARD8 type;
768 CARD8 priority;
769 INT16 top B16;
770 INT16 left B16;
771 INT16 angle B16;
772 CARD32 pad2 B32;
773 CARD32 pad3 B32;
774} xkbAnyDoodadWireDesc;
775#define sz_xkbAnyDoodadWireDesc 20
776
777typedef union _xkbDoodadWireDesc {
778 xkbAnyDoodadWireDesc any;
779 xkbShapeDoodadWireDesc shape;
780 xkbTextDoodadWireDesc text;
781 xkbIndicatorDoodadWireDesc indicator;
782 xkbLogoDoodadWireDesc logo;
783} xkbDoodadWireDesc;
784#define sz_xkbDoodadWireDesc 20
785
786typedef struct _xkbGetGeometry {
787 CARD8 reqType;
788 CARD8 xkbReqType; /* always X_KBGetGeometry */
789 CARD16 length B16;
790 CARD16 deviceSpec B16;
791 CARD16 pad B16;
792 Atom name B32;
793} xkbGetGeometryReq;
794#define sz_xkbGetGeometryReq 12
795
796typedef struct _xkbGetGeometryReply {
797 CARD8 type; /* always X_Reply */
798 CARD8 deviceID;
799 CARD16 sequenceNumber B16;
800 CARD32 length B32;
801 Atom name B32;
802 BOOL found;
803 CARD8 pad;
804 CARD16 widthMM B16;
805 CARD16 heightMM B16;
806 CARD16 nProperties B16;
807 CARD16 nColors B16;
808 CARD16 nShapes B16;
809 CARD16 nSections B16;
810 CARD16 nDoodads B16;
811 CARD16 nKeyAliases B16;
812 CARD8 baseColorNdx;
813 CARD8 labelColorNdx;
814} xkbGetGeometryReply;
815#define sz_xkbGetGeometryReply 32
816
817typedef struct _xkbSetGeometry {
818 CARD8 reqType;
819 CARD8 xkbReqType; /* always X_KBSetGeometry */
820 CARD16 length B16;
821 CARD16 deviceSpec B16;
822 CARD8 nShapes;
823 CARD8 nSections;
824 Atom name B32;
825 CARD16 widthMM B16;
826 CARD16 heightMM B16;
827 CARD16 nProperties B16;
828 CARD16 nColors B16;
829 CARD16 nDoodads B16;
830 CARD16 nKeyAliases B16;
831 CARD8 baseColorNdx;
832 CARD8 labelColorNdx;
833 CARD16 pad B16;
834} xkbSetGeometryReq;
835#define sz_xkbSetGeometryReq 28
836
837typedef struct _xkbPerClientFlags {
838 CARD8 reqType;
839 CARD8 xkbReqType;/* always X_KBPerClientFlags */
840 CARD16 length B16;
841 CARD16 deviceSpec B16;
842 CARD16 pad1 B16;
843 CARD32 change B32;
844 CARD32 value B32;
845 CARD32 ctrlsToChange B32;
846 CARD32 autoCtrls B32;
847 CARD32 autoCtrlValues B32;
848} xkbPerClientFlagsReq;
849#define sz_xkbPerClientFlagsReq 28
850
851typedef struct _xkbPerClientFlagsReply {
852 CARD8 type; /* always X_Reply */
853 CARD8 deviceID;
854 CARD16 sequenceNumber B16;
855 CARD32 length B32;
856 CARD32 supported B32;
857 CARD32 value B32;
858 CARD32 autoCtrls B32;
859 CARD32 autoCtrlValues B32;
860 CARD32 pad1 B32;
861 CARD32 pad2 B32;
862} xkbPerClientFlagsReply;
863#define sz_xkbPerClientFlagsReply 32
864
865typedef struct _xkbListComponents {
866 CARD8 reqType;
867 CARD8 xkbReqType; /* always X_KBListComponents */
868 CARD16 length B16;
869 CARD16 deviceSpec B16;
870 CARD16 maxNames B16;
871} xkbListComponentsReq;
872#define sz_xkbListComponentsReq 8
873
874typedef struct _xkbListComponentsReply {
875 CARD8 type; /* always X_Reply */
876 CARD8 deviceID;
877 CARD16 sequenceNumber B16;
878 CARD32 length B32;
879 CARD16 nKeymaps B16;
880 CARD16 nKeycodes B16;
881 CARD16 nTypes B16;
882 CARD16 nCompatMaps B16;
883 CARD16 nSymbols B16;
884 CARD16 nGeometries B16;
885 CARD16 extra B16;
886 CARD16 pad1 B16;
887 CARD32 pad2 B32;
888 CARD32 pad3 B32;
889} xkbListComponentsReply;
890#define sz_xkbListComponentsReply 32
891
892typedef struct _xkbGetKbdByName {
893 CARD8 reqType;
894 CARD8 xkbReqType; /* always X_KBGetKbdByName */
895 CARD16 length B16;
896 CARD16 deviceSpec B16;
897 CARD16 need B16; /* combination of XkbGBN_* */
898 CARD16 want B16; /* combination of XkbGBN_* */
899 BOOL load;
900 CARD8 pad;
901} xkbGetKbdByNameReq;
902#define sz_xkbGetKbdByNameReq 12
903
904typedef struct _xkbGetKbdByNameReply {
905 CARD8 type; /* always X_Reply */
906 CARD8 deviceID;
907 CARD16 sequenceNumber B16;
908 CARD32 length B32;
909 KeyCode minKeyCode;
910 KeyCode maxKeyCode;
911 BOOL loaded;
912 BOOL newKeyboard;
913 CARD16 found B16; /* combination of XkbGBN_* */
914 CARD16 reported B16; /* combination of XkbAllComponents */
915 CARD32 pad1 B32;
916 CARD32 pad2 B32;
917 CARD32 pad3 B32;
918 CARD32 pad4 B32;
919} xkbGetKbdByNameReply;
920#define sz_xkbGetKbdByNameReply 32
921
922typedef struct _xkbDeviceLedsWireDesc {
923 CARD16 ledClass B16;
924 CARD16 ledID B16;
925 CARD32 namesPresent B32;
926 CARD32 mapsPresent B32;
927 CARD32 physIndicators B32;
928 CARD32 state B32;
929} xkbDeviceLedsWireDesc;
930#define sz_xkbDeviceLedsWireDesc 20
931
932typedef struct _xkbGetDeviceInfo {
933 CARD8 reqType;
934 CARD8 xkbReqType; /* always X_KBGetDeviceInfo */
935 CARD16 length B16;
936 CARD16 deviceSpec B16;
937 CARD16 wanted B16;
938 BOOL allBtns;
939 CARD8 firstBtn;
940 CARD8 nBtns;
941 CARD8 pad;
942 CARD16 ledClass B16;
943 CARD16 ledID B16;
944} xkbGetDeviceInfoReq;
945#define sz_xkbGetDeviceInfoReq 16
946
947typedef struct _xkbGetDeviceInfoReply {
948 CARD8 type; /* always X_Reply */
949 CARD8 deviceID;
950 CARD16 sequenceNumber B16;
951 CARD32 length B32;
952 CARD16 present B16;
953 CARD16 supported B16;
954 CARD16 unsupported B16;
955 CARD16 nDeviceLedFBs B16;
956 CARD8 firstBtnWanted;
957 CARD8 nBtnsWanted;
958 CARD8 firstBtnRtrn;
959 CARD8 nBtnsRtrn;
960 CARD8 totalBtns;
961 BOOL hasOwnState;
962 CARD16 dfltKbdFB B16;
963 CARD16 dfltLedFB B16;
964 CARD16 pad B16;
965 Atom devType B32;
966} xkbGetDeviceInfoReply;
967#define sz_xkbGetDeviceInfoReply 32
968
969typedef struct _xkbSetDeviceInfo {
970 CARD8 reqType;
971 CARD8 xkbReqType; /* always X_KBSetDeviceInfo */
972 CARD16 length B16;
973 CARD16 deviceSpec B16;
974 CARD8 firstBtn;
975 CARD8 nBtns;
976 CARD16 change B16;
977 CARD16 nDeviceLedFBs B16;
978} xkbSetDeviceInfoReq;
979#define sz_xkbSetDeviceInfoReq 12
980
981typedef struct _xkbSetDebuggingFlags {
982 CARD8 reqType;
983 CARD8 xkbReqType; /* always X_KBSetDebuggingFlags */
984 CARD16 length B16;
985 CARD16 msgLength B16;
986 CARD16 pad B16;
987 CARD32 affectFlags B32;
988 CARD32 flags B32;
989 CARD32 affectCtrls B32;
990 CARD32 ctrls B32;
991} xkbSetDebuggingFlagsReq;
992#define sz_xkbSetDebuggingFlagsReq 24
993
994typedef struct _xkbSetDebuggingFlagsReply {
995 BYTE type; /* X_Reply */
996 CARD8 pad0;
997 CARD16 sequenceNumber B16;
998 CARD32 length B32;
999 CARD32 currentFlags B32;
1000 CARD32 currentCtrls B32;
1001 CARD32 supportedFlags B32;
1002 CARD32 supportedCtrls B32;
1003 CARD32 pad1 B32;
1004 CARD32 pad2 B32;
1005} xkbSetDebuggingFlagsReply;
1006#define sz_xkbSetDebuggingFlagsReply 32
1007
1008 /*
1009 * X KEYBOARD EXTENSION EVENT STRUCTURES
1010 */
1011
1012typedef struct _xkbAnyEvent {
1013 BYTE type;
1014 BYTE xkbType;
1015 CARD16 sequenceNumber B16;
1016 Time time B32;
1017 CARD8 deviceID;
1018 CARD8 pad1;
1019 CARD16 pad2 B16;
1020 CARD32 pad3 B32;
1021 CARD32 pad4 B32;
1022 CARD32 pad5 B32;
1023 CARD32 pad6 B32;
1024 CARD32 pad7 B32;
1025} xkbAnyEvent;
1026#define sz_xkbAnyEvent 32
1027
1028typedef struct _xkbNewKeyboardNotify {
1029 BYTE type;
1030 BYTE xkbType;
1031 CARD16 sequenceNumber B16;
1032 Time time B32;
1033 CARD8 deviceID;
1034 CARD8 oldDeviceID;
1035 KeyCode minKeyCode;
1036 KeyCode maxKeyCode;
1037 KeyCode oldMinKeyCode;
1038 KeyCode oldMaxKeyCode;
1039 CARD8 requestMajor;
1040 CARD8 requestMinor;
1041 CARD16 changed B16;
1042 CARD8 detail;
1043 CARD8 pad1;
1044 CARD32 pad2 B32;
1045 CARD32 pad3 B32;
1046 CARD32 pad4 B32;
1047} xkbNewKeyboardNotify;
1048#define sz_xkbNewKeyboardNotify 32
1049
1050typedef struct _xkbMapNotify {
1051 BYTE type;
1052 BYTE xkbType;
1053 CARD16 sequenceNumber B16;
1054 Time time B32;
1055 CARD8 deviceID;
1056 CARD8 ptrBtnActions;
1057 CARD16 changed B16;
1058 KeyCode minKeyCode;
1059 KeyCode maxKeyCode;
1060 CARD8 firstType;
1061 CARD8 nTypes;
1062 KeyCode firstKeySym;
1063 CARD8 nKeySyms;
1064 KeyCode firstKeyAct;
1065 CARD8 nKeyActs;
1066 KeyCode firstKeyBehavior;
1067 CARD8 nKeyBehaviors;
1068 KeyCode firstKeyExplicit;
1069 CARD8 nKeyExplicit;
1070 KeyCode firstModMapKey;
1071 CARD8 nModMapKeys;
1072 KeyCode firstVModMapKey;
1073 CARD8 nVModMapKeys;
1074 CARD16 virtualMods B16;
1075 CARD16 pad1 B16;
1076} xkbMapNotify;
1077#define sz_xkbMapNotify 32
1078
1079typedef struct _xkbStateNotify {
1080 BYTE type;
1081 BYTE xkbType;
1082 CARD16 sequenceNumber B16;
1083 Time time B32;
1084 CARD8 deviceID;
1085 CARD8 mods;
1086 CARD8 baseMods;
1087 CARD8 latchedMods;
1088 CARD8 lockedMods;
1089 CARD8 group;
1090 INT16 baseGroup B16;
1091 INT16 latchedGroup B16;
1092 CARD8 lockedGroup;
1093 CARD8 compatState;
1094 CARD8 grabMods;
1095 CARD8 compatGrabMods;
1096 CARD8 lookupMods;
1097 CARD8 compatLookupMods;
1098 CARD16 ptrBtnState B16;
1099 CARD16 changed B16;
1100 KeyCode keycode;
1101 CARD8 eventType;
1102 CARD8 requestMajor;
1103 CARD8 requestMinor;
1104} xkbStateNotify;
1105#define sz_xkbStateNotify 32
1106
1107typedef struct _xkbControlsNotify {
1108 BYTE type;
1109 BYTE xkbType;
1110 CARD16 sequenceNumber B16;
1111 Time time B32;
1112 CARD8 deviceID;
1113 CARD8 numGroups;
1114 CARD16 pad1 B16;
1115 CARD32 changedControls B32;
1116 CARD32 enabledControls B32;
1117 CARD32 enabledControlChanges B32;
1118 KeyCode keycode;
1119 CARD8 eventType;
1120 CARD8 requestMajor;
1121 CARD8 requestMinor;
1122 CARD32 pad2 B32;
1123} xkbControlsNotify;
1124#define sz_xkbControlsNotify 32
1125
1126typedef struct _xkbIndicatorNotify {
1127 BYTE type;
1128 BYTE xkbType;
1129 CARD16 sequenceNumber B16;
1130 Time time B32;
1131 CARD8 deviceID;
1132 CARD8 pad1;
1133 CARD16 pad2 B16;
1134 CARD32 state B32;
1135 CARD32 changed B32;
1136 CARD32 pad3 B32;
1137 CARD32 pad4 B32;
1138 CARD32 pad5 B32;
1139} xkbIndicatorNotify;
1140#define sz_xkbIndicatorNotify 32
1141
1142typedef struct _xkbNamesNotify {
1143 BYTE type;
1144 BYTE xkbType;
1145 CARD16 sequenceNumber B16;
1146 Time time B32;
1147 CARD8 deviceID;
1148 CARD8 pad1;
1149 CARD16 changed B16;
1150 CARD8 firstType;
1151 CARD8 nTypes;
1152 CARD8 firstLevelName;
1153 CARD8 nLevelNames;
1154 CARD8 pad2;
1155 CARD8 nRadioGroups;
1156 CARD8 nAliases;
1157 CARD8 changedGroupNames;
1158 CARD16 changedVirtualMods B16;
1159 CARD8 firstKey;
1160 CARD8 nKeys;
1161 CARD32 changedIndicators B32;
1162 CARD32 pad3 B32;
1163} xkbNamesNotify;
1164#define sz_xkbNamesNotify 32
1165
1166typedef struct _xkbCompatMapNotify {
1167 BYTE type;
1168 BYTE xkbType;
1169 CARD16 sequenceNumber B16;
1170 Time time B32;
1171 CARD8 deviceID;
1172 CARD8 changedGroups;
1173 CARD16 firstSI B16;
1174 CARD16 nSI B16;
1175 CARD16 nTotalSI B16;
1176 CARD32 pad1 B32;
1177 CARD32 pad2 B32;
1178 CARD32 pad3 B32;
1179 CARD32 pad4 B32;
1180} xkbCompatMapNotify;
1181#define sz_xkbCompatMapNotify 32
1182
1183typedef struct _xkbBellNotify {
1184 BYTE type;
1185 BYTE xkbType;
1186 CARD16 sequenceNumber B16;
1187 Time time B32;
1188 CARD8 deviceID;
1189 CARD8 bellClass;
1190 CARD8 bellID;
1191 CARD8 percent;
1192 CARD16 pitch B16;
1193 CARD16 duration B16;
1194 Atom name B32;
1195 Window window B32;
1196 BOOL eventOnly;
1197 CARD8 pad1;
1198 CARD16 pad2 B16;
1199 CARD32 pad3 B32;
1200} xkbBellNotify;
1201#define sz_xkbBellNotify 32
1202
1203typedef struct _xkbActionMessage {
1204 BYTE type;
1205 BYTE xkbType;
1206 CARD16 sequenceNumber B16;
1207 Time time B32;
1208 CARD8 deviceID;
1209 KeyCode keycode;
1210 BOOL press;
1211 BOOL keyEventFollows;
1212 CARD8 mods;
1213 CARD8 group;
1214 CARD8 message[8];
1215 CARD16 pad1 B16;
1216 CARD32 pad2 B32;
1217 CARD32 pad3 B32;
1218} xkbActionMessage;
1219#define sz_xkbActionMessage 32
1220
1221typedef struct _xkbAccessXNotify {
1222 BYTE type;
1223 BYTE xkbType;
1224 CARD16 sequenceNumber B16;
1225 Time time B32;
1226 CARD8 deviceID;
1227 KeyCode keycode;
1228 CARD16 detail B16;
1229 CARD16 slowKeysDelay B16;
1230 CARD16 debounceDelay B16;
1231 CARD32 pad1 B32;
1232 CARD32 pad2 B32;
1233 CARD32 pad3 B32;
1234 CARD32 pad4 B32;
1235} xkbAccessXNotify;
1236#define sz_xkbAccessXNotify 32
1237
1238typedef struct _xkbExtensionDeviceNotify {
1239 BYTE type;
1240 BYTE xkbType;
1241 CARD16 sequenceNumber B16;
1242 Time time B32;
1243 CARD8 deviceID;
1244 CARD8 pad1;
1245 CARD16 reason B16;
1246 CARD16 ledClass B16;
1247 CARD16 ledID B16;
1248 CARD32 ledsDefined B32;
1249 CARD32 ledState B32;
1250 CARD8 firstBtn;
1251 CARD8 nBtns;
1252 CARD16 supported B16;
1253 CARD16 unsupported B16;
1254 CARD16 pad3 B16;
1255} xkbExtensionDeviceNotify;
1256#define sz_xkbExtensionDeviceNotify 32
1257
1258typedef struct _xkbEvent {
1259 union {
1260 xkbAnyEvent any;
1261 xkbNewKeyboardNotify new_kbd;
1262 xkbMapNotify map;
1263 xkbStateNotify state;
1264 xkbControlsNotify ctrls;
1265 xkbIndicatorNotify indicators;
1266 xkbNamesNotify names;
1267 xkbCompatMapNotify compat;
1268 xkbBellNotify bell;
1269 xkbActionMessage message;
1270 xkbAccessXNotify accessx;
1271 xkbExtensionDeviceNotify device;
1272 } u;
1273} xkbEvent;
1274#define sz_xkbEvent 32
1275
1276#undef Window
1277#undef Atom
1278#undef Time
1279#undef KeyCode
1280#undef KeySym
1281
1282#endif /* _XKBPROTO_H_ */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette