File indexing completed on 2025-01-18 10:14:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #ifndef _XKBPROTO_H_
0028 #define _XKBPROTO_H_
0029
0030 #include <X11/Xmd.h>
0031 #include <X11/extensions/XKB.h>
0032
0033 #define Window CARD32
0034 #define Atom CARD32
0035 #define Time CARD32
0036 #define KeyCode CARD8
0037 #define KeySym CARD32
0038
0039 #define XkbPaddedSize(n) ((((unsigned int)(n)+3) >> 2) << 2)
0040
0041 typedef struct _xkbUseExtension {
0042 CARD8 reqType;
0043 CARD8 xkbReqType;
0044 CARD16 length B16;
0045 CARD16 wantedMajor B16;
0046 CARD16 wantedMinor B16;
0047 } xkbUseExtensionReq;
0048 #define sz_xkbUseExtensionReq 8
0049
0050 typedef struct _xkbUseExtensionReply {
0051 BYTE type;
0052 BOOL supported;
0053 CARD16 sequenceNumber B16;
0054 CARD32 length B32;
0055 CARD16 serverMajor B16;
0056 CARD16 serverMinor B16;
0057 CARD32 pad1 B32;
0058 CARD32 pad2 B32;
0059 CARD32 pad3 B32;
0060 CARD32 pad4 B32;
0061 CARD32 pad5 B32;
0062 } xkbUseExtensionReply;
0063 #define sz_xkbUseExtensionReply 32
0064
0065 typedef struct _xkbSelectEvents {
0066 CARD8 reqType;
0067 CARD8 xkbReqType;
0068 CARD16 length B16;
0069 CARD16 deviceSpec B16;
0070 CARD16 affectWhich B16;
0071 CARD16 clear B16;
0072 CARD16 selectAll B16;
0073 CARD16 affectMap B16;
0074 CARD16 map B16;
0075 } xkbSelectEventsReq;
0076 #define sz_xkbSelectEventsReq 16
0077
0078 typedef struct _xkbBell {
0079 CARD8 reqType;
0080 CARD8 xkbReqType;
0081 CARD16 length B16;
0082 CARD16 deviceSpec B16;
0083 CARD16 bellClass B16;
0084 CARD16 bellID B16;
0085 INT8 percent;
0086 BOOL forceSound;
0087 BOOL eventOnly;
0088 CARD8 pad1;
0089 INT16 pitch B16;
0090 INT16 duration B16;
0091 CARD16 pad2 B16;
0092 Atom name B32;
0093 Window window B32;
0094 } xkbBellReq;
0095 #define sz_xkbBellReq 28
0096
0097 typedef struct _xkbGetState {
0098 CARD8 reqType;
0099 CARD8 xkbReqType;
0100 CARD16 length B16;
0101 CARD16 deviceSpec B16;
0102 CARD16 pad B16;
0103 } xkbGetStateReq;
0104 #define sz_xkbGetStateReq 8
0105
0106 typedef struct _xkbGetStateReply {
0107 BYTE type;
0108 BYTE deviceID;
0109 CARD16 sequenceNumber B16;
0110 CARD32 length B32;
0111 CARD8 mods;
0112 CARD8 baseMods;
0113 CARD8 latchedMods;
0114 CARD8 lockedMods;
0115 CARD8 group;
0116 CARD8 lockedGroup;
0117 INT16 baseGroup B16;
0118 INT16 latchedGroup B16;
0119 CARD8 compatState;
0120 CARD8 grabMods;
0121 CARD8 compatGrabMods;
0122 CARD8 lookupMods;
0123 CARD8 compatLookupMods;
0124 CARD8 pad1;
0125 CARD16 ptrBtnState B16;
0126 CARD16 pad2 B16;
0127 CARD32 pad3 B32;
0128 } xkbGetStateReply;
0129 #define sz_xkbGetStateReply 32
0130
0131 typedef struct _xkbLatchLockState {
0132 CARD8 reqType;
0133 CARD8 xkbReqType;
0134 CARD16 length B16;
0135 CARD16 deviceSpec B16;
0136 CARD8 affectModLocks;
0137 CARD8 modLocks;
0138 BOOL lockGroup;
0139 CARD8 groupLock;
0140 CARD8 affectModLatches;
0141 CARD8 modLatches;
0142 CARD8 pad;
0143 BOOL latchGroup;
0144 INT16 groupLatch B16;
0145 } xkbLatchLockStateReq;
0146 #define sz_xkbLatchLockStateReq 16
0147
0148 typedef struct _xkbGetControls {
0149 CARD8 reqType;
0150 CARD8 xkbReqType;
0151 CARD16 length B16;
0152 CARD16 deviceSpec B16;
0153 CARD16 pad B16;
0154 } xkbGetControlsReq;
0155 #define sz_xkbGetControlsReq 8
0156
0157 typedef struct _xkbGetControlsReply {
0158 BYTE type;
0159 CARD8 deviceID;
0160 CARD16 sequenceNumber B16;
0161 CARD32 length B32;
0162 CARD8 mkDfltBtn;
0163 CARD8 numGroups;
0164 CARD8 groupsWrap;
0165 CARD8 internalMods;
0166 CARD8 ignoreLockMods;
0167 CARD8 internalRealMods;
0168 CARD8 ignoreLockRealMods;
0169 CARD8 pad1;
0170 CARD16 internalVMods B16;
0171 CARD16 ignoreLockVMods B16;
0172 CARD16 repeatDelay B16;
0173 CARD16 repeatInterval B16;
0174 CARD16 slowKeysDelay B16;
0175 CARD16 debounceDelay B16;
0176 CARD16 mkDelay B16;
0177 CARD16 mkInterval B16;
0178 CARD16 mkTimeToMax B16;
0179 CARD16 mkMaxSpeed B16;
0180 INT16 mkCurve B16;
0181 CARD16 axOptions B16;
0182 CARD16 axTimeout B16;
0183 CARD16 axtOptsMask B16;
0184 CARD16 axtOptsValues B16;
0185 CARD16 pad2 B16;
0186 CARD32 axtCtrlsMask B32;
0187 CARD32 axtCtrlsValues B32;
0188 CARD32 enabledCtrls B32;
0189 BYTE perKeyRepeat[XkbPerKeyBitArraySize];
0190 } xkbGetControlsReply;
0191 #define sz_xkbGetControlsReply 92
0192
0193 typedef struct _xkbSetControls {
0194 CARD8 reqType;
0195 CARD8 xkbReqType;
0196 CARD16 length B16;
0197 CARD16 deviceSpec B16;
0198 CARD8 affectInternalMods;
0199 CARD8 internalMods;
0200 CARD8 affectIgnoreLockMods;
0201 CARD8 ignoreLockMods;
0202 CARD16 affectInternalVMods B16;
0203 CARD16 internalVMods B16;
0204 CARD16 affectIgnoreLockVMods B16;
0205 CARD16 ignoreLockVMods B16;
0206 CARD8 mkDfltBtn;
0207 CARD8 groupsWrap;
0208 CARD16 axOptions B16;
0209 CARD16 pad1 B16;
0210 CARD32 affectEnabledCtrls B32;
0211 CARD32 enabledCtrls B32;
0212 CARD32 changeCtrls B32;
0213 CARD16 repeatDelay B16;
0214 CARD16 repeatInterval B16;
0215 CARD16 slowKeysDelay B16;
0216 CARD16 debounceDelay B16;
0217 CARD16 mkDelay B16;
0218 CARD16 mkInterval B16;
0219 CARD16 mkTimeToMax B16;
0220 CARD16 mkMaxSpeed B16;
0221 INT16 mkCurve B16;
0222 CARD16 axTimeout B16;
0223 CARD32 axtCtrlsMask B32;
0224 CARD32 axtCtrlsValues B32;
0225 CARD16 axtOptsMask B16;
0226 CARD16 axtOptsValues B16;
0227 BYTE perKeyRepeat[XkbPerKeyBitArraySize];
0228 } xkbSetControlsReq;
0229 #define sz_xkbSetControlsReq 100
0230
0231 typedef struct _xkbKTMapEntryWireDesc {
0232 BOOL active;
0233 CARD8 mask;
0234 CARD8 level;
0235 CARD8 realMods;
0236 CARD16 virtualMods B16;
0237 CARD16 pad B16;
0238 } xkbKTMapEntryWireDesc;
0239 #define sz_xkbKTMapEntryWireDesc 8
0240
0241 typedef struct _xkbKTSetMapEntryWireDesc {
0242 CARD8 level;
0243 CARD8 realMods;
0244 CARD16 virtualMods B16;
0245 } xkbKTSetMapEntryWireDesc;
0246 #define sz_xkbKTSetMapEntryWireDesc 4
0247
0248 typedef struct _xkbModsWireDesc {
0249 CARD8 mask;
0250 CARD8 realMods;
0251 CARD16 virtualMods B16;
0252 } xkbModsWireDesc;
0253 #define sz_xkbModsWireDesc 4
0254
0255 typedef struct _xkbKeyTypeWireDesc {
0256 CARD8 mask;
0257 CARD8 realMods;
0258 CARD16 virtualMods B16;
0259 CARD8 numLevels;
0260 CARD8 nMapEntries;
0261 BOOL preserve;
0262 CARD8 pad;
0263 } xkbKeyTypeWireDesc;
0264 #define sz_xkbKeyTypeWireDesc 8
0265
0266 typedef struct _xkbSymMapWireDesc {
0267 CARD8 ktIndex[XkbNumKbdGroups];
0268 CARD8 groupInfo;
0269 CARD8 width;
0270 CARD16 nSyms B16;
0271 } xkbSymMapWireDesc;
0272 #define sz_xkbSymMapWireDesc 8
0273
0274 typedef struct _xkbVModMapWireDesc {
0275 KeyCode key;
0276 CARD8 pad;
0277 CARD16 vmods B16;
0278 } xkbVModMapWireDesc;
0279 #define sz_xkbVModMapWireDesc 4
0280
0281 typedef struct _xkbBehaviorWireDesc {
0282 CARD8 key;
0283 CARD8 type;
0284 CARD8 data;
0285 CARD8 pad;
0286 } xkbBehaviorWireDesc;
0287 #define sz_xkbBehaviorWireDesc 4
0288
0289 typedef struct _xkbActionWireDesc {
0290 CARD8 type;
0291 CARD8 data[7];
0292 } xkbActionWireDesc;
0293 #define sz_xkbActionWireDesc 8
0294
0295 typedef struct _xkbGetMap {
0296 CARD8 reqType;
0297 CARD8 xkbReqType;
0298 CARD16 length B16;
0299 CARD16 deviceSpec B16;
0300 CARD16 full B16;
0301 CARD16 partial B16;
0302 CARD8 firstType;
0303 CARD8 nTypes;
0304 KeyCode firstKeySym;
0305 CARD8 nKeySyms;
0306 KeyCode firstKeyAct;
0307 CARD8 nKeyActs;
0308 KeyCode firstKeyBehavior;
0309 CARD8 nKeyBehaviors;
0310 CARD16 virtualMods B16;
0311 KeyCode firstKeyExplicit;
0312 CARD8 nKeyExplicit;
0313 KeyCode firstModMapKey;
0314 CARD8 nModMapKeys;
0315 KeyCode firstVModMapKey;
0316 CARD8 nVModMapKeys;
0317 CARD16 pad1 B16;
0318 } xkbGetMapReq;
0319 #define sz_xkbGetMapReq 28
0320
0321 typedef struct _xkbGetMapReply {
0322 CARD8 type;
0323 CARD8 deviceID;
0324 CARD16 sequenceNumber B16;
0325 CARD32 length B32;
0326 CARD16 pad1 B16;
0327 KeyCode minKeyCode;
0328 KeyCode maxKeyCode;
0329 CARD16 present B16;
0330 CARD8 firstType;
0331 CARD8 nTypes;
0332 CARD8 totalTypes;
0333 KeyCode firstKeySym;
0334 CARD16 totalSyms B16;
0335 CARD8 nKeySyms;
0336 KeyCode firstKeyAct;
0337 CARD16 totalActs B16;
0338 CARD8 nKeyActs;
0339 KeyCode firstKeyBehavior;
0340 CARD8 nKeyBehaviors;
0341 CARD8 totalKeyBehaviors;
0342 KeyCode firstKeyExplicit;
0343 CARD8 nKeyExplicit;
0344 CARD8 totalKeyExplicit;
0345 KeyCode firstModMapKey;
0346 CARD8 nModMapKeys;
0347 CARD8 totalModMapKeys;
0348 KeyCode firstVModMapKey;
0349 CARD8 nVModMapKeys;
0350 CARD8 totalVModMapKeys;
0351 CARD8 pad2;
0352 CARD16 virtualMods B16;
0353 } xkbGetMapReply;
0354 #define sz_xkbGetMapReply 40
0355
0356 #define XkbSetMapResizeTypes (1L<<0)
0357 #define XkbSetMapRecomputeActions (1L<<1)
0358 #define XkbSetMapAllFlags (0x3)
0359
0360 typedef struct _xkbSetMap {
0361 CARD8 reqType;
0362 CARD8 xkbReqType;
0363 CARD16 length B16;
0364 CARD16 deviceSpec B16;
0365 CARD16 present B16;
0366 CARD16 flags B16;
0367 KeyCode minKeyCode;
0368 KeyCode maxKeyCode;
0369 CARD8 firstType;
0370 CARD8 nTypes;
0371 KeyCode firstKeySym;
0372 CARD8 nKeySyms;
0373 CARD16 totalSyms B16;
0374 KeyCode firstKeyAct;
0375 CARD8 nKeyActs;
0376 CARD16 totalActs B16;
0377 KeyCode firstKeyBehavior;
0378 CARD8 nKeyBehaviors;
0379 CARD8 totalKeyBehaviors;
0380 KeyCode firstKeyExplicit;
0381 CARD8 nKeyExplicit;
0382 CARD8 totalKeyExplicit;
0383 KeyCode firstModMapKey;
0384 CARD8 nModMapKeys;
0385 CARD8 totalModMapKeys;
0386 KeyCode firstVModMapKey;
0387 CARD8 nVModMapKeys;
0388 CARD8 totalVModMapKeys;
0389 CARD16 virtualMods B16;
0390 } xkbSetMapReq;
0391 #define sz_xkbSetMapReq 36
0392
0393 typedef struct _xkbSymInterpretWireDesc {
0394 CARD32 sym B32;
0395 CARD8 mods;
0396 CARD8 match;
0397 CARD8 virtualMod;
0398 CARD8 flags;
0399 xkbActionWireDesc act;
0400 } xkbSymInterpretWireDesc;
0401 #define sz_xkbSymInterpretWireDesc 16
0402
0403 typedef struct _xkbGetCompatMap {
0404 CARD8 reqType;
0405 CARD8 xkbReqType;
0406 CARD16 length B16;
0407 CARD16 deviceSpec B16;
0408 CARD8 groups;
0409 BOOL getAllSI;
0410 CARD16 firstSI B16;
0411 CARD16 nSI B16;
0412 } xkbGetCompatMapReq;
0413 #define sz_xkbGetCompatMapReq 12
0414
0415 typedef struct _xkbGetCompatMapReply {
0416 CARD8 type;
0417 CARD8 deviceID;
0418 CARD16 sequenceNumber B16;
0419 CARD32 length B32;
0420 CARD8 groups;
0421 CARD8 pad1;
0422 CARD16 firstSI B16;
0423 CARD16 nSI B16;
0424 CARD16 nTotalSI B16;
0425 CARD32 pad2 B32;
0426 CARD32 pad3 B32;
0427 CARD32 pad4 B32;
0428 CARD32 pad5 B32;
0429 } xkbGetCompatMapReply;
0430 #define sz_xkbGetCompatMapReply 32
0431
0432 typedef struct _xkbSetCompatMap {
0433 CARD8 reqType;
0434 CARD8 xkbReqType;
0435 CARD16 length B16;
0436 CARD16 deviceSpec B16;
0437 CARD8 pad1;
0438 BOOL recomputeActions;
0439 BOOL truncateSI;
0440 CARD8 groups;
0441 CARD16 firstSI B16;
0442 CARD16 nSI B16;
0443 CARD16 pad2 B16;
0444 } xkbSetCompatMapReq;
0445 #define sz_xkbSetCompatMapReq 16
0446
0447 typedef struct _xkbGetIndicatorState {
0448 CARD8 reqType;
0449 CARD8 xkbReqType;
0450 CARD16 length B16;
0451 CARD16 deviceSpec B16;
0452 CARD16 pad1 B16;
0453 } xkbGetIndicatorStateReq;
0454 #define sz_xkbGetIndicatorStateReq 8
0455
0456 typedef struct _xkbGetIndicatorStateReply {
0457 CARD8 type;
0458 CARD8 deviceID;
0459 CARD16 sequenceNumber B16;
0460 CARD32 length B32;
0461 CARD32 state B32;
0462 CARD32 pad1 B32;
0463 CARD32 pad2 B32;
0464 CARD32 pad3 B32;
0465 CARD32 pad4 B32;
0466 CARD32 pad5 B32;
0467 } xkbGetIndicatorStateReply;
0468 #define sz_xkbGetIndicatorStateReply 32
0469
0470 typedef struct _xkbGetIndicatorMap {
0471 CARD8 reqType;
0472 CARD8 xkbReqType;
0473 CARD16 length B16;
0474 CARD16 deviceSpec B16;
0475 CARD16 pad B16;
0476 CARD32 which B32;
0477 } xkbGetIndicatorMapReq;
0478 #define sz_xkbGetIndicatorMapReq 12
0479
0480 typedef struct _xkbGetIndicatorMapReply {
0481 CARD8 type;
0482 CARD8 deviceID;
0483 CARD16 sequenceNumber B16;
0484 CARD32 length B32;
0485 CARD32 which B32;
0486 CARD32 realIndicators B32;
0487 CARD8 nIndicators;
0488 CARD8 pad1;
0489 CARD16 pad2 B16;
0490 CARD32 pad3 B32;
0491 CARD32 pad4 B32;
0492 CARD32 pad5 B32;
0493 } xkbGetIndicatorMapReply;
0494 #define sz_xkbGetIndicatorMapReply 32
0495
0496 typedef struct _xkbIndicatorMapWireDesc {
0497 CARD8 flags;
0498 CARD8 whichGroups;
0499 CARD8 groups;
0500 CARD8 whichMods;
0501 CARD8 mods;
0502 CARD8 realMods;
0503 CARD16 virtualMods B16;
0504 CARD32 ctrls B32;
0505 } xkbIndicatorMapWireDesc;
0506 #define sz_xkbIndicatorMapWireDesc 12
0507
0508 typedef struct _xkbSetIndicatorMap {
0509 CARD8 reqType;
0510 CARD8 xkbReqType;
0511 CARD16 length B16;
0512 CARD16 deviceSpec B16;
0513 CARD16 pad1 B16;
0514 CARD32 which B32;
0515 } xkbSetIndicatorMapReq;
0516 #define sz_xkbSetIndicatorMapReq 12
0517
0518 typedef struct _xkbGetNamedIndicator {
0519 CARD8 reqType;
0520 CARD8 xkbReqType;
0521 CARD16 length B16;
0522 CARD16 deviceSpec B16;
0523 CARD16 ledClass B16;
0524 CARD16 ledID B16;
0525 CARD16 pad1 B16;
0526 Atom indicator B32;
0527 } xkbGetNamedIndicatorReq;
0528 #define sz_xkbGetNamedIndicatorReq 16
0529
0530 typedef struct _xkbGetNamedIndicatorReply {
0531 BYTE type;
0532 BYTE deviceID;
0533 CARD16 sequenceNumber B16;
0534 CARD32 length B32;
0535 Atom indicator B32;
0536 BOOL found;
0537 BOOL on;
0538 BOOL realIndicator;
0539 CARD8 ndx;
0540 CARD8 flags;
0541 CARD8 whichGroups;
0542 CARD8 groups;
0543 CARD8 whichMods;
0544 CARD8 mods;
0545 CARD8 realMods;
0546 CARD16 virtualMods B16;
0547 CARD32 ctrls B32;
0548 BOOL supported;
0549 CARD8 pad1;
0550 CARD16 pad2 B16;
0551 } xkbGetNamedIndicatorReply;
0552 #define sz_xkbGetNamedIndicatorReply 32
0553
0554 typedef struct _xkbSetNamedIndicator {
0555 CARD8 reqType;
0556 CARD8 xkbReqType;
0557 CARD16 length B16;
0558 CARD16 deviceSpec B16;
0559 CARD16 ledClass B16;
0560 CARD16 ledID B16;
0561 CARD16 pad1 B16;
0562 Atom indicator B32;
0563 BOOL setState;
0564 BOOL on;
0565 BOOL setMap;
0566 BOOL createMap;
0567 CARD8 pad2;
0568 CARD8 flags;
0569 CARD8 whichGroups;
0570 CARD8 groups;
0571 CARD8 whichMods;
0572 CARD8 realMods;
0573 CARD16 virtualMods B16;
0574 CARD32 ctrls B32;
0575 } xkbSetNamedIndicatorReq;
0576 #define sz_xkbSetNamedIndicatorReq 32
0577
0578 typedef struct _xkbGetNames {
0579 CARD8 reqType;
0580 CARD8 xkbReqType;
0581 CARD16 length B16;
0582 CARD16 deviceSpec B16;
0583 CARD16 pad B16;
0584 CARD32 which B32;
0585 } xkbGetNamesReq;
0586 #define sz_xkbGetNamesReq 12
0587
0588 typedef struct _xkbGetNamesReply {
0589 BYTE type;
0590 BYTE deviceID;
0591 CARD16 sequenceNumber B16;
0592 CARD32 length B32;
0593 CARD32 which B32;
0594 KeyCode minKeyCode;
0595 KeyCode maxKeyCode;
0596 CARD8 nTypes;
0597 CARD8 groupNames;
0598 CARD16 virtualMods B16;
0599 KeyCode firstKey;
0600 CARD8 nKeys;
0601 CARD32 indicators B32;
0602 CARD8 nRadioGroups;
0603 CARD8 nKeyAliases;
0604 CARD16 nKTLevels B16;
0605 CARD32 pad3 B32;
0606 } xkbGetNamesReply;
0607 #define sz_xkbGetNamesReply 32
0608
0609 typedef struct _xkbSetNames {
0610 CARD8 reqType;
0611 CARD8 xkbReqType;
0612 CARD16 length B16;
0613 CARD16 deviceSpec B16;
0614 CARD16 virtualMods B16;
0615 CARD32 which B32;
0616 CARD8 firstType;
0617 CARD8 nTypes;
0618 CARD8 firstKTLevel;
0619 CARD8 nKTLevels;
0620 CARD32 indicators B32;
0621 CARD8 groupNames;
0622 CARD8 nRadioGroups;
0623 KeyCode firstKey;
0624 CARD8 nKeys;
0625 CARD8 nKeyAliases;
0626 CARD8 pad1;
0627 CARD16 totalKTLevelNames B16;
0628 } xkbSetNamesReq;
0629 #define sz_xkbSetNamesReq 28
0630
0631 typedef struct _xkbPointWireDesc {
0632 INT16 x B16;
0633 INT16 y B16;
0634 } xkbPointWireDesc;
0635 #define sz_xkbPointWireDesc 4
0636
0637 typedef struct _xkbOutlineWireDesc {
0638 CARD8 nPoints;
0639 CARD8 cornerRadius;
0640 CARD16 pad B16;
0641 } xkbOutlineWireDesc;
0642 #define sz_xkbOutlineWireDesc 4
0643
0644 typedef struct _xkbShapeWireDesc {
0645 Atom name B32;
0646 CARD8 nOutlines;
0647 CARD8 primaryNdx;
0648 CARD8 approxNdx;
0649 CARD8 pad;
0650 } xkbShapeWireDesc;
0651 #define sz_xkbShapeWireDesc 8
0652
0653 typedef struct _xkbSectionWireDesc {
0654 Atom name B32;
0655 INT16 top B16;
0656 INT16 left B16;
0657 CARD16 width B16;
0658 CARD16 height B16;
0659 INT16 angle B16;
0660 CARD8 priority;
0661 CARD8 nRows;
0662 CARD8 nDoodads;
0663 CARD8 nOverlays;
0664 CARD16 pad B16;
0665 } xkbSectionWireDesc;
0666 #define sz_xkbSectionWireDesc 20
0667
0668 typedef struct _xkbRowWireDesc {
0669 INT16 top B16;
0670 INT16 left B16;
0671 CARD8 nKeys;
0672 BOOL vertical;
0673 CARD16 pad B16;
0674 } xkbRowWireDesc;
0675 #define sz_xkbRowWireDesc 8
0676
0677 typedef struct _xkbKeyWireDesc {
0678 CARD8 name[XkbKeyNameLength];
0679 INT16 gap B16;
0680 CARD8 shapeNdx;
0681 CARD8 colorNdx;
0682 } xkbKeyWireDesc;
0683 #define sz_xkbKeyWireDesc 8
0684
0685 typedef struct _xkbOverlayWireDesc {
0686 Atom name B32;
0687 CARD8 nRows;
0688 CARD8 pad1;
0689 CARD16 pad2 B16;
0690 } xkbOverlayWireDesc;
0691 #define sz_xkbOverlayWireDesc 8
0692
0693 typedef struct _xkbOverlayRowWireDesc {
0694 CARD8 rowUnder;
0695 CARD8 nKeys;
0696 CARD16 pad1 B16;
0697 } xkbOverlayRowWireDesc;
0698 #define sz_xkbOverlayRowWireDesc 4
0699
0700 typedef struct _xkbOverlayKeyWireDesc {
0701 CARD8 over[XkbKeyNameLength];
0702 CARD8 under[XkbKeyNameLength];
0703 } xkbOverlayKeyWireDesc;
0704 #define sz_xkbOverlayKeyWireDesc 8
0705
0706 typedef struct _xkbShapeDoodadWireDesc {
0707 Atom name B32;
0708 CARD8 type;
0709 CARD8 priority;
0710 INT16 top B16;
0711 INT16 left B16;
0712 INT16 angle B16;
0713 CARD8 colorNdx;
0714 CARD8 shapeNdx;
0715 CARD16 pad1 B16;
0716 CARD32 pad2 B32;
0717 } xkbShapeDoodadWireDesc;
0718 #define sz_xkbShapeDoodadWireDesc 20
0719
0720 typedef struct _xkbTextDoodadWireDesc {
0721 Atom name B32;
0722 CARD8 type;
0723 CARD8 priority;
0724 INT16 top B16;
0725 INT16 left B16;
0726 INT16 angle B16;
0727 CARD16 width B16;
0728 CARD16 height B16;
0729 CARD8 colorNdx;
0730 CARD8 pad1;
0731 CARD16 pad2 B16;
0732 } xkbTextDoodadWireDesc;
0733 #define sz_xkbTextDoodadWireDesc 20
0734
0735 typedef struct _xkbIndicatorDoodadWireDesc {
0736 Atom name B32;
0737 CARD8 type;
0738 CARD8 priority;
0739 INT16 top B16;
0740 INT16 left B16;
0741 INT16 angle B16;
0742 CARD8 shapeNdx;
0743 CARD8 onColorNdx;
0744 CARD8 offColorNdx;
0745 CARD8 pad1;
0746 CARD32 pad2 B32;
0747 } xkbIndicatorDoodadWireDesc;
0748 #define sz_xkbIndicatorDoodadWireDesc 20
0749
0750 typedef struct _xkbLogoDoodadWireDesc {
0751 Atom name B32;
0752 CARD8 type;
0753 CARD8 priority;
0754 INT16 top B16;
0755 INT16 left B16;
0756 INT16 angle B16;
0757 CARD8 colorNdx;
0758 CARD8 shapeNdx;
0759 CARD16 pad1 B16;
0760 CARD32 pad2 B32;
0761 } xkbLogoDoodadWireDesc;
0762 #define sz_xkbLogoDoodadWireDesc 20
0763
0764 typedef struct _xkbAnyDoodadWireDesc {
0765 Atom name B32;
0766 CARD8 type;
0767 CARD8 priority;
0768 INT16 top B16;
0769 INT16 left B16;
0770 INT16 angle B16;
0771 CARD32 pad2 B32;
0772 CARD32 pad3 B32;
0773 } xkbAnyDoodadWireDesc;
0774 #define sz_xkbAnyDoodadWireDesc 20
0775
0776 typedef union _xkbDoodadWireDesc {
0777 xkbAnyDoodadWireDesc any;
0778 xkbShapeDoodadWireDesc shape;
0779 xkbTextDoodadWireDesc text;
0780 xkbIndicatorDoodadWireDesc indicator;
0781 xkbLogoDoodadWireDesc logo;
0782 } xkbDoodadWireDesc;
0783 #define sz_xkbDoodadWireDesc 20
0784
0785 typedef struct _xkbGetGeometry {
0786 CARD8 reqType;
0787 CARD8 xkbReqType;
0788 CARD16 length B16;
0789 CARD16 deviceSpec B16;
0790 CARD16 pad B16;
0791 Atom name B32;
0792 } xkbGetGeometryReq;
0793 #define sz_xkbGetGeometryReq 12
0794
0795 typedef struct _xkbGetGeometryReply {
0796 CARD8 type;
0797 CARD8 deviceID;
0798 CARD16 sequenceNumber B16;
0799 CARD32 length B32;
0800 Atom name B32;
0801 BOOL found;
0802 CARD8 pad;
0803 CARD16 widthMM B16;
0804 CARD16 heightMM B16;
0805 CARD16 nProperties B16;
0806 CARD16 nColors B16;
0807 CARD16 nShapes B16;
0808 CARD16 nSections B16;
0809 CARD16 nDoodads B16;
0810 CARD16 nKeyAliases B16;
0811 CARD8 baseColorNdx;
0812 CARD8 labelColorNdx;
0813 } xkbGetGeometryReply;
0814 #define sz_xkbGetGeometryReply 32
0815
0816 typedef struct _xkbSetGeometry {
0817 CARD8 reqType;
0818 CARD8 xkbReqType;
0819 CARD16 length B16;
0820 CARD16 deviceSpec B16;
0821 CARD8 nShapes;
0822 CARD8 nSections;
0823 Atom name B32;
0824 CARD16 widthMM B16;
0825 CARD16 heightMM B16;
0826 CARD16 nProperties B16;
0827 CARD16 nColors B16;
0828 CARD16 nDoodads B16;
0829 CARD16 nKeyAliases B16;
0830 CARD8 baseColorNdx;
0831 CARD8 labelColorNdx;
0832 CARD16 pad B16;
0833 } xkbSetGeometryReq;
0834 #define sz_xkbSetGeometryReq 28
0835
0836 typedef struct _xkbPerClientFlags {
0837 CARD8 reqType;
0838 CARD8 xkbReqType;
0839 CARD16 length B16;
0840 CARD16 deviceSpec B16;
0841 CARD16 pad1 B16;
0842 CARD32 change B32;
0843 CARD32 value B32;
0844 CARD32 ctrlsToChange B32;
0845 CARD32 autoCtrls B32;
0846 CARD32 autoCtrlValues B32;
0847 } xkbPerClientFlagsReq;
0848 #define sz_xkbPerClientFlagsReq 28
0849
0850 typedef struct _xkbPerClientFlagsReply {
0851 CARD8 type;
0852 CARD8 deviceID;
0853 CARD16 sequenceNumber B16;
0854 CARD32 length B32;
0855 CARD32 supported B32;
0856 CARD32 value B32;
0857 CARD32 autoCtrls B32;
0858 CARD32 autoCtrlValues B32;
0859 CARD32 pad1 B32;
0860 CARD32 pad2 B32;
0861 } xkbPerClientFlagsReply;
0862 #define sz_xkbPerClientFlagsReply 32
0863
0864 typedef struct _xkbListComponents {
0865 CARD8 reqType;
0866 CARD8 xkbReqType;
0867 CARD16 length B16;
0868 CARD16 deviceSpec B16;
0869 CARD16 maxNames B16;
0870 } xkbListComponentsReq;
0871 #define sz_xkbListComponentsReq 8
0872
0873 typedef struct _xkbListComponentsReply {
0874 CARD8 type;
0875 CARD8 deviceID;
0876 CARD16 sequenceNumber B16;
0877 CARD32 length B32;
0878 CARD16 nKeymaps B16;
0879 CARD16 nKeycodes B16;
0880 CARD16 nTypes B16;
0881 CARD16 nCompatMaps B16;
0882 CARD16 nSymbols B16;
0883 CARD16 nGeometries B16;
0884 CARD16 extra B16;
0885 CARD16 pad1 B16;
0886 CARD32 pad2 B32;
0887 CARD32 pad3 B32;
0888 } xkbListComponentsReply;
0889 #define sz_xkbListComponentsReply 32
0890
0891 typedef struct _xkbGetKbdByName {
0892 CARD8 reqType;
0893 CARD8 xkbReqType;
0894 CARD16 length B16;
0895 CARD16 deviceSpec B16;
0896 CARD16 need B16;
0897 CARD16 want B16;
0898 BOOL load;
0899 CARD8 pad;
0900 } xkbGetKbdByNameReq;
0901 #define sz_xkbGetKbdByNameReq 12
0902
0903 typedef struct _xkbGetKbdByNameReply {
0904 CARD8 type;
0905 CARD8 deviceID;
0906 CARD16 sequenceNumber B16;
0907 CARD32 length B32;
0908 KeyCode minKeyCode;
0909 KeyCode maxKeyCode;
0910 BOOL loaded;
0911 BOOL newKeyboard;
0912 CARD16 found B16;
0913 CARD16 reported B16;
0914 CARD32 pad1 B32;
0915 CARD32 pad2 B32;
0916 CARD32 pad3 B32;
0917 CARD32 pad4 B32;
0918 } xkbGetKbdByNameReply;
0919 #define sz_xkbGetKbdByNameReply 32
0920
0921 typedef struct _xkbDeviceLedsWireDesc {
0922 CARD16 ledClass B16;
0923 CARD16 ledID B16;
0924 CARD32 namesPresent B32;
0925 CARD32 mapsPresent B32;
0926 CARD32 physIndicators B32;
0927 CARD32 state B32;
0928 } xkbDeviceLedsWireDesc;
0929 #define sz_xkbDeviceLedsWireDesc 20
0930
0931 typedef struct _xkbGetDeviceInfo {
0932 CARD8 reqType;
0933 CARD8 xkbReqType;
0934 CARD16 length B16;
0935 CARD16 deviceSpec B16;
0936 CARD16 wanted B16;
0937 BOOL allBtns;
0938 CARD8 firstBtn;
0939 CARD8 nBtns;
0940 CARD8 pad;
0941 CARD16 ledClass B16;
0942 CARD16 ledID B16;
0943 } xkbGetDeviceInfoReq;
0944 #define sz_xkbGetDeviceInfoReq 16
0945
0946 typedef struct _xkbGetDeviceInfoReply {
0947 CARD8 type;
0948 CARD8 deviceID;
0949 CARD16 sequenceNumber B16;
0950 CARD32 length B32;
0951 CARD16 present B16;
0952 CARD16 supported B16;
0953 CARD16 unsupported B16;
0954 CARD16 nDeviceLedFBs B16;
0955 CARD8 firstBtnWanted;
0956 CARD8 nBtnsWanted;
0957 CARD8 firstBtnRtrn;
0958 CARD8 nBtnsRtrn;
0959 CARD8 totalBtns;
0960 BOOL hasOwnState;
0961 CARD16 dfltKbdFB B16;
0962 CARD16 dfltLedFB B16;
0963 CARD16 pad B16;
0964 Atom devType B32;
0965 } xkbGetDeviceInfoReply;
0966 #define sz_xkbGetDeviceInfoReply 32
0967
0968 typedef struct _xkbSetDeviceInfo {
0969 CARD8 reqType;
0970 CARD8 xkbReqType;
0971 CARD16 length B16;
0972 CARD16 deviceSpec B16;
0973 CARD8 firstBtn;
0974 CARD8 nBtns;
0975 CARD16 change B16;
0976 CARD16 nDeviceLedFBs B16;
0977 } xkbSetDeviceInfoReq;
0978 #define sz_xkbSetDeviceInfoReq 12
0979
0980 typedef struct _xkbSetDebuggingFlags {
0981 CARD8 reqType;
0982 CARD8 xkbReqType;
0983 CARD16 length B16;
0984 CARD16 msgLength B16;
0985 CARD16 pad B16;
0986 CARD32 affectFlags B32;
0987 CARD32 flags B32;
0988 CARD32 affectCtrls B32;
0989 CARD32 ctrls B32;
0990 } xkbSetDebuggingFlagsReq;
0991 #define sz_xkbSetDebuggingFlagsReq 24
0992
0993 typedef struct _xkbSetDebuggingFlagsReply {
0994 BYTE type;
0995 CARD8 pad0;
0996 CARD16 sequenceNumber B16;
0997 CARD32 length B32;
0998 CARD32 currentFlags B32;
0999 CARD32 currentCtrls B32;
1000 CARD32 supportedFlags B32;
1001 CARD32 supportedCtrls B32;
1002 CARD32 pad1 B32;
1003 CARD32 pad2 B32;
1004 } xkbSetDebuggingFlagsReply;
1005 #define sz_xkbSetDebuggingFlagsReply 32
1006
1007
1008
1009
1010
1011 typedef struct _xkbAnyEvent {
1012 BYTE type;
1013 BYTE xkbType;
1014 CARD16 sequenceNumber B16;
1015 Time time B32;
1016 CARD8 deviceID;
1017 CARD8 pad1;
1018 CARD16 pad2 B16;
1019 CARD32 pad3 B32;
1020 CARD32 pad4 B32;
1021 CARD32 pad5 B32;
1022 CARD32 pad6 B32;
1023 CARD32 pad7 B32;
1024 } xkbAnyEvent;
1025 #define sz_xkbAnyEvent 32
1026
1027 typedef struct _xkbNewKeyboardNotify {
1028 BYTE type;
1029 BYTE xkbType;
1030 CARD16 sequenceNumber B16;
1031 Time time B32;
1032 CARD8 deviceID;
1033 CARD8 oldDeviceID;
1034 KeyCode minKeyCode;
1035 KeyCode maxKeyCode;
1036 KeyCode oldMinKeyCode;
1037 KeyCode oldMaxKeyCode;
1038 CARD8 requestMajor;
1039 CARD8 requestMinor;
1040 CARD16 changed B16;
1041 CARD8 detail;
1042 CARD8 pad1;
1043 CARD32 pad2 B32;
1044 CARD32 pad3 B32;
1045 CARD32 pad4 B32;
1046 } xkbNewKeyboardNotify;
1047 #define sz_xkbNewKeyboardNotify 32
1048
1049 typedef struct _xkbMapNotify {
1050 BYTE type;
1051 BYTE xkbType;
1052 CARD16 sequenceNumber B16;
1053 Time time B32;
1054 CARD8 deviceID;
1055 CARD8 ptrBtnActions;
1056 CARD16 changed B16;
1057 KeyCode minKeyCode;
1058 KeyCode maxKeyCode;
1059 CARD8 firstType;
1060 CARD8 nTypes;
1061 KeyCode firstKeySym;
1062 CARD8 nKeySyms;
1063 KeyCode firstKeyAct;
1064 CARD8 nKeyActs;
1065 KeyCode firstKeyBehavior;
1066 CARD8 nKeyBehaviors;
1067 KeyCode firstKeyExplicit;
1068 CARD8 nKeyExplicit;
1069 KeyCode firstModMapKey;
1070 CARD8 nModMapKeys;
1071 KeyCode firstVModMapKey;
1072 CARD8 nVModMapKeys;
1073 CARD16 virtualMods B16;
1074 CARD16 pad1 B16;
1075 } xkbMapNotify;
1076 #define sz_xkbMapNotify 32
1077
1078 typedef struct _xkbStateNotify {
1079 BYTE type;
1080 BYTE xkbType;
1081 CARD16 sequenceNumber B16;
1082 Time time B32;
1083 CARD8 deviceID;
1084 CARD8 mods;
1085 CARD8 baseMods;
1086 CARD8 latchedMods;
1087 CARD8 lockedMods;
1088 CARD8 group;
1089 INT16 baseGroup B16;
1090 INT16 latchedGroup B16;
1091 CARD8 lockedGroup;
1092 CARD8 compatState;
1093 CARD8 grabMods;
1094 CARD8 compatGrabMods;
1095 CARD8 lookupMods;
1096 CARD8 compatLookupMods;
1097 CARD16 ptrBtnState B16;
1098 CARD16 changed B16;
1099 KeyCode keycode;
1100 CARD8 eventType;
1101 CARD8 requestMajor;
1102 CARD8 requestMinor;
1103 } xkbStateNotify;
1104 #define sz_xkbStateNotify 32
1105
1106 typedef struct _xkbControlsNotify {
1107 BYTE type;
1108 BYTE xkbType;
1109 CARD16 sequenceNumber B16;
1110 Time time B32;
1111 CARD8 deviceID;
1112 CARD8 numGroups;
1113 CARD16 pad1 B16;
1114 CARD32 changedControls B32;
1115 CARD32 enabledControls B32;
1116 CARD32 enabledControlChanges B32;
1117 KeyCode keycode;
1118 CARD8 eventType;
1119 CARD8 requestMajor;
1120 CARD8 requestMinor;
1121 CARD32 pad2 B32;
1122 } xkbControlsNotify;
1123 #define sz_xkbControlsNotify 32
1124
1125 typedef struct _xkbIndicatorNotify {
1126 BYTE type;
1127 BYTE xkbType;
1128 CARD16 sequenceNumber B16;
1129 Time time B32;
1130 CARD8 deviceID;
1131 CARD8 pad1;
1132 CARD16 pad2 B16;
1133 CARD32 state B32;
1134 CARD32 changed B32;
1135 CARD32 pad3 B32;
1136 CARD32 pad4 B32;
1137 CARD32 pad5 B32;
1138 } xkbIndicatorNotify;
1139 #define sz_xkbIndicatorNotify 32
1140
1141 typedef struct _xkbNamesNotify {
1142 BYTE type;
1143 BYTE xkbType;
1144 CARD16 sequenceNumber B16;
1145 Time time B32;
1146 CARD8 deviceID;
1147 CARD8 pad1;
1148 CARD16 changed B16;
1149 CARD8 firstType;
1150 CARD8 nTypes;
1151 CARD8 firstLevelName;
1152 CARD8 nLevelNames;
1153 CARD8 pad2;
1154 CARD8 nRadioGroups;
1155 CARD8 nAliases;
1156 CARD8 changedGroupNames;
1157 CARD16 changedVirtualMods B16;
1158 CARD8 firstKey;
1159 CARD8 nKeys;
1160 CARD32 changedIndicators B32;
1161 CARD32 pad3 B32;
1162 } xkbNamesNotify;
1163 #define sz_xkbNamesNotify 32
1164
1165 typedef struct _xkbCompatMapNotify {
1166 BYTE type;
1167 BYTE xkbType;
1168 CARD16 sequenceNumber B16;
1169 Time time B32;
1170 CARD8 deviceID;
1171 CARD8 changedGroups;
1172 CARD16 firstSI B16;
1173 CARD16 nSI B16;
1174 CARD16 nTotalSI B16;
1175 CARD32 pad1 B32;
1176 CARD32 pad2 B32;
1177 CARD32 pad3 B32;
1178 CARD32 pad4 B32;
1179 } xkbCompatMapNotify;
1180 #define sz_xkbCompatMapNotify 32
1181
1182 typedef struct _xkbBellNotify {
1183 BYTE type;
1184 BYTE xkbType;
1185 CARD16 sequenceNumber B16;
1186 Time time B32;
1187 CARD8 deviceID;
1188 CARD8 bellClass;
1189 CARD8 bellID;
1190 CARD8 percent;
1191 CARD16 pitch B16;
1192 CARD16 duration B16;
1193 Atom name B32;
1194 Window window B32;
1195 BOOL eventOnly;
1196 CARD8 pad1;
1197 CARD16 pad2 B16;
1198 CARD32 pad3 B32;
1199 } xkbBellNotify;
1200 #define sz_xkbBellNotify 32
1201
1202 typedef struct _xkbActionMessage {
1203 BYTE type;
1204 BYTE xkbType;
1205 CARD16 sequenceNumber B16;
1206 Time time B32;
1207 CARD8 deviceID;
1208 KeyCode keycode;
1209 BOOL press;
1210 BOOL keyEventFollows;
1211 CARD8 mods;
1212 CARD8 group;
1213 CARD8 message[8];
1214 CARD16 pad1 B16;
1215 CARD32 pad2 B32;
1216 CARD32 pad3 B32;
1217 } xkbActionMessage;
1218 #define sz_xkbActionMessage 32
1219
1220 typedef struct _xkbAccessXNotify {
1221 BYTE type;
1222 BYTE xkbType;
1223 CARD16 sequenceNumber B16;
1224 Time time B32;
1225 CARD8 deviceID;
1226 KeyCode keycode;
1227 CARD16 detail B16;
1228 CARD16 slowKeysDelay B16;
1229 CARD16 debounceDelay B16;
1230 CARD32 pad1 B32;
1231 CARD32 pad2 B32;
1232 CARD32 pad3 B32;
1233 CARD32 pad4 B32;
1234 } xkbAccessXNotify;
1235 #define sz_xkbAccessXNotify 32
1236
1237 typedef struct _xkbExtensionDeviceNotify {
1238 BYTE type;
1239 BYTE xkbType;
1240 CARD16 sequenceNumber B16;
1241 Time time B32;
1242 CARD8 deviceID;
1243 CARD8 pad1;
1244 CARD16 reason B16;
1245 CARD16 ledClass B16;
1246 CARD16 ledID B16;
1247 CARD32 ledsDefined B32;
1248 CARD32 ledState B32;
1249 CARD8 firstBtn;
1250 CARD8 nBtns;
1251 CARD16 supported B16;
1252 CARD16 unsupported B16;
1253 CARD16 pad3 B16;
1254 } xkbExtensionDeviceNotify;
1255 #define sz_xkbExtensionDeviceNotify 32
1256
1257 typedef struct _xkbEvent {
1258 union {
1259 xkbAnyEvent any;
1260 xkbNewKeyboardNotify new_kbd;
1261 xkbMapNotify map;
1262 xkbStateNotify state;
1263 xkbControlsNotify ctrls;
1264 xkbIndicatorNotify indicators;
1265 xkbNamesNotify names;
1266 xkbCompatMapNotify compat;
1267 xkbBellNotify bell;
1268 xkbActionMessage message;
1269 xkbAccessXNotify accessx;
1270 xkbExtensionDeviceNotify device;
1271 } u;
1272 } xkbEvent;
1273 #define sz_xkbEvent 32
1274
1275 #undef Window
1276 #undef Atom
1277 #undef Time
1278 #undef KeyCode
1279 #undef KeySym
1280
1281 #endif