#ifndef _XKBPROTO_H_
#define _XKBPROTO_H_
#include <X11/Xmd.h>
#include <X11/extensions/XKB.h>
#define Window CARD32
#define Atom CARD32
#define Time CARD32
#define KeyCode CARD8
#define KeySym CARD32
#define XkbPaddedSize(n) ((((unsigned int)(n)+3) >> 2) << 2)
typedef struct _xkbUseExtension {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 wantedMajor B16;
CARD16 wantedMinor B16;
} xkbUseExtensionReq;
#define sz_xkbUseExtensionReq 8
typedef struct _xkbUseExtensionReply {
BYTE type;
BOOL supported;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 serverMajor B16;
CARD16 serverMinor B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xkbUseExtensionReply;
#define sz_xkbUseExtensionReply 32
typedef struct _xkbSelectEvents {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 affectWhich B16;
CARD16 clear B16;
CARD16 selectAll B16;
CARD16 affectMap B16;
CARD16 map B16;
} xkbSelectEventsReq;
#define sz_xkbSelectEventsReq 16
typedef struct _xkbBell {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 bellClass B16;
CARD16 bellID B16;
INT8 percent;
BOOL forceSound;
BOOL eventOnly;
CARD8 pad1;
INT16 pitch B16;
INT16 duration B16;
CARD16 pad2 B16;
Atom name B32;
Window window B32;
} xkbBellReq;
#define sz_xkbBellReq 28
typedef struct _xkbGetState {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 pad B16;
} xkbGetStateReq;
#define sz_xkbGetStateReq 8
typedef struct _xkbGetStateReply {
BYTE type;
BYTE deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 mods;
CARD8 baseMods;
CARD8 latchedMods;
CARD8 lockedMods;
CARD8 group;
CARD8 lockedGroup;
INT16 baseGroup B16;
INT16 latchedGroup B16;
CARD8 compatState;
CARD8 grabMods;
CARD8 compatGrabMods;
CARD8 lookupMods;
CARD8 compatLookupMods;
CARD8 pad1;
CARD16 ptrBtnState B16;
CARD16 pad2 B16;
CARD32 pad3 B32;
} xkbGetStateReply;
#define sz_xkbGetStateReply 32
typedef struct _xkbLatchLockState {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD8 affectModLocks;
CARD8 modLocks;
BOOL lockGroup;
CARD8 groupLock;
CARD8 affectModLatches;
CARD8 modLatches;
CARD8 pad;
BOOL latchGroup;
INT16 groupLatch B16;
} xkbLatchLockStateReq;
#define sz_xkbLatchLockStateReq 16
typedef struct _xkbGetControls {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 pad B16;
} xkbGetControlsReq;
#define sz_xkbGetControlsReq 8
typedef struct _xkbGetControlsReply {
BYTE type;
CARD8 deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 mkDfltBtn;
CARD8 numGroups;
CARD8 groupsWrap;
CARD8 internalMods;
CARD8 ignoreLockMods;
CARD8 internalRealMods;
CARD8 ignoreLockRealMods;
CARD8 pad1;
CARD16 internalVMods B16;
CARD16 ignoreLockVMods B16;
CARD16 repeatDelay B16;
CARD16 repeatInterval B16;
CARD16 slowKeysDelay B16;
CARD16 debounceDelay B16;
CARD16 mkDelay B16;
CARD16 mkInterval B16;
CARD16 mkTimeToMax B16;
CARD16 mkMaxSpeed B16;
INT16 mkCurve B16;
CARD16 axOptions B16;
CARD16 axTimeout B16;
CARD16 axtOptsMask B16;
CARD16 axtOptsValues B16;
CARD16 pad2 B16;
CARD32 axtCtrlsMask B32;
CARD32 axtCtrlsValues B32;
CARD32 enabledCtrls B32;
BYTE perKeyRepeat[XkbPerKeyBitArraySize];
} xkbGetControlsReply;
#define sz_xkbGetControlsReply 92
typedef struct _xkbSetControls {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD8 affectInternalMods;
CARD8 internalMods;
CARD8 affectIgnoreLockMods;
CARD8 ignoreLockMods;
CARD16 affectInternalVMods B16;
CARD16 internalVMods B16;
CARD16 affectIgnoreLockVMods B16;
CARD16 ignoreLockVMods B16;
CARD8 mkDfltBtn;
CARD8 groupsWrap;
CARD16 axOptions B16;
CARD16 pad1 B16;
CARD32 affectEnabledCtrls B32;
CARD32 enabledCtrls B32;
CARD32 changeCtrls B32;
CARD16 repeatDelay B16;
CARD16 repeatInterval B16;
CARD16 slowKeysDelay B16;
CARD16 debounceDelay B16;
CARD16 mkDelay B16;
CARD16 mkInterval B16;
CARD16 mkTimeToMax B16;
CARD16 mkMaxSpeed B16;
INT16 mkCurve B16;
CARD16 axTimeout B16;
CARD32 axtCtrlsMask B32;
CARD32 axtCtrlsValues B32;
CARD16 axtOptsMask B16;
CARD16 axtOptsValues B16;
BYTE perKeyRepeat[XkbPerKeyBitArraySize];
} xkbSetControlsReq;
#define sz_xkbSetControlsReq 100
typedef struct _xkbKTMapEntryWireDesc {
BOOL active;
CARD8 mask;
CARD8 level;
CARD8 realMods;
CARD16 virtualMods B16;
CARD16 pad B16;
} xkbKTMapEntryWireDesc;
#define sz_xkbKTMapEntryWireDesc 8
typedef struct _xkbKTSetMapEntryWireDesc {
CARD8 level;
CARD8 realMods;
CARD16 virtualMods B16;
} xkbKTSetMapEntryWireDesc;
#define sz_xkbKTSetMapEntryWireDesc 4
typedef struct _xkbModsWireDesc {
CARD8 mask;
CARD8 realMods;
CARD16 virtualMods B16;
} xkbModsWireDesc;
#define sz_xkbModsWireDesc 4
typedef struct _xkbKeyTypeWireDesc {
CARD8 mask;
CARD8 realMods;
CARD16 virtualMods B16;
CARD8 numLevels;
CARD8 nMapEntries;
BOOL preserve;
CARD8 pad;
} xkbKeyTypeWireDesc;
#define sz_xkbKeyTypeWireDesc 8
typedef struct _xkbSymMapWireDesc {
CARD8 ktIndex[XkbNumKbdGroups];
CARD8 groupInfo;
CARD8 width;
CARD16 nSyms B16;
} xkbSymMapWireDesc;
#define sz_xkbSymMapWireDesc 8
typedef struct _xkbVModMapWireDesc {
KeyCode key;
CARD8 pad;
CARD16 vmods B16;
} xkbVModMapWireDesc;
#define sz_xkbVModMapWireDesc 4
typedef struct _xkbBehaviorWireDesc {
CARD8 key;
CARD8 type;
CARD8 data;
CARD8 pad;
} xkbBehaviorWireDesc;
#define sz_xkbBehaviorWireDesc 4
typedef struct _xkbActionWireDesc {
CARD8 type;
CARD8 data[7];
} xkbActionWireDesc;
#define sz_xkbActionWireDesc 8
typedef struct _xkbGetMap {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 full B16;
CARD16 partial B16;
CARD8 firstType;
CARD8 nTypes;
KeyCode firstKeySym;
CARD8 nKeySyms;
KeyCode firstKeyAct;
CARD8 nKeyActs;
KeyCode firstKeyBehavior;
CARD8 nKeyBehaviors;
CARD16 virtualMods B16;
KeyCode firstKeyExplicit;
CARD8 nKeyExplicit;
KeyCode firstModMapKey;
CARD8 nModMapKeys;
KeyCode firstVModMapKey;
CARD8 nVModMapKeys;
CARD16 pad1 B16;
} xkbGetMapReq;
#define sz_xkbGetMapReq 28
typedef struct _xkbGetMapReply {
CARD8 type;
CARD8 deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 pad1 B16;
KeyCode minKeyCode;
KeyCode maxKeyCode;
CARD16 present B16;
CARD8 firstType;
CARD8 nTypes;
CARD8 totalTypes;
KeyCode firstKeySym;
CARD16 totalSyms B16;
CARD8 nKeySyms;
KeyCode firstKeyAct;
CARD16 totalActs B16;
CARD8 nKeyActs;
KeyCode firstKeyBehavior;
CARD8 nKeyBehaviors;
CARD8 totalKeyBehaviors;
KeyCode firstKeyExplicit;
CARD8 nKeyExplicit;
CARD8 totalKeyExplicit;
KeyCode firstModMapKey;
CARD8 nModMapKeys;
CARD8 totalModMapKeys;
KeyCode firstVModMapKey;
CARD8 nVModMapKeys;
CARD8 totalVModMapKeys;
CARD8 pad2;
CARD16 virtualMods B16;
} xkbGetMapReply;
#define sz_xkbGetMapReply 40
#define XkbSetMapResizeTypes (1L<<0)
#define XkbSetMapRecomputeActions (1L<<1)
#define XkbSetMapAllFlags (0x3)
typedef struct _xkbSetMap {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 present B16;
CARD16 flags B16;
KeyCode minKeyCode;
KeyCode maxKeyCode;
CARD8 firstType;
CARD8 nTypes;
KeyCode firstKeySym;
CARD8 nKeySyms;
CARD16 totalSyms B16;
KeyCode firstKeyAct;
CARD8 nKeyActs;
CARD16 totalActs B16;
KeyCode firstKeyBehavior;
CARD8 nKeyBehaviors;
CARD8 totalKeyBehaviors;
KeyCode firstKeyExplicit;
CARD8 nKeyExplicit;
CARD8 totalKeyExplicit;
KeyCode firstModMapKey;
CARD8 nModMapKeys;
CARD8 totalModMapKeys;
KeyCode firstVModMapKey;
CARD8 nVModMapKeys;
CARD8 totalVModMapKeys;
CARD16 virtualMods B16;
} xkbSetMapReq;
#define sz_xkbSetMapReq 36
typedef struct _xkbSymInterpretWireDesc {
CARD32 sym B32;
CARD8 mods;
CARD8 match;
CARD8 virtualMod;
CARD8 flags;
xkbActionWireDesc act;
} xkbSymInterpretWireDesc;
#define sz_xkbSymInterpretWireDesc 16
typedef struct _xkbGetCompatMap {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD8 groups;
BOOL getAllSI;
CARD16 firstSI B16;
CARD16 nSI B16;
} xkbGetCompatMapReq;
#define sz_xkbGetCompatMapReq 12
typedef struct _xkbGetCompatMapReply {
CARD8 type;
CARD8 deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 groups;
CARD8 pad1;
CARD16 firstSI B16;
CARD16 nSI B16;
CARD16 nTotalSI B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xkbGetCompatMapReply;
#define sz_xkbGetCompatMapReply 32
typedef struct _xkbSetCompatMap {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD8 pad1;
BOOL recomputeActions;
BOOL truncateSI;
CARD8 groups;
CARD16 firstSI B16;
CARD16 nSI B16;
CARD16 pad2 B16;
} xkbSetCompatMapReq;
#define sz_xkbSetCompatMapReq 16
typedef struct _xkbGetIndicatorState {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 pad1 B16;
} xkbGetIndicatorStateReq;
#define sz_xkbGetIndicatorStateReq 8
typedef struct _xkbGetIndicatorStateReply {
CARD8 type;
CARD8 deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 state B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xkbGetIndicatorStateReply;
#define sz_xkbGetIndicatorStateReply 32
typedef struct _xkbGetIndicatorMap {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 pad B16;
CARD32 which B32;
} xkbGetIndicatorMapReq;
#define sz_xkbGetIndicatorMapReq 12
typedef struct _xkbGetIndicatorMapReply {
CARD8 type;
CARD8 deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 which B32;
CARD32 realIndicators B32;
CARD8 nIndicators;
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xkbGetIndicatorMapReply;
#define sz_xkbGetIndicatorMapReply 32
typedef struct _xkbIndicatorMapWireDesc {
CARD8 flags;
CARD8 whichGroups;
CARD8 groups;
CARD8 whichMods;
CARD8 mods;
CARD8 realMods;
CARD16 virtualMods B16;
CARD32 ctrls B32;
} xkbIndicatorMapWireDesc;
#define sz_xkbIndicatorMapWireDesc 12
typedef struct _xkbSetIndicatorMap {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 pad1 B16;
CARD32 which B32;
} xkbSetIndicatorMapReq;
#define sz_xkbSetIndicatorMapReq 12
typedef struct _xkbGetNamedIndicator {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 ledClass B16;
CARD16 ledID B16;
CARD16 pad1 B16;
Atom indicator B32;
} xkbGetNamedIndicatorReq;
#define sz_xkbGetNamedIndicatorReq 16
typedef struct _xkbGetNamedIndicatorReply {
BYTE type;
BYTE deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
Atom indicator B32;
BOOL found;
BOOL on;
BOOL realIndicator;
CARD8 ndx;
CARD8 flags;
CARD8 whichGroups;
CARD8 groups;
CARD8 whichMods;
CARD8 mods;
CARD8 realMods;
CARD16 virtualMods B16;
CARD32 ctrls B32;
BOOL supported;
CARD8 pad1;
CARD16 pad2 B16;
} xkbGetNamedIndicatorReply;
#define sz_xkbGetNamedIndicatorReply 32
typedef struct _xkbSetNamedIndicator {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 ledClass B16;
CARD16 ledID B16;
CARD16 pad1 B16;
Atom indicator B32;
BOOL setState;
BOOL on;
BOOL setMap;
BOOL createMap;
CARD8 pad2;
CARD8 flags;
CARD8 whichGroups;
CARD8 groups;
CARD8 whichMods;
CARD8 realMods;
CARD16 virtualMods B16;
CARD32 ctrls B32;
} xkbSetNamedIndicatorReq;
#define sz_xkbSetNamedIndicatorReq 32
typedef struct _xkbGetNames {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 pad B16;
CARD32 which B32;
} xkbGetNamesReq;
#define sz_xkbGetNamesReq 12
typedef struct _xkbGetNamesReply {
BYTE type;
BYTE deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 which B32;
KeyCode minKeyCode;
KeyCode maxKeyCode;
CARD8 nTypes;
CARD8 groupNames;
CARD16 virtualMods B16;
KeyCode firstKey;
CARD8 nKeys;
CARD32 indicators B32;
CARD8 nRadioGroups;
CARD8 nKeyAliases;
CARD16 nKTLevels B16;
CARD32 pad3 B32;
} xkbGetNamesReply;
#define sz_xkbGetNamesReply 32
typedef struct _xkbSetNames {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 virtualMods B16;
CARD32 which B32;
CARD8 firstType;
CARD8 nTypes;
CARD8 firstKTLevel;
CARD8 nKTLevels;
CARD32 indicators B32;
CARD8 groupNames;
CARD8 nRadioGroups;
KeyCode firstKey;
CARD8 nKeys;
CARD8 nKeyAliases;
CARD8 pad1;
CARD16 totalKTLevelNames B16;
} xkbSetNamesReq;
#define sz_xkbSetNamesReq 28
typedef struct _xkbPointWireDesc {
INT16 x B16;
INT16 y B16;
} xkbPointWireDesc;
#define sz_xkbPointWireDesc 4
typedef struct _xkbOutlineWireDesc {
CARD8 nPoints;
CARD8 cornerRadius;
CARD16 pad B16;
} xkbOutlineWireDesc;
#define sz_xkbOutlineWireDesc 4
typedef struct _xkbShapeWireDesc {
Atom name B32;
CARD8 nOutlines;
CARD8 primaryNdx;
CARD8 approxNdx;
CARD8 pad;
} xkbShapeWireDesc;
#define sz_xkbShapeWireDesc 8
typedef struct _xkbSectionWireDesc {
Atom name B32;
INT16 top B16;
INT16 left B16;
CARD16 width B16;
CARD16 height B16;
INT16 angle B16;
CARD8 priority;
CARD8 nRows;
CARD8 nDoodads;
CARD8 nOverlays;
CARD16 pad B16;
} xkbSectionWireDesc;
#define sz_xkbSectionWireDesc 20
typedef struct _xkbRowWireDesc {
INT16 top B16;
INT16 left B16;
CARD8 nKeys;
BOOL vertical;
CARD16 pad B16;
} xkbRowWireDesc;
#define sz_xkbRowWireDesc 8
typedef struct _xkbKeyWireDesc {
CARD8 name[XkbKeyNameLength];
INT16 gap B16;
CARD8 shapeNdx;
CARD8 colorNdx;
} xkbKeyWireDesc;
#define sz_xkbKeyWireDesc 8
typedef struct _xkbOverlayWireDesc {
Atom name B32;
CARD8 nRows;
CARD8 pad1;
CARD16 pad2 B16;
} xkbOverlayWireDesc;
#define sz_xkbOverlayWireDesc 8
typedef struct _xkbOverlayRowWireDesc {
CARD8 rowUnder;
CARD8 nKeys;
CARD16 pad1 B16;
} xkbOverlayRowWireDesc;
#define sz_xkbOverlayRowWireDesc 4
typedef struct _xkbOverlayKeyWireDesc {
CARD8 over[XkbKeyNameLength];
CARD8 under[XkbKeyNameLength];
} xkbOverlayKeyWireDesc;
#define sz_xkbOverlayKeyWireDesc 8
typedef struct _xkbShapeDoodadWireDesc {
Atom name B32;
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
CARD8 colorNdx;
CARD8 shapeNdx;
CARD16 pad1 B16;
CARD32 pad2 B32;
} xkbShapeDoodadWireDesc;
#define sz_xkbShapeDoodadWireDesc 20
typedef struct _xkbTextDoodadWireDesc {
Atom name B32;
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
CARD16 width B16;
CARD16 height B16;
CARD8 colorNdx;
CARD8 pad1;
CARD16 pad2 B16;
} xkbTextDoodadWireDesc;
#define sz_xkbTextDoodadWireDesc 20
typedef struct _xkbIndicatorDoodadWireDesc {
Atom name B32;
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
CARD8 shapeNdx;
CARD8 onColorNdx;
CARD8 offColorNdx;
CARD8 pad1;
CARD32 pad2 B32;
} xkbIndicatorDoodadWireDesc;
#define sz_xkbIndicatorDoodadWireDesc 20
typedef struct _xkbLogoDoodadWireDesc {
Atom name B32;
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
CARD8 colorNdx;
CARD8 shapeNdx;
CARD16 pad1 B16;
CARD32 pad2 B32;
} xkbLogoDoodadWireDesc;
#define sz_xkbLogoDoodadWireDesc 20
typedef struct _xkbAnyDoodadWireDesc {
Atom name B32;
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xkbAnyDoodadWireDesc;
#define sz_xkbAnyDoodadWireDesc 20
typedef union _xkbDoodadWireDesc {
xkbAnyDoodadWireDesc any;
xkbShapeDoodadWireDesc shape;
xkbTextDoodadWireDesc text;
xkbIndicatorDoodadWireDesc indicator;
xkbLogoDoodadWireDesc logo;
} xkbDoodadWireDesc;
#define sz_xkbDoodadWireDesc 20
typedef struct _xkbGetGeometry {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 pad B16;
Atom name B32;
} xkbGetGeometryReq;
#define sz_xkbGetGeometryReq 12
typedef struct _xkbGetGeometryReply {
CARD8 type;
CARD8 deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
Atom name B32;
BOOL found;
CARD8 pad;
CARD16 widthMM B16;
CARD16 heightMM B16;
CARD16 nProperties B16;
CARD16 nColors B16;
CARD16 nShapes B16;
CARD16 nSections B16;
CARD16 nDoodads B16;
CARD16 nKeyAliases B16;
CARD8 baseColorNdx;
CARD8 labelColorNdx;
} xkbGetGeometryReply;
#define sz_xkbGetGeometryReply 32
typedef struct _xkbSetGeometry {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD8 nShapes;
CARD8 nSections;
Atom name B32;
CARD16 widthMM B16;
CARD16 heightMM B16;
CARD16 nProperties B16;
CARD16 nColors B16;
CARD16 nDoodads B16;
CARD16 nKeyAliases B16;
CARD8 baseColorNdx;
CARD8 labelColorNdx;
CARD16 pad B16;
} xkbSetGeometryReq;
#define sz_xkbSetGeometryReq 28
typedef struct _xkbPerClientFlags {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 pad1 B16;
CARD32 change B32;
CARD32 value B32;
CARD32 ctrlsToChange B32;
CARD32 autoCtrls B32;
CARD32 autoCtrlValues B32;
} xkbPerClientFlagsReq;
#define sz_xkbPerClientFlagsReq 28
typedef struct _xkbPerClientFlagsReply {
CARD8 type;
CARD8 deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 supported B32;
CARD32 value B32;
CARD32 autoCtrls B32;
CARD32 autoCtrlValues B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xkbPerClientFlagsReply;
#define sz_xkbPerClientFlagsReply 32
typedef struct _xkbListComponents {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 maxNames B16;
} xkbListComponentsReq;
#define sz_xkbListComponentsReq 8
typedef struct _xkbListComponentsReply {
CARD8 type;
CARD8 deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 nKeymaps B16;
CARD16 nKeycodes B16;
CARD16 nTypes B16;
CARD16 nCompatMaps B16;
CARD16 nSymbols B16;
CARD16 nGeometries B16;
CARD16 extra B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xkbListComponentsReply;
#define sz_xkbListComponentsReply 32
typedef struct _xkbGetKbdByName {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 need B16;
CARD16 want B16;
BOOL load;
CARD8 pad;
} xkbGetKbdByNameReq;
#define sz_xkbGetKbdByNameReq 12
typedef struct _xkbGetKbdByNameReply {
CARD8 type;
CARD8 deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
KeyCode minKeyCode;
KeyCode maxKeyCode;
BOOL loaded;
BOOL newKeyboard;
CARD16 found B16;
CARD16 reported B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xkbGetKbdByNameReply;
#define sz_xkbGetKbdByNameReply 32
typedef struct _xkbDeviceLedsWireDesc {
CARD16 ledClass B16;
CARD16 ledID B16;
CARD32 namesPresent B32;
CARD32 mapsPresent B32;
CARD32 physIndicators B32;
CARD32 state B32;
} xkbDeviceLedsWireDesc;
#define sz_xkbDeviceLedsWireDesc 20
typedef struct _xkbGetDeviceInfo {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD16 wanted B16;
BOOL allBtns;
CARD8 firstBtn;
CARD8 nBtns;
CARD8 pad;
CARD16 ledClass B16;
CARD16 ledID B16;
} xkbGetDeviceInfoReq;
#define sz_xkbGetDeviceInfoReq 16
typedef struct _xkbGetDeviceInfoReply {
CARD8 type;
CARD8 deviceID;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 present B16;
CARD16 supported B16;
CARD16 unsupported B16;
CARD16 nDeviceLedFBs B16;
CARD8 firstBtnWanted;
CARD8 nBtnsWanted;
CARD8 firstBtnRtrn;
CARD8 nBtnsRtrn;
CARD8 totalBtns;
BOOL hasOwnState;
CARD16 dfltKbdFB B16;
CARD16 dfltLedFB B16;
CARD16 pad B16;
Atom devType B32;
} xkbGetDeviceInfoReply;
#define sz_xkbGetDeviceInfoReply 32
typedef struct _xkbSetDeviceInfo {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 deviceSpec B16;
CARD8 firstBtn;
CARD8 nBtns;
CARD16 change B16;
CARD16 nDeviceLedFBs B16;
} xkbSetDeviceInfoReq;
#define sz_xkbSetDeviceInfoReq 12
typedef struct _xkbSetDebuggingFlags {
CARD8 reqType;
CARD8 xkbReqType;
CARD16 length B16;
CARD16 msgLength B16;
CARD16 pad B16;
CARD32 affectFlags B32;
CARD32 flags B32;
CARD32 affectCtrls B32;
CARD32 ctrls B32;
} xkbSetDebuggingFlagsReq;
#define sz_xkbSetDebuggingFlagsReq 24
typedef struct _xkbSetDebuggingFlagsReply {
BYTE type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 currentFlags B32;
CARD32 currentCtrls B32;
CARD32 supportedFlags B32;
CARD32 supportedCtrls B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xkbSetDebuggingFlagsReply;
#define sz_xkbSetDebuggingFlagsReply 32
typedef struct _xkbAnyEvent {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xkbAnyEvent;
#define sz_xkbAnyEvent 32
typedef struct _xkbNewKeyboardNotify {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
CARD8 oldDeviceID;
KeyCode minKeyCode;
KeyCode maxKeyCode;
KeyCode oldMinKeyCode;
KeyCode oldMaxKeyCode;
CARD8 requestMajor;
CARD8 requestMinor;
CARD16 changed B16;
CARD8 detail;
CARD8 pad1;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xkbNewKeyboardNotify;
#define sz_xkbNewKeyboardNotify 32
typedef struct _xkbMapNotify {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
CARD8 ptrBtnActions;
CARD16 changed B16;
KeyCode minKeyCode;
KeyCode maxKeyCode;
CARD8 firstType;
CARD8 nTypes;
KeyCode firstKeySym;
CARD8 nKeySyms;
KeyCode firstKeyAct;
CARD8 nKeyActs;
KeyCode firstKeyBehavior;
CARD8 nKeyBehaviors;
KeyCode firstKeyExplicit;
CARD8 nKeyExplicit;
KeyCode firstModMapKey;
CARD8 nModMapKeys;
KeyCode firstVModMapKey;
CARD8 nVModMapKeys;
CARD16 virtualMods B16;
CARD16 pad1 B16;
} xkbMapNotify;
#define sz_xkbMapNotify 32
typedef struct _xkbStateNotify {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
CARD8 mods;
CARD8 baseMods;
CARD8 latchedMods;
CARD8 lockedMods;
CARD8 group;
INT16 baseGroup B16;
INT16 latchedGroup B16;
CARD8 lockedGroup;
CARD8 compatState;
CARD8 grabMods;
CARD8 compatGrabMods;
CARD8 lookupMods;
CARD8 compatLookupMods;
CARD16 ptrBtnState B16;
CARD16 changed B16;
KeyCode keycode;
CARD8 eventType;
CARD8 requestMajor;
CARD8 requestMinor;
} xkbStateNotify;
#define sz_xkbStateNotify 32
typedef struct _xkbControlsNotify {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
CARD8 numGroups;
CARD16 pad1 B16;
CARD32 changedControls B32;
CARD32 enabledControls B32;
CARD32 enabledControlChanges B32;
KeyCode keycode;
CARD8 eventType;
CARD8 requestMajor;
CARD8 requestMinor;
CARD32 pad2 B32;
} xkbControlsNotify;
#define sz_xkbControlsNotify 32
typedef struct _xkbIndicatorNotify {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
CARD8 pad1;
CARD16 pad2 B16;
CARD32 state B32;
CARD32 changed B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xkbIndicatorNotify;
#define sz_xkbIndicatorNotify 32
typedef struct _xkbNamesNotify {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
CARD8 pad1;
CARD16 changed B16;
CARD8 firstType;
CARD8 nTypes;
CARD8 firstLevelName;
CARD8 nLevelNames;
CARD8 pad2;
CARD8 nRadioGroups;
CARD8 nAliases;
CARD8 changedGroupNames;
CARD16 changedVirtualMods B16;
CARD8 firstKey;
CARD8 nKeys;
CARD32 changedIndicators B32;
CARD32 pad3 B32;
} xkbNamesNotify;
#define sz_xkbNamesNotify 32
typedef struct _xkbCompatMapNotify {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
CARD8 changedGroups;
CARD16 firstSI B16;
CARD16 nSI B16;
CARD16 nTotalSI B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xkbCompatMapNotify;
#define sz_xkbCompatMapNotify 32
typedef struct _xkbBellNotify {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
CARD8 bellClass;
CARD8 bellID;
CARD8 percent;
CARD16 pitch B16;
CARD16 duration B16;
Atom name B32;
Window window B32;
BOOL eventOnly;
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
} xkbBellNotify;
#define sz_xkbBellNotify 32
typedef struct _xkbActionMessage {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
KeyCode keycode;
BOOL press;
BOOL keyEventFollows;
CARD8 mods;
CARD8 group;
CARD8 message[8];
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xkbActionMessage;
#define sz_xkbActionMessage 32
typedef struct _xkbAccessXNotify {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
KeyCode keycode;
CARD16 detail B16;
CARD16 slowKeysDelay B16;
CARD16 debounceDelay B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xkbAccessXNotify;
#define sz_xkbAccessXNotify 32
typedef struct _xkbExtensionDeviceNotify {
BYTE type;
BYTE xkbType;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 deviceID;
CARD8 pad1;
CARD16 reason B16;
CARD16 ledClass B16;
CARD16 ledID B16;
CARD32 ledsDefined B32;
CARD32 ledState B32;
CARD8 firstBtn;
CARD8 nBtns;
CARD16 supported B16;
CARD16 unsupported B16;
CARD16 pad3 B16;
} xkbExtensionDeviceNotify;
#define sz_xkbExtensionDeviceNotify 32
typedef struct _xkbEvent {
union {
xkbAnyEvent any;
xkbNewKeyboardNotify new_kbd;
xkbMapNotify map;
xkbStateNotify state;
xkbControlsNotify ctrls;
xkbIndicatorNotify indicators;
xkbNamesNotify names;
xkbCompatMapNotify compat;
xkbBellNotify bell;
xkbActionMessage message;
xkbAccessXNotify accessx;
xkbExtensionDeviceNotify device;
} u;
} xkbEvent;
#define sz_xkbEvent 32
#undef Window
#undef Atom
#undef Time
#undef KeyCode
#undef KeySym
#endif