117ca54c3Smrg/************************************************************ 217ca54c3SmrgCopyright (c) 1993 by Silicon Graphics Computer Systems, Inc. 317ca54c3Smrg 417ca54c3SmrgPermission to use, copy, modify, and distribute this 517ca54c3Smrgsoftware and its documentation for any purpose and without 617ca54c3Smrgfee is hereby granted, provided that the above copyright 717ca54c3Smrgnotice appear in all copies and that both that copyright 817ca54c3Smrgnotice and this permission notice appear in supporting 9ea1d6981Smrgdocumentation, and that the name of Silicon Graphics not be 10ea1d6981Smrgused in advertising or publicity pertaining to distribution 1117ca54c3Smrgof the software without specific prior written permission. 12ea1d6981SmrgSilicon Graphics makes no representation about the suitability 1317ca54c3Smrgof this software for any purpose. It is provided "as is" 1417ca54c3Smrgwithout any express or implied warranty. 1517ca54c3Smrg 16ea1d6981SmrgSILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 17ea1d6981SmrgSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 1817ca54c3SmrgAND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON 19ea1d6981SmrgGRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 20ea1d6981SmrgDAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 21ea1d6981SmrgDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 2217ca54c3SmrgOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH 2317ca54c3SmrgTHE USE OR PERFORMANCE OF THIS SOFTWARE. 2417ca54c3Smrg 2517ca54c3Smrg********************************************************/ 2617ca54c3Smrg 2717ca54c3Smrg#ifndef _XKBPROTO_H_ 2817ca54c3Smrg#define _XKBPROTO_H_ 2917ca54c3Smrg 3017ca54c3Smrg#include <X11/Xmd.h> 31d63b911fSmrg#include <X11/Xfuncproto.h> 3217ca54c3Smrg#include <X11/extensions/XKB.h> 3317ca54c3Smrg 3417ca54c3Smrg#define Window CARD32 3517ca54c3Smrg#define Atom CARD32 3617ca54c3Smrg#define Time CARD32 3717ca54c3Smrg#define KeyCode CARD8 3817ca54c3Smrg#define KeySym CARD32 3917ca54c3Smrg 4017ca54c3Smrg#define XkbPaddedSize(n) ((((unsigned int)(n)+3) >> 2) << 2) 4117ca54c3Smrg 4217ca54c3Smrgtypedef struct _xkbUseExtension { 4317ca54c3Smrg CARD8 reqType; 4417ca54c3Smrg CARD8 xkbReqType; /* always X_KBUseExtension */ 45ea1d6981Smrg CARD16 length; 46ea1d6981Smrg CARD16 wantedMajor; 47ea1d6981Smrg CARD16 wantedMinor; 4817ca54c3Smrg} xkbUseExtensionReq; 4917ca54c3Smrg#define sz_xkbUseExtensionReq 8 5017ca54c3Smrg 5117ca54c3Smrgtypedef struct _xkbUseExtensionReply { 5217ca54c3Smrg BYTE type; /* X_Reply */ 5317ca54c3Smrg BOOL supported; 54ea1d6981Smrg CARD16 sequenceNumber; 55ea1d6981Smrg CARD32 length; 56ea1d6981Smrg CARD16 serverMajor; 57ea1d6981Smrg CARD16 serverMinor; 58ea1d6981Smrg CARD32 pad1; 59ea1d6981Smrg CARD32 pad2; 60ea1d6981Smrg CARD32 pad3; 61ea1d6981Smrg CARD32 pad4; 62ea1d6981Smrg CARD32 pad5; 6317ca54c3Smrg} xkbUseExtensionReply; 6417ca54c3Smrg#define sz_xkbUseExtensionReply 32 6517ca54c3Smrg 6617ca54c3Smrgtypedef struct _xkbSelectEvents { 6717ca54c3Smrg CARD8 reqType; 6817ca54c3Smrg CARD8 xkbReqType; /* X_KBSelectEvents */ 69ea1d6981Smrg CARD16 length; 70ea1d6981Smrg CARD16 deviceSpec; 71ea1d6981Smrg CARD16 affectWhich; 72ea1d6981Smrg CARD16 clear; 73ea1d6981Smrg CARD16 selectAll; 74ea1d6981Smrg CARD16 affectMap; 75ea1d6981Smrg CARD16 map; 7617ca54c3Smrg} xkbSelectEventsReq; 7717ca54c3Smrg#define sz_xkbSelectEventsReq 16 7817ca54c3Smrg 7917ca54c3Smrgtypedef struct _xkbBell { 8017ca54c3Smrg CARD8 reqType; 8117ca54c3Smrg CARD8 xkbReqType; /* X_KBBell */ 82ea1d6981Smrg CARD16 length; 83ea1d6981Smrg CARD16 deviceSpec; 84ea1d6981Smrg CARD16 bellClass; 85ea1d6981Smrg CARD16 bellID; 8617ca54c3Smrg INT8 percent; 8717ca54c3Smrg BOOL forceSound; 8817ca54c3Smrg BOOL eventOnly; 8917ca54c3Smrg CARD8 pad1; 90ea1d6981Smrg INT16 pitch; 91ea1d6981Smrg INT16 duration; 92ea1d6981Smrg CARD16 pad2; 93ea1d6981Smrg Atom name; 94ea1d6981Smrg Window window; 9517ca54c3Smrg} xkbBellReq; 9617ca54c3Smrg#define sz_xkbBellReq 28 9717ca54c3Smrg 9817ca54c3Smrgtypedef struct _xkbGetState { 9917ca54c3Smrg CARD8 reqType; 10017ca54c3Smrg CARD8 xkbReqType; /* always X_KBGetState */ 101ea1d6981Smrg CARD16 length; 102ea1d6981Smrg CARD16 deviceSpec; 103ea1d6981Smrg CARD16 pad; 10417ca54c3Smrg} xkbGetStateReq; 10517ca54c3Smrg#define sz_xkbGetStateReq 8 10617ca54c3Smrg 10717ca54c3Smrgtypedef struct _xkbGetStateReply { 10817ca54c3Smrg BYTE type; 10917ca54c3Smrg BYTE deviceID; 110ea1d6981Smrg CARD16 sequenceNumber; 111ea1d6981Smrg CARD32 length; 11217ca54c3Smrg CARD8 mods; 11317ca54c3Smrg CARD8 baseMods; 11417ca54c3Smrg CARD8 latchedMods; 11517ca54c3Smrg CARD8 lockedMods; 11617ca54c3Smrg CARD8 group; 11717ca54c3Smrg CARD8 lockedGroup; 118ea1d6981Smrg INT16 baseGroup; 119ea1d6981Smrg INT16 latchedGroup; 12017ca54c3Smrg CARD8 compatState; 12117ca54c3Smrg CARD8 grabMods; 12217ca54c3Smrg CARD8 compatGrabMods; 12317ca54c3Smrg CARD8 lookupMods; 12417ca54c3Smrg CARD8 compatLookupMods; 12517ca54c3Smrg CARD8 pad1; 126ea1d6981Smrg CARD16 ptrBtnState; 127ea1d6981Smrg CARD16 pad2; 128ea1d6981Smrg CARD32 pad3; 12917ca54c3Smrg} xkbGetStateReply; 13017ca54c3Smrg#define sz_xkbGetStateReply 32 13117ca54c3Smrg 13217ca54c3Smrgtypedef struct _xkbLatchLockState { 13317ca54c3Smrg CARD8 reqType; 13417ca54c3Smrg CARD8 xkbReqType; /* always X_KBLatchLockState */ 135ea1d6981Smrg CARD16 length; 136ea1d6981Smrg CARD16 deviceSpec; 13717ca54c3Smrg CARD8 affectModLocks; 13817ca54c3Smrg CARD8 modLocks; 13917ca54c3Smrg BOOL lockGroup; 14017ca54c3Smrg CARD8 groupLock; 14117ca54c3Smrg CARD8 affectModLatches; 14217ca54c3Smrg CARD8 modLatches; 14317ca54c3Smrg CARD8 pad; 14417ca54c3Smrg BOOL latchGroup; 145ea1d6981Smrg INT16 groupLatch; 14617ca54c3Smrg} xkbLatchLockStateReq; 14717ca54c3Smrg#define sz_xkbLatchLockStateReq 16 14817ca54c3Smrg 14917ca54c3Smrgtypedef struct _xkbGetControls { 15017ca54c3Smrg CARD8 reqType; 15117ca54c3Smrg CARD8 xkbReqType; /* always X_KBGetControls */ 152ea1d6981Smrg CARD16 length; 153ea1d6981Smrg CARD16 deviceSpec; 154ea1d6981Smrg CARD16 pad; 15517ca54c3Smrg} xkbGetControlsReq; 15617ca54c3Smrg#define sz_xkbGetControlsReq 8 15717ca54c3Smrg 15817ca54c3Smrgtypedef struct _xkbGetControlsReply { 15917ca54c3Smrg BYTE type; /* X_Reply */ 16017ca54c3Smrg CARD8 deviceID; 161ea1d6981Smrg CARD16 sequenceNumber; 162ea1d6981Smrg CARD32 length; 16317ca54c3Smrg CARD8 mkDfltBtn; 16417ca54c3Smrg CARD8 numGroups; 16517ca54c3Smrg CARD8 groupsWrap; 16617ca54c3Smrg CARD8 internalMods; 16717ca54c3Smrg CARD8 ignoreLockMods; 16817ca54c3Smrg CARD8 internalRealMods; 16917ca54c3Smrg CARD8 ignoreLockRealMods; 17017ca54c3Smrg CARD8 pad1; 171ea1d6981Smrg CARD16 internalVMods; 172ea1d6981Smrg CARD16 ignoreLockVMods; 173ea1d6981Smrg CARD16 repeatDelay; 174ea1d6981Smrg CARD16 repeatInterval; 175ea1d6981Smrg CARD16 slowKeysDelay; 176ea1d6981Smrg CARD16 debounceDelay; 177ea1d6981Smrg CARD16 mkDelay; 178ea1d6981Smrg CARD16 mkInterval; 179ea1d6981Smrg CARD16 mkTimeToMax; 180ea1d6981Smrg CARD16 mkMaxSpeed; 181ea1d6981Smrg INT16 mkCurve; 182ea1d6981Smrg CARD16 axOptions; 183ea1d6981Smrg CARD16 axTimeout; 184ea1d6981Smrg CARD16 axtOptsMask; 185ea1d6981Smrg CARD16 axtOptsValues; 186ea1d6981Smrg CARD16 pad2; 187ea1d6981Smrg CARD32 axtCtrlsMask; 188ea1d6981Smrg CARD32 axtCtrlsValues; 189ea1d6981Smrg CARD32 enabledCtrls; 19017ca54c3Smrg BYTE perKeyRepeat[XkbPerKeyBitArraySize]; 19117ca54c3Smrg} xkbGetControlsReply; 19217ca54c3Smrg#define sz_xkbGetControlsReply 92 19317ca54c3Smrg 19417ca54c3Smrgtypedef struct _xkbSetControls { 19517ca54c3Smrg CARD8 reqType; 19617ca54c3Smrg CARD8 xkbReqType; /* always X_KBSetControls */ 197ea1d6981Smrg CARD16 length; 198ea1d6981Smrg CARD16 deviceSpec; 19917ca54c3Smrg CARD8 affectInternalMods; 20017ca54c3Smrg CARD8 internalMods; 20117ca54c3Smrg CARD8 affectIgnoreLockMods; 20217ca54c3Smrg CARD8 ignoreLockMods; 203ea1d6981Smrg CARD16 affectInternalVMods; 204ea1d6981Smrg CARD16 internalVMods; 205ea1d6981Smrg CARD16 affectIgnoreLockVMods; 206ea1d6981Smrg CARD16 ignoreLockVMods; 20717ca54c3Smrg CARD8 mkDfltBtn; 20817ca54c3Smrg CARD8 groupsWrap; 209ea1d6981Smrg CARD16 axOptions; 210ea1d6981Smrg CARD16 pad1; 211ea1d6981Smrg CARD32 affectEnabledCtrls; 212ea1d6981Smrg CARD32 enabledCtrls; 213ea1d6981Smrg CARD32 changeCtrls; 214ea1d6981Smrg CARD16 repeatDelay; 215ea1d6981Smrg CARD16 repeatInterval; 216ea1d6981Smrg CARD16 slowKeysDelay; 217ea1d6981Smrg CARD16 debounceDelay; 218ea1d6981Smrg CARD16 mkDelay; 219ea1d6981Smrg CARD16 mkInterval; 220ea1d6981Smrg CARD16 mkTimeToMax; 221ea1d6981Smrg CARD16 mkMaxSpeed; 222ea1d6981Smrg INT16 mkCurve; 223ea1d6981Smrg CARD16 axTimeout; 224ea1d6981Smrg CARD32 axtCtrlsMask; 225ea1d6981Smrg CARD32 axtCtrlsValues; 226ea1d6981Smrg CARD16 axtOptsMask; 227ea1d6981Smrg CARD16 axtOptsValues; 22817ca54c3Smrg BYTE perKeyRepeat[XkbPerKeyBitArraySize]; 22917ca54c3Smrg} xkbSetControlsReq; 23017ca54c3Smrg#define sz_xkbSetControlsReq 100 23117ca54c3Smrg 23217ca54c3Smrgtypedef struct _xkbKTMapEntryWireDesc { 23317ca54c3Smrg BOOL active; 23417ca54c3Smrg CARD8 mask; 23517ca54c3Smrg CARD8 level; 23617ca54c3Smrg CARD8 realMods; 237ea1d6981Smrg CARD16 virtualMods; 238ea1d6981Smrg CARD16 pad; 23917ca54c3Smrg} xkbKTMapEntryWireDesc; 24017ca54c3Smrg#define sz_xkbKTMapEntryWireDesc 8 24117ca54c3Smrg 24217ca54c3Smrgtypedef struct _xkbKTSetMapEntryWireDesc { 24317ca54c3Smrg CARD8 level; 24417ca54c3Smrg CARD8 realMods; 245ea1d6981Smrg CARD16 virtualMods; 24617ca54c3Smrg} xkbKTSetMapEntryWireDesc; 24717ca54c3Smrg#define sz_xkbKTSetMapEntryWireDesc 4 24817ca54c3Smrg 24917ca54c3Smrgtypedef struct _xkbModsWireDesc { 25017ca54c3Smrg CARD8 mask; /* GetMap only */ 25117ca54c3Smrg CARD8 realMods; 252ea1d6981Smrg CARD16 virtualMods; 25317ca54c3Smrg} xkbModsWireDesc; 25417ca54c3Smrg#define sz_xkbModsWireDesc 4 25517ca54c3Smrg 25617ca54c3Smrgtypedef struct _xkbKeyTypeWireDesc { 25717ca54c3Smrg CARD8 mask; 25817ca54c3Smrg CARD8 realMods; 259ea1d6981Smrg CARD16 virtualMods; 26017ca54c3Smrg CARD8 numLevels; 26117ca54c3Smrg CARD8 nMapEntries; 26217ca54c3Smrg BOOL preserve; 26317ca54c3Smrg CARD8 pad; 26417ca54c3Smrg} xkbKeyTypeWireDesc; 26517ca54c3Smrg#define sz_xkbKeyTypeWireDesc 8 26617ca54c3Smrg 26717ca54c3Smrgtypedef struct _xkbSymMapWireDesc { 26817ca54c3Smrg CARD8 ktIndex[XkbNumKbdGroups]; 26917ca54c3Smrg CARD8 groupInfo; 27017ca54c3Smrg CARD8 width; 271ea1d6981Smrg CARD16 nSyms; 27217ca54c3Smrg} xkbSymMapWireDesc; 27317ca54c3Smrg#define sz_xkbSymMapWireDesc 8 27417ca54c3Smrg 27517ca54c3Smrgtypedef struct _xkbVModMapWireDesc { 27617ca54c3Smrg KeyCode key; 27717ca54c3Smrg CARD8 pad; 278ea1d6981Smrg CARD16 vmods; 27917ca54c3Smrg} xkbVModMapWireDesc; 28017ca54c3Smrg#define sz_xkbVModMapWireDesc 4 28117ca54c3Smrg 28217ca54c3Smrgtypedef struct _xkbBehaviorWireDesc { 28317ca54c3Smrg CARD8 key; 28417ca54c3Smrg CARD8 type; 28517ca54c3Smrg CARD8 data; 28617ca54c3Smrg CARD8 pad; 28717ca54c3Smrg} xkbBehaviorWireDesc; 28817ca54c3Smrg#define sz_xkbBehaviorWireDesc 4 28917ca54c3Smrg 29017ca54c3Smrgtypedef struct _xkbActionWireDesc { 29117ca54c3Smrg CARD8 type; 29217ca54c3Smrg CARD8 data[7]; 29317ca54c3Smrg} xkbActionWireDesc; 29417ca54c3Smrg#define sz_xkbActionWireDesc 8 29517ca54c3Smrg 29617ca54c3Smrgtypedef struct _xkbGetMap { 29717ca54c3Smrg CARD8 reqType; 29817ca54c3Smrg CARD8 xkbReqType; /* always X_KBGetMap */ 299ea1d6981Smrg CARD16 length; 300ea1d6981Smrg CARD16 deviceSpec; 301ea1d6981Smrg CARD16 full; 302ea1d6981Smrg CARD16 partial; 30317ca54c3Smrg CARD8 firstType; 30417ca54c3Smrg CARD8 nTypes; 30517ca54c3Smrg KeyCode firstKeySym; 30617ca54c3Smrg CARD8 nKeySyms; 30717ca54c3Smrg KeyCode firstKeyAct; 30817ca54c3Smrg CARD8 nKeyActs; 30917ca54c3Smrg KeyCode firstKeyBehavior; 31017ca54c3Smrg CARD8 nKeyBehaviors; 311ea1d6981Smrg CARD16 virtualMods; 31217ca54c3Smrg KeyCode firstKeyExplicit; 31317ca54c3Smrg CARD8 nKeyExplicit; 31417ca54c3Smrg KeyCode firstModMapKey; 31517ca54c3Smrg CARD8 nModMapKeys; 31617ca54c3Smrg KeyCode firstVModMapKey; 31717ca54c3Smrg CARD8 nVModMapKeys; 318ea1d6981Smrg CARD16 pad1; 31917ca54c3Smrg} xkbGetMapReq; 32017ca54c3Smrg#define sz_xkbGetMapReq 28 32117ca54c3Smrg 32217ca54c3Smrgtypedef struct _xkbGetMapReply { 32317ca54c3Smrg CARD8 type; /* always X_Reply */ 32417ca54c3Smrg CARD8 deviceID; 325ea1d6981Smrg CARD16 sequenceNumber; 326ea1d6981Smrg CARD32 length; 327ea1d6981Smrg CARD16 pad1; 32817ca54c3Smrg KeyCode minKeyCode; 32917ca54c3Smrg KeyCode maxKeyCode; 330ea1d6981Smrg CARD16 present; 33117ca54c3Smrg CARD8 firstType; 33217ca54c3Smrg CARD8 nTypes; 33317ca54c3Smrg CARD8 totalTypes; 33417ca54c3Smrg KeyCode firstKeySym; 335ea1d6981Smrg CARD16 totalSyms; 33617ca54c3Smrg CARD8 nKeySyms; 33717ca54c3Smrg KeyCode firstKeyAct; 338ea1d6981Smrg CARD16 totalActs; 33917ca54c3Smrg CARD8 nKeyActs; 34017ca54c3Smrg KeyCode firstKeyBehavior; 34117ca54c3Smrg CARD8 nKeyBehaviors; 34217ca54c3Smrg CARD8 totalKeyBehaviors; 34317ca54c3Smrg KeyCode firstKeyExplicit; 34417ca54c3Smrg CARD8 nKeyExplicit; 34517ca54c3Smrg CARD8 totalKeyExplicit; 34617ca54c3Smrg KeyCode firstModMapKey; 34717ca54c3Smrg CARD8 nModMapKeys; 34817ca54c3Smrg CARD8 totalModMapKeys; 34917ca54c3Smrg KeyCode firstVModMapKey; 35017ca54c3Smrg CARD8 nVModMapKeys; 35117ca54c3Smrg CARD8 totalVModMapKeys; 35217ca54c3Smrg CARD8 pad2; 353ea1d6981Smrg CARD16 virtualMods; 35417ca54c3Smrg} xkbGetMapReply; 35517ca54c3Smrg#define sz_xkbGetMapReply 40 35617ca54c3Smrg 35717ca54c3Smrg#define XkbSetMapResizeTypes (1L<<0) 35817ca54c3Smrg#define XkbSetMapRecomputeActions (1L<<1) 35917ca54c3Smrg#define XkbSetMapAllFlags (0x3) 36017ca54c3Smrg 36117ca54c3Smrgtypedef struct _xkbSetMap { 36217ca54c3Smrg CARD8 reqType; 36317ca54c3Smrg CARD8 xkbReqType; /* always X_KBSetMap */ 364ea1d6981Smrg CARD16 length; 365ea1d6981Smrg CARD16 deviceSpec; 366ea1d6981Smrg CARD16 present; 367ea1d6981Smrg CARD16 flags; 36817ca54c3Smrg KeyCode minKeyCode; 36917ca54c3Smrg KeyCode maxKeyCode; 37017ca54c3Smrg CARD8 firstType; 37117ca54c3Smrg CARD8 nTypes; 37217ca54c3Smrg KeyCode firstKeySym; 37317ca54c3Smrg CARD8 nKeySyms; 374ea1d6981Smrg CARD16 totalSyms; 37517ca54c3Smrg KeyCode firstKeyAct; 37617ca54c3Smrg CARD8 nKeyActs; 377ea1d6981Smrg CARD16 totalActs; 37817ca54c3Smrg KeyCode firstKeyBehavior; 37917ca54c3Smrg CARD8 nKeyBehaviors; 38017ca54c3Smrg CARD8 totalKeyBehaviors; 38117ca54c3Smrg KeyCode firstKeyExplicit; 38217ca54c3Smrg CARD8 nKeyExplicit; 38317ca54c3Smrg CARD8 totalKeyExplicit; 38417ca54c3Smrg KeyCode firstModMapKey; 38517ca54c3Smrg CARD8 nModMapKeys; 38617ca54c3Smrg CARD8 totalModMapKeys; 38717ca54c3Smrg KeyCode firstVModMapKey; 38817ca54c3Smrg CARD8 nVModMapKeys; 38917ca54c3Smrg CARD8 totalVModMapKeys; 390ea1d6981Smrg CARD16 virtualMods; 39117ca54c3Smrg} xkbSetMapReq; 39217ca54c3Smrg#define sz_xkbSetMapReq 36 39317ca54c3Smrg 39417ca54c3Smrgtypedef struct _xkbSymInterpretWireDesc { 395ea1d6981Smrg CARD32 sym; 39617ca54c3Smrg CARD8 mods; 39717ca54c3Smrg CARD8 match; 39817ca54c3Smrg CARD8 virtualMod; 39917ca54c3Smrg CARD8 flags; 40017ca54c3Smrg xkbActionWireDesc act; 40117ca54c3Smrg} xkbSymInterpretWireDesc; 40217ca54c3Smrg#define sz_xkbSymInterpretWireDesc 16 40317ca54c3Smrg 40417ca54c3Smrgtypedef struct _xkbGetCompatMap { 40517ca54c3Smrg CARD8 reqType; 40617ca54c3Smrg CARD8 xkbReqType; /* always X_KBGetCompatMap */ 407ea1d6981Smrg CARD16 length; 408ea1d6981Smrg CARD16 deviceSpec; 40917ca54c3Smrg CARD8 groups; 41017ca54c3Smrg BOOL getAllSI; 411ea1d6981Smrg CARD16 firstSI; 412ea1d6981Smrg CARD16 nSI; 41317ca54c3Smrg} xkbGetCompatMapReq; 41417ca54c3Smrg#define sz_xkbGetCompatMapReq 12 41517ca54c3Smrg 41617ca54c3Smrgtypedef struct _xkbGetCompatMapReply { 41717ca54c3Smrg CARD8 type; /* always X_Reply */ 41817ca54c3Smrg CARD8 deviceID; 419ea1d6981Smrg CARD16 sequenceNumber; 420ea1d6981Smrg CARD32 length; 42117ca54c3Smrg CARD8 groups; 42217ca54c3Smrg CARD8 pad1; 423ea1d6981Smrg CARD16 firstSI; 424ea1d6981Smrg CARD16 nSI; 425ea1d6981Smrg CARD16 nTotalSI; 426ea1d6981Smrg CARD32 pad2; 427ea1d6981Smrg CARD32 pad3; 428ea1d6981Smrg CARD32 pad4; 429ea1d6981Smrg CARD32 pad5; 43017ca54c3Smrg} xkbGetCompatMapReply; 43117ca54c3Smrg#define sz_xkbGetCompatMapReply 32 43217ca54c3Smrg 43317ca54c3Smrgtypedef struct _xkbSetCompatMap { 43417ca54c3Smrg CARD8 reqType; 43517ca54c3Smrg CARD8 xkbReqType; /* always X_KBSetCompatMap */ 436ea1d6981Smrg CARD16 length; 437ea1d6981Smrg CARD16 deviceSpec; 43817ca54c3Smrg CARD8 pad1; 43917ca54c3Smrg BOOL recomputeActions; 44017ca54c3Smrg BOOL truncateSI; 44117ca54c3Smrg CARD8 groups; 442ea1d6981Smrg CARD16 firstSI; 443ea1d6981Smrg CARD16 nSI; 444ea1d6981Smrg CARD16 pad2; 44517ca54c3Smrg} xkbSetCompatMapReq; 44617ca54c3Smrg#define sz_xkbSetCompatMapReq 16 44717ca54c3Smrg 44817ca54c3Smrgtypedef struct _xkbGetIndicatorState { 44917ca54c3Smrg CARD8 reqType; 45017ca54c3Smrg CARD8 xkbReqType; /* always X_KBGetIndicatorState */ 451ea1d6981Smrg CARD16 length; 452ea1d6981Smrg CARD16 deviceSpec; 453ea1d6981Smrg CARD16 pad1; 45417ca54c3Smrg} xkbGetIndicatorStateReq; 45517ca54c3Smrg#define sz_xkbGetIndicatorStateReq 8 45617ca54c3Smrg 45717ca54c3Smrgtypedef struct _xkbGetIndicatorStateReply { 45817ca54c3Smrg CARD8 type; /* always X_Reply */ 45917ca54c3Smrg CARD8 deviceID; 460ea1d6981Smrg CARD16 sequenceNumber; 461ea1d6981Smrg CARD32 length; 462ea1d6981Smrg CARD32 state; 463ea1d6981Smrg CARD32 pad1; 464ea1d6981Smrg CARD32 pad2; 465ea1d6981Smrg CARD32 pad3; 466ea1d6981Smrg CARD32 pad4; 467ea1d6981Smrg CARD32 pad5; 46817ca54c3Smrg} xkbGetIndicatorStateReply; 46917ca54c3Smrg#define sz_xkbGetIndicatorStateReply 32 47017ca54c3Smrg 47117ca54c3Smrgtypedef struct _xkbGetIndicatorMap { 47217ca54c3Smrg CARD8 reqType; 47317ca54c3Smrg CARD8 xkbReqType; /* always X_KBGetIndicatorMap */ 474ea1d6981Smrg CARD16 length; 475ea1d6981Smrg CARD16 deviceSpec; 476ea1d6981Smrg CARD16 pad; 477ea1d6981Smrg CARD32 which; 47817ca54c3Smrg} xkbGetIndicatorMapReq; 47917ca54c3Smrg#define sz_xkbGetIndicatorMapReq 12 48017ca54c3Smrg 48117ca54c3Smrgtypedef struct _xkbGetIndicatorMapReply { 48217ca54c3Smrg CARD8 type; /* always X_Reply */ 48317ca54c3Smrg CARD8 deviceID; 484ea1d6981Smrg CARD16 sequenceNumber; 485ea1d6981Smrg CARD32 length; 486ea1d6981Smrg CARD32 which; 487ea1d6981Smrg CARD32 realIndicators; 48817ca54c3Smrg CARD8 nIndicators; 48917ca54c3Smrg CARD8 pad1; 490ea1d6981Smrg CARD16 pad2; 491ea1d6981Smrg CARD32 pad3; 492ea1d6981Smrg CARD32 pad4; 493ea1d6981Smrg CARD32 pad5; 49417ca54c3Smrg} xkbGetIndicatorMapReply; 49517ca54c3Smrg#define sz_xkbGetIndicatorMapReply 32 49617ca54c3Smrg 49717ca54c3Smrgtypedef struct _xkbIndicatorMapWireDesc { 49817ca54c3Smrg CARD8 flags; 49917ca54c3Smrg CARD8 whichGroups; 50017ca54c3Smrg CARD8 groups; 50117ca54c3Smrg CARD8 whichMods; 50217ca54c3Smrg CARD8 mods; 50317ca54c3Smrg CARD8 realMods; 504ea1d6981Smrg CARD16 virtualMods; 505ea1d6981Smrg CARD32 ctrls; 50617ca54c3Smrg} xkbIndicatorMapWireDesc; 50717ca54c3Smrg#define sz_xkbIndicatorMapWireDesc 12 50817ca54c3Smrg 50917ca54c3Smrgtypedef struct _xkbSetIndicatorMap { 51017ca54c3Smrg CARD8 reqType; 51117ca54c3Smrg CARD8 xkbReqType; /* always X_KBSetIndicatorMap */ 512ea1d6981Smrg CARD16 length; 513ea1d6981Smrg CARD16 deviceSpec; 514ea1d6981Smrg CARD16 pad1; 515ea1d6981Smrg CARD32 which; 51617ca54c3Smrg} xkbSetIndicatorMapReq; 51717ca54c3Smrg#define sz_xkbSetIndicatorMapReq 12 51817ca54c3Smrg 51917ca54c3Smrgtypedef struct _xkbGetNamedIndicator { 52017ca54c3Smrg CARD8 reqType; 52117ca54c3Smrg CARD8 xkbReqType; /* X_KBGetNamedIndicator */ 522ea1d6981Smrg CARD16 length; 523ea1d6981Smrg CARD16 deviceSpec; 524ea1d6981Smrg CARD16 ledClass; 525ea1d6981Smrg CARD16 ledID; 526ea1d6981Smrg CARD16 pad1; 527ea1d6981Smrg Atom indicator; 52817ca54c3Smrg} xkbGetNamedIndicatorReq; 52917ca54c3Smrg#define sz_xkbGetNamedIndicatorReq 16 53017ca54c3Smrg 53117ca54c3Smrgtypedef struct _xkbGetNamedIndicatorReply { 53217ca54c3Smrg BYTE type; 53317ca54c3Smrg BYTE deviceID; 534ea1d6981Smrg CARD16 sequenceNumber; 535ea1d6981Smrg CARD32 length; 536ea1d6981Smrg Atom indicator; 53717ca54c3Smrg BOOL found; 53817ca54c3Smrg BOOL on; 53917ca54c3Smrg BOOL realIndicator; 54017ca54c3Smrg CARD8 ndx; 54117ca54c3Smrg CARD8 flags; 54217ca54c3Smrg CARD8 whichGroups; 54317ca54c3Smrg CARD8 groups; 54417ca54c3Smrg CARD8 whichMods; 54517ca54c3Smrg CARD8 mods; 54617ca54c3Smrg CARD8 realMods; 547ea1d6981Smrg CARD16 virtualMods; 548ea1d6981Smrg CARD32 ctrls; 54917ca54c3Smrg BOOL supported; 55017ca54c3Smrg CARD8 pad1; 551ea1d6981Smrg CARD16 pad2; 55217ca54c3Smrg} xkbGetNamedIndicatorReply; 55317ca54c3Smrg#define sz_xkbGetNamedIndicatorReply 32 55417ca54c3Smrg 55517ca54c3Smrgtypedef struct _xkbSetNamedIndicator { 55617ca54c3Smrg CARD8 reqType; 55717ca54c3Smrg CARD8 xkbReqType; /* X_KBSetNamedIndicator */ 558ea1d6981Smrg CARD16 length; 559ea1d6981Smrg CARD16 deviceSpec; 560ea1d6981Smrg CARD16 ledClass; 561ea1d6981Smrg CARD16 ledID; 562ea1d6981Smrg CARD16 pad1; 563ea1d6981Smrg Atom indicator; 56417ca54c3Smrg BOOL setState; 56517ca54c3Smrg BOOL on; 56617ca54c3Smrg BOOL setMap; 56717ca54c3Smrg BOOL createMap; 56817ca54c3Smrg CARD8 pad2; 56917ca54c3Smrg CARD8 flags; 57017ca54c3Smrg CARD8 whichGroups; 57117ca54c3Smrg CARD8 groups; 57217ca54c3Smrg CARD8 whichMods; 57317ca54c3Smrg CARD8 realMods; 574ea1d6981Smrg CARD16 virtualMods; 575ea1d6981Smrg CARD32 ctrls; 57617ca54c3Smrg} xkbSetNamedIndicatorReq; 57717ca54c3Smrg#define sz_xkbSetNamedIndicatorReq 32 57817ca54c3Smrg 57917ca54c3Smrgtypedef struct _xkbGetNames { 58017ca54c3Smrg CARD8 reqType; 58117ca54c3Smrg CARD8 xkbReqType; /* always X_KBGetNames */ 582ea1d6981Smrg CARD16 length; 583ea1d6981Smrg CARD16 deviceSpec; 584ea1d6981Smrg CARD16 pad; 585ea1d6981Smrg CARD32 which; 58617ca54c3Smrg} xkbGetNamesReq; 58717ca54c3Smrg#define sz_xkbGetNamesReq 12 58817ca54c3Smrg 58917ca54c3Smrgtypedef struct _xkbGetNamesReply { 59017ca54c3Smrg BYTE type; 59117ca54c3Smrg BYTE deviceID; 592ea1d6981Smrg CARD16 sequenceNumber; 593ea1d6981Smrg CARD32 length; 594ea1d6981Smrg CARD32 which; 59517ca54c3Smrg KeyCode minKeyCode; 59617ca54c3Smrg KeyCode maxKeyCode; 59717ca54c3Smrg CARD8 nTypes; 59817ca54c3Smrg CARD8 groupNames; 599ea1d6981Smrg CARD16 virtualMods; 60017ca54c3Smrg KeyCode firstKey; 60117ca54c3Smrg CARD8 nKeys; 602ea1d6981Smrg CARD32 indicators; 60317ca54c3Smrg CARD8 nRadioGroups; 60417ca54c3Smrg CARD8 nKeyAliases; 605ea1d6981Smrg CARD16 nKTLevels; 606ea1d6981Smrg CARD32 pad3; 60717ca54c3Smrg} xkbGetNamesReply; 60817ca54c3Smrg#define sz_xkbGetNamesReply 32 60917ca54c3Smrg 61017ca54c3Smrgtypedef struct _xkbSetNames { 61117ca54c3Smrg CARD8 reqType; 61217ca54c3Smrg CARD8 xkbReqType; /* always X_KBSetNames */ 613ea1d6981Smrg CARD16 length; 614ea1d6981Smrg CARD16 deviceSpec; 615ea1d6981Smrg CARD16 virtualMods; 616ea1d6981Smrg CARD32 which; 61717ca54c3Smrg CARD8 firstType; 61817ca54c3Smrg CARD8 nTypes; 61917ca54c3Smrg CARD8 firstKTLevel; 62017ca54c3Smrg CARD8 nKTLevels; 621ea1d6981Smrg CARD32 indicators; 62217ca54c3Smrg CARD8 groupNames; 62317ca54c3Smrg CARD8 nRadioGroups; 62417ca54c3Smrg KeyCode firstKey; 62517ca54c3Smrg CARD8 nKeys; 62617ca54c3Smrg CARD8 nKeyAliases; 62717ca54c3Smrg CARD8 pad1; 628ea1d6981Smrg CARD16 totalKTLevelNames; 62917ca54c3Smrg} xkbSetNamesReq; 63017ca54c3Smrg#define sz_xkbSetNamesReq 28 63117ca54c3Smrg 63217ca54c3Smrgtypedef struct _xkbPointWireDesc { 633ea1d6981Smrg INT16 x; 634ea1d6981Smrg INT16 y; 63517ca54c3Smrg} xkbPointWireDesc; 63617ca54c3Smrg#define sz_xkbPointWireDesc 4 63717ca54c3Smrg 63817ca54c3Smrgtypedef struct _xkbOutlineWireDesc { 63917ca54c3Smrg CARD8 nPoints; 64017ca54c3Smrg CARD8 cornerRadius; 641ea1d6981Smrg CARD16 pad; 64217ca54c3Smrg} xkbOutlineWireDesc; 64317ca54c3Smrg#define sz_xkbOutlineWireDesc 4 64417ca54c3Smrg 64517ca54c3Smrgtypedef struct _xkbShapeWireDesc { 646ea1d6981Smrg Atom name; 64717ca54c3Smrg CARD8 nOutlines; 64817ca54c3Smrg CARD8 primaryNdx; 64917ca54c3Smrg CARD8 approxNdx; 65017ca54c3Smrg CARD8 pad; 65117ca54c3Smrg} xkbShapeWireDesc; 65217ca54c3Smrg#define sz_xkbShapeWireDesc 8 65317ca54c3Smrg 65417ca54c3Smrgtypedef struct _xkbSectionWireDesc { 655ea1d6981Smrg Atom name; 656ea1d6981Smrg INT16 top; 657ea1d6981Smrg INT16 left; 658ea1d6981Smrg CARD16 width; 659ea1d6981Smrg CARD16 height; 660ea1d6981Smrg INT16 angle; 66117ca54c3Smrg CARD8 priority; 66217ca54c3Smrg CARD8 nRows; 66317ca54c3Smrg CARD8 nDoodads; 66417ca54c3Smrg CARD8 nOverlays; 665ea1d6981Smrg CARD16 pad; 66617ca54c3Smrg} xkbSectionWireDesc; 66717ca54c3Smrg#define sz_xkbSectionWireDesc 20 66817ca54c3Smrg 66917ca54c3Smrgtypedef struct _xkbRowWireDesc { 670ea1d6981Smrg INT16 top; 671ea1d6981Smrg INT16 left; 67217ca54c3Smrg CARD8 nKeys; 67317ca54c3Smrg BOOL vertical; 674ea1d6981Smrg CARD16 pad; 67517ca54c3Smrg} xkbRowWireDesc; 67617ca54c3Smrg#define sz_xkbRowWireDesc 8 67717ca54c3Smrg 67817ca54c3Smrgtypedef struct _xkbKeyWireDesc { 679d63b911fSmrg CARD8 name[XkbKeyNameLength] _X_NONSTRING; 680ea1d6981Smrg INT16 gap; 68117ca54c3Smrg CARD8 shapeNdx; 68217ca54c3Smrg CARD8 colorNdx; 68317ca54c3Smrg} xkbKeyWireDesc; 68417ca54c3Smrg#define sz_xkbKeyWireDesc 8 68517ca54c3Smrg 68617ca54c3Smrgtypedef struct _xkbOverlayWireDesc { 687ea1d6981Smrg Atom name; 68817ca54c3Smrg CARD8 nRows; 68917ca54c3Smrg CARD8 pad1; 690ea1d6981Smrg CARD16 pad2; 69117ca54c3Smrg} xkbOverlayWireDesc; 69217ca54c3Smrg#define sz_xkbOverlayWireDesc 8 69317ca54c3Smrg 69417ca54c3Smrgtypedef struct _xkbOverlayRowWireDesc { 69517ca54c3Smrg CARD8 rowUnder; 69617ca54c3Smrg CARD8 nKeys; 697ea1d6981Smrg CARD16 pad1; 69817ca54c3Smrg} xkbOverlayRowWireDesc; 69917ca54c3Smrg#define sz_xkbOverlayRowWireDesc 4 70017ca54c3Smrg 70117ca54c3Smrgtypedef struct _xkbOverlayKeyWireDesc { 702d63b911fSmrg CARD8 over[XkbKeyNameLength] _X_NONSTRING; 703d63b911fSmrg CARD8 under[XkbKeyNameLength] _X_NONSTRING; 70417ca54c3Smrg} xkbOverlayKeyWireDesc; 70517ca54c3Smrg#define sz_xkbOverlayKeyWireDesc 8 70617ca54c3Smrg 70717ca54c3Smrgtypedef struct _xkbShapeDoodadWireDesc { 708ea1d6981Smrg Atom name; 70917ca54c3Smrg CARD8 type; 71017ca54c3Smrg CARD8 priority; 711ea1d6981Smrg INT16 top; 712ea1d6981Smrg INT16 left; 713ea1d6981Smrg INT16 angle; 71417ca54c3Smrg CARD8 colorNdx; 71517ca54c3Smrg CARD8 shapeNdx; 716ea1d6981Smrg CARD16 pad1; 717ea1d6981Smrg CARD32 pad2; 71817ca54c3Smrg} xkbShapeDoodadWireDesc; 71917ca54c3Smrg#define sz_xkbShapeDoodadWireDesc 20 72017ca54c3Smrg 72117ca54c3Smrgtypedef struct _xkbTextDoodadWireDesc { 722ea1d6981Smrg Atom name; 72317ca54c3Smrg CARD8 type; 72417ca54c3Smrg CARD8 priority; 725ea1d6981Smrg INT16 top; 726ea1d6981Smrg INT16 left; 727ea1d6981Smrg INT16 angle; 728ea1d6981Smrg CARD16 width; 729ea1d6981Smrg CARD16 height; 73017ca54c3Smrg CARD8 colorNdx; 73117ca54c3Smrg CARD8 pad1; 732ea1d6981Smrg CARD16 pad2; 73317ca54c3Smrg} xkbTextDoodadWireDesc; 73417ca54c3Smrg#define sz_xkbTextDoodadWireDesc 20 73517ca54c3Smrg 73617ca54c3Smrgtypedef struct _xkbIndicatorDoodadWireDesc { 737ea1d6981Smrg Atom name; 73817ca54c3Smrg CARD8 type; 73917ca54c3Smrg CARD8 priority; 740ea1d6981Smrg INT16 top; 741ea1d6981Smrg INT16 left; 742ea1d6981Smrg INT16 angle; 74317ca54c3Smrg CARD8 shapeNdx; 74417ca54c3Smrg CARD8 onColorNdx; 74517ca54c3Smrg CARD8 offColorNdx; 74617ca54c3Smrg CARD8 pad1; 747ea1d6981Smrg CARD32 pad2; 74817ca54c3Smrg} xkbIndicatorDoodadWireDesc; 74917ca54c3Smrg#define sz_xkbIndicatorDoodadWireDesc 20 75017ca54c3Smrg 75117ca54c3Smrgtypedef struct _xkbLogoDoodadWireDesc { 752ea1d6981Smrg Atom name; 75317ca54c3Smrg CARD8 type; 75417ca54c3Smrg CARD8 priority; 755ea1d6981Smrg INT16 top; 756ea1d6981Smrg INT16 left; 757ea1d6981Smrg INT16 angle; 75817ca54c3Smrg CARD8 colorNdx; 75917ca54c3Smrg CARD8 shapeNdx; 760ea1d6981Smrg CARD16 pad1; 761ea1d6981Smrg CARD32 pad2; 76217ca54c3Smrg} xkbLogoDoodadWireDesc; 76317ca54c3Smrg#define sz_xkbLogoDoodadWireDesc 20 76417ca54c3Smrg 76517ca54c3Smrgtypedef struct _xkbAnyDoodadWireDesc { 766ea1d6981Smrg Atom name; 76717ca54c3Smrg CARD8 type; 76817ca54c3Smrg CARD8 priority; 769ea1d6981Smrg INT16 top; 770ea1d6981Smrg INT16 left; 771ea1d6981Smrg INT16 angle; 772ea1d6981Smrg CARD32 pad2; 773ea1d6981Smrg CARD32 pad3; 77417ca54c3Smrg} xkbAnyDoodadWireDesc; 77517ca54c3Smrg#define sz_xkbAnyDoodadWireDesc 20 77617ca54c3Smrg 77717ca54c3Smrgtypedef union _xkbDoodadWireDesc { 77817ca54c3Smrg xkbAnyDoodadWireDesc any; 77917ca54c3Smrg xkbShapeDoodadWireDesc shape; 78017ca54c3Smrg xkbTextDoodadWireDesc text; 78117ca54c3Smrg xkbIndicatorDoodadWireDesc indicator; 78217ca54c3Smrg xkbLogoDoodadWireDesc logo; 78317ca54c3Smrg} xkbDoodadWireDesc; 78417ca54c3Smrg#define sz_xkbDoodadWireDesc 20 78517ca54c3Smrg 78617ca54c3Smrgtypedef struct _xkbGetGeometry { 78717ca54c3Smrg CARD8 reqType; 78817ca54c3Smrg CARD8 xkbReqType; /* always X_KBGetGeometry */ 789ea1d6981Smrg CARD16 length; 790ea1d6981Smrg CARD16 deviceSpec; 791ea1d6981Smrg CARD16 pad; 792ea1d6981Smrg Atom name; 79317ca54c3Smrg} xkbGetGeometryReq; 79417ca54c3Smrg#define sz_xkbGetGeometryReq 12 79517ca54c3Smrg 79617ca54c3Smrgtypedef struct _xkbGetGeometryReply { 79717ca54c3Smrg CARD8 type; /* always X_Reply */ 79817ca54c3Smrg CARD8 deviceID; 799ea1d6981Smrg CARD16 sequenceNumber; 800ea1d6981Smrg CARD32 length; 801ea1d6981Smrg Atom name; 80217ca54c3Smrg BOOL found; 80317ca54c3Smrg CARD8 pad; 804ea1d6981Smrg CARD16 widthMM; 805ea1d6981Smrg CARD16 heightMM; 806ea1d6981Smrg CARD16 nProperties; 807ea1d6981Smrg CARD16 nColors; 808ea1d6981Smrg CARD16 nShapes; 809ea1d6981Smrg CARD16 nSections; 810ea1d6981Smrg CARD16 nDoodads; 811ea1d6981Smrg CARD16 nKeyAliases; 81217ca54c3Smrg CARD8 baseColorNdx; 81317ca54c3Smrg CARD8 labelColorNdx; 81417ca54c3Smrg} xkbGetGeometryReply; 81517ca54c3Smrg#define sz_xkbGetGeometryReply 32 81617ca54c3Smrg 81717ca54c3Smrgtypedef struct _xkbSetGeometry { 81817ca54c3Smrg CARD8 reqType; 81917ca54c3Smrg CARD8 xkbReqType; /* always X_KBSetGeometry */ 820ea1d6981Smrg CARD16 length; 821ea1d6981Smrg CARD16 deviceSpec; 82217ca54c3Smrg CARD8 nShapes; 82317ca54c3Smrg CARD8 nSections; 824ea1d6981Smrg Atom name; 825ea1d6981Smrg CARD16 widthMM; 826ea1d6981Smrg CARD16 heightMM; 827ea1d6981Smrg CARD16 nProperties; 828ea1d6981Smrg CARD16 nColors; 829ea1d6981Smrg CARD16 nDoodads; 830ea1d6981Smrg CARD16 nKeyAliases; 83117ca54c3Smrg CARD8 baseColorNdx; 83217ca54c3Smrg CARD8 labelColorNdx; 833ea1d6981Smrg CARD16 pad; 83417ca54c3Smrg} xkbSetGeometryReq; 83517ca54c3Smrg#define sz_xkbSetGeometryReq 28 83617ca54c3Smrg 83717ca54c3Smrgtypedef struct _xkbPerClientFlags { 83817ca54c3Smrg CARD8 reqType; 83917ca54c3Smrg CARD8 xkbReqType;/* always X_KBPerClientFlags */ 840ea1d6981Smrg CARD16 length; 841ea1d6981Smrg CARD16 deviceSpec; 842ea1d6981Smrg CARD16 pad1; 843ea1d6981Smrg CARD32 change; 844ea1d6981Smrg CARD32 value; 845ea1d6981Smrg CARD32 ctrlsToChange; 846ea1d6981Smrg CARD32 autoCtrls; 847ea1d6981Smrg CARD32 autoCtrlValues; 84817ca54c3Smrg} xkbPerClientFlagsReq; 84917ca54c3Smrg#define sz_xkbPerClientFlagsReq 28 85017ca54c3Smrg 85117ca54c3Smrgtypedef struct _xkbPerClientFlagsReply { 85217ca54c3Smrg CARD8 type; /* always X_Reply */ 85317ca54c3Smrg CARD8 deviceID; 854ea1d6981Smrg CARD16 sequenceNumber; 855ea1d6981Smrg CARD32 length; 856ea1d6981Smrg CARD32 supported; 857ea1d6981Smrg CARD32 value; 858ea1d6981Smrg CARD32 autoCtrls; 859ea1d6981Smrg CARD32 autoCtrlValues; 860ea1d6981Smrg CARD32 pad1; 861ea1d6981Smrg CARD32 pad2; 86217ca54c3Smrg} xkbPerClientFlagsReply; 86317ca54c3Smrg#define sz_xkbPerClientFlagsReply 32 86417ca54c3Smrg 86517ca54c3Smrgtypedef struct _xkbListComponents { 86617ca54c3Smrg CARD8 reqType; 86717ca54c3Smrg CARD8 xkbReqType; /* always X_KBListComponents */ 868ea1d6981Smrg CARD16 length; 869ea1d6981Smrg CARD16 deviceSpec; 870ea1d6981Smrg CARD16 maxNames; 87117ca54c3Smrg} xkbListComponentsReq; 87217ca54c3Smrg#define sz_xkbListComponentsReq 8 87317ca54c3Smrg 87417ca54c3Smrgtypedef struct _xkbListComponentsReply { 87517ca54c3Smrg CARD8 type; /* always X_Reply */ 87617ca54c3Smrg CARD8 deviceID; 877ea1d6981Smrg CARD16 sequenceNumber; 878ea1d6981Smrg CARD32 length; 879ea1d6981Smrg CARD16 nKeymaps; 880ea1d6981Smrg CARD16 nKeycodes; 881ea1d6981Smrg CARD16 nTypes; 882ea1d6981Smrg CARD16 nCompatMaps; 883ea1d6981Smrg CARD16 nSymbols; 884ea1d6981Smrg CARD16 nGeometries; 885ea1d6981Smrg CARD16 extra; 886ea1d6981Smrg CARD16 pad1; 887ea1d6981Smrg CARD32 pad2; 888ea1d6981Smrg CARD32 pad3; 88917ca54c3Smrg} xkbListComponentsReply; 89017ca54c3Smrg#define sz_xkbListComponentsReply 32 89117ca54c3Smrg 89217ca54c3Smrgtypedef struct _xkbGetKbdByName { 89317ca54c3Smrg CARD8 reqType; 89417ca54c3Smrg CARD8 xkbReqType; /* always X_KBGetKbdByName */ 895ea1d6981Smrg CARD16 length; 896ea1d6981Smrg CARD16 deviceSpec; 897ea1d6981Smrg CARD16 need; /* combination of XkbGBN_* */ 898ea1d6981Smrg CARD16 want; /* combination of XkbGBN_* */ 89917ca54c3Smrg BOOL load; 90017ca54c3Smrg CARD8 pad; 90117ca54c3Smrg} xkbGetKbdByNameReq; 90217ca54c3Smrg#define sz_xkbGetKbdByNameReq 12 90317ca54c3Smrg 90417ca54c3Smrgtypedef struct _xkbGetKbdByNameReply { 90517ca54c3Smrg CARD8 type; /* always X_Reply */ 90617ca54c3Smrg CARD8 deviceID; 907ea1d6981Smrg CARD16 sequenceNumber; 908ea1d6981Smrg CARD32 length; 90917ca54c3Smrg KeyCode minKeyCode; 91017ca54c3Smrg KeyCode maxKeyCode; 91117ca54c3Smrg BOOL loaded; 91217ca54c3Smrg BOOL newKeyboard; 913ea1d6981Smrg CARD16 found; /* combination of XkbGBN_* */ 914ea1d6981Smrg CARD16 reported; /* combination of XkbAllComponents */ 915ea1d6981Smrg CARD32 pad1; 916ea1d6981Smrg CARD32 pad2; 917ea1d6981Smrg CARD32 pad3; 918ea1d6981Smrg CARD32 pad4; 91917ca54c3Smrg} xkbGetKbdByNameReply; 92017ca54c3Smrg#define sz_xkbGetKbdByNameReply 32 92117ca54c3Smrg 92217ca54c3Smrgtypedef struct _xkbDeviceLedsWireDesc { 923ea1d6981Smrg CARD16 ledClass; 924ea1d6981Smrg CARD16 ledID; 925ea1d6981Smrg CARD32 namesPresent; 926ea1d6981Smrg CARD32 mapsPresent; 927ea1d6981Smrg CARD32 physIndicators; 928ea1d6981Smrg CARD32 state; 92917ca54c3Smrg} xkbDeviceLedsWireDesc; 93017ca54c3Smrg#define sz_xkbDeviceLedsWireDesc 20 93117ca54c3Smrg 93217ca54c3Smrgtypedef struct _xkbGetDeviceInfo { 93317ca54c3Smrg CARD8 reqType; 93417ca54c3Smrg CARD8 xkbReqType; /* always X_KBGetDeviceInfo */ 935ea1d6981Smrg CARD16 length; 936ea1d6981Smrg CARD16 deviceSpec; 937ea1d6981Smrg CARD16 wanted; 93817ca54c3Smrg BOOL allBtns; 93917ca54c3Smrg CARD8 firstBtn; 94017ca54c3Smrg CARD8 nBtns; 94117ca54c3Smrg CARD8 pad; 942ea1d6981Smrg CARD16 ledClass; 943ea1d6981Smrg CARD16 ledID; 94417ca54c3Smrg} xkbGetDeviceInfoReq; 94517ca54c3Smrg#define sz_xkbGetDeviceInfoReq 16 94617ca54c3Smrg 94717ca54c3Smrgtypedef struct _xkbGetDeviceInfoReply { 94817ca54c3Smrg CARD8 type; /* always X_Reply */ 94917ca54c3Smrg CARD8 deviceID; 950ea1d6981Smrg CARD16 sequenceNumber; 951ea1d6981Smrg CARD32 length; 952ea1d6981Smrg CARD16 present; 953ea1d6981Smrg CARD16 supported; 954ea1d6981Smrg CARD16 unsupported; 955ea1d6981Smrg CARD16 nDeviceLedFBs; 95617ca54c3Smrg CARD8 firstBtnWanted; 95717ca54c3Smrg CARD8 nBtnsWanted; 95817ca54c3Smrg CARD8 firstBtnRtrn; 95917ca54c3Smrg CARD8 nBtnsRtrn; 96017ca54c3Smrg CARD8 totalBtns; 96117ca54c3Smrg BOOL hasOwnState; 962ea1d6981Smrg CARD16 dfltKbdFB; 963ea1d6981Smrg CARD16 dfltLedFB; 964ea1d6981Smrg CARD16 pad; 965ea1d6981Smrg Atom devType; 96617ca54c3Smrg} xkbGetDeviceInfoReply; 96717ca54c3Smrg#define sz_xkbGetDeviceInfoReply 32 96817ca54c3Smrg 96917ca54c3Smrgtypedef struct _xkbSetDeviceInfo { 97017ca54c3Smrg CARD8 reqType; 97117ca54c3Smrg CARD8 xkbReqType; /* always X_KBSetDeviceInfo */ 972ea1d6981Smrg CARD16 length; 973ea1d6981Smrg CARD16 deviceSpec; 97417ca54c3Smrg CARD8 firstBtn; 97517ca54c3Smrg CARD8 nBtns; 976ea1d6981Smrg CARD16 change; 977ea1d6981Smrg CARD16 nDeviceLedFBs; 97817ca54c3Smrg} xkbSetDeviceInfoReq; 97917ca54c3Smrg#define sz_xkbSetDeviceInfoReq 12 98017ca54c3Smrg 98117ca54c3Smrgtypedef struct _xkbSetDebuggingFlags { 98217ca54c3Smrg CARD8 reqType; 98317ca54c3Smrg CARD8 xkbReqType; /* always X_KBSetDebuggingFlags */ 984ea1d6981Smrg CARD16 length; 985ea1d6981Smrg CARD16 msgLength; 986ea1d6981Smrg CARD16 pad; 987ea1d6981Smrg CARD32 affectFlags; 988ea1d6981Smrg CARD32 flags; 989ea1d6981Smrg CARD32 affectCtrls; 990ea1d6981Smrg CARD32 ctrls; 99117ca54c3Smrg} xkbSetDebuggingFlagsReq; 99217ca54c3Smrg#define sz_xkbSetDebuggingFlagsReq 24 99317ca54c3Smrg 99417ca54c3Smrgtypedef struct _xkbSetDebuggingFlagsReply { 99517ca54c3Smrg BYTE type; /* X_Reply */ 99617ca54c3Smrg CARD8 pad0; 997ea1d6981Smrg CARD16 sequenceNumber; 998ea1d6981Smrg CARD32 length; 999ea1d6981Smrg CARD32 currentFlags; 1000ea1d6981Smrg CARD32 currentCtrls; 1001ea1d6981Smrg CARD32 supportedFlags; 1002ea1d6981Smrg CARD32 supportedCtrls; 1003ea1d6981Smrg CARD32 pad1; 1004ea1d6981Smrg CARD32 pad2; 100517ca54c3Smrg} xkbSetDebuggingFlagsReply; 100617ca54c3Smrg#define sz_xkbSetDebuggingFlagsReply 32 100717ca54c3Smrg 100817ca54c3Smrg /* 100917ca54c3Smrg * X KEYBOARD EXTENSION EVENT STRUCTURES 101017ca54c3Smrg */ 101117ca54c3Smrg 101217ca54c3Smrgtypedef struct _xkbAnyEvent { 101317ca54c3Smrg BYTE type; 101417ca54c3Smrg BYTE xkbType; 1015ea1d6981Smrg CARD16 sequenceNumber; 1016ea1d6981Smrg Time time; 101717ca54c3Smrg CARD8 deviceID; 101817ca54c3Smrg CARD8 pad1; 1019ea1d6981Smrg CARD16 pad2; 1020ea1d6981Smrg CARD32 pad3; 1021ea1d6981Smrg CARD32 pad4; 1022ea1d6981Smrg CARD32 pad5; 1023ea1d6981Smrg CARD32 pad6; 1024ea1d6981Smrg CARD32 pad7; 102517ca54c3Smrg} xkbAnyEvent; 102617ca54c3Smrg#define sz_xkbAnyEvent 32 102717ca54c3Smrg 102817ca54c3Smrgtypedef struct _xkbNewKeyboardNotify { 102917ca54c3Smrg BYTE type; 103017ca54c3Smrg BYTE xkbType; 1031ea1d6981Smrg CARD16 sequenceNumber; 1032ea1d6981Smrg Time time; 103317ca54c3Smrg CARD8 deviceID; 103417ca54c3Smrg CARD8 oldDeviceID; 103517ca54c3Smrg KeyCode minKeyCode; 103617ca54c3Smrg KeyCode maxKeyCode; 103717ca54c3Smrg KeyCode oldMinKeyCode; 103817ca54c3Smrg KeyCode oldMaxKeyCode; 103917ca54c3Smrg CARD8 requestMajor; 104017ca54c3Smrg CARD8 requestMinor; 1041ea1d6981Smrg CARD16 changed; 104217ca54c3Smrg CARD8 detail; 104317ca54c3Smrg CARD8 pad1; 1044ea1d6981Smrg CARD32 pad2; 1045ea1d6981Smrg CARD32 pad3; 1046ea1d6981Smrg CARD32 pad4; 104717ca54c3Smrg} xkbNewKeyboardNotify; 104817ca54c3Smrg#define sz_xkbNewKeyboardNotify 32 104917ca54c3Smrg 105017ca54c3Smrgtypedef struct _xkbMapNotify { 105117ca54c3Smrg BYTE type; 105217ca54c3Smrg BYTE xkbType; 1053ea1d6981Smrg CARD16 sequenceNumber; 1054ea1d6981Smrg Time time; 105517ca54c3Smrg CARD8 deviceID; 105617ca54c3Smrg CARD8 ptrBtnActions; 1057ea1d6981Smrg CARD16 changed; 105817ca54c3Smrg KeyCode minKeyCode; 105917ca54c3Smrg KeyCode maxKeyCode; 106017ca54c3Smrg CARD8 firstType; 106117ca54c3Smrg CARD8 nTypes; 106217ca54c3Smrg KeyCode firstKeySym; 106317ca54c3Smrg CARD8 nKeySyms; 106417ca54c3Smrg KeyCode firstKeyAct; 106517ca54c3Smrg CARD8 nKeyActs; 106617ca54c3Smrg KeyCode firstKeyBehavior; 106717ca54c3Smrg CARD8 nKeyBehaviors; 106817ca54c3Smrg KeyCode firstKeyExplicit; 106917ca54c3Smrg CARD8 nKeyExplicit; 107017ca54c3Smrg KeyCode firstModMapKey; 107117ca54c3Smrg CARD8 nModMapKeys; 107217ca54c3Smrg KeyCode firstVModMapKey; 107317ca54c3Smrg CARD8 nVModMapKeys; 1074ea1d6981Smrg CARD16 virtualMods; 1075ea1d6981Smrg CARD16 pad1; 107617ca54c3Smrg} xkbMapNotify; 107717ca54c3Smrg#define sz_xkbMapNotify 32 107817ca54c3Smrg 107917ca54c3Smrgtypedef struct _xkbStateNotify { 108017ca54c3Smrg BYTE type; 108117ca54c3Smrg BYTE xkbType; 1082ea1d6981Smrg CARD16 sequenceNumber; 1083ea1d6981Smrg Time time; 108417ca54c3Smrg CARD8 deviceID; 108517ca54c3Smrg CARD8 mods; 108617ca54c3Smrg CARD8 baseMods; 108717ca54c3Smrg CARD8 latchedMods; 108817ca54c3Smrg CARD8 lockedMods; 108917ca54c3Smrg CARD8 group; 1090ea1d6981Smrg INT16 baseGroup; 1091ea1d6981Smrg INT16 latchedGroup; 109217ca54c3Smrg CARD8 lockedGroup; 109317ca54c3Smrg CARD8 compatState; 109417ca54c3Smrg CARD8 grabMods; 109517ca54c3Smrg CARD8 compatGrabMods; 109617ca54c3Smrg CARD8 lookupMods; 109717ca54c3Smrg CARD8 compatLookupMods; 1098ea1d6981Smrg CARD16 ptrBtnState; 1099ea1d6981Smrg CARD16 changed; 110017ca54c3Smrg KeyCode keycode; 110117ca54c3Smrg CARD8 eventType; 110217ca54c3Smrg CARD8 requestMajor; 110317ca54c3Smrg CARD8 requestMinor; 110417ca54c3Smrg} xkbStateNotify; 110517ca54c3Smrg#define sz_xkbStateNotify 32 110617ca54c3Smrg 110717ca54c3Smrgtypedef struct _xkbControlsNotify { 110817ca54c3Smrg BYTE type; 110917ca54c3Smrg BYTE xkbType; 1110ea1d6981Smrg CARD16 sequenceNumber; 1111ea1d6981Smrg Time time; 111217ca54c3Smrg CARD8 deviceID; 111317ca54c3Smrg CARD8 numGroups; 1114ea1d6981Smrg CARD16 pad1; 1115ea1d6981Smrg CARD32 changedControls; 1116ea1d6981Smrg CARD32 enabledControls; 1117ea1d6981Smrg CARD32 enabledControlChanges; 111817ca54c3Smrg KeyCode keycode; 111917ca54c3Smrg CARD8 eventType; 112017ca54c3Smrg CARD8 requestMajor; 112117ca54c3Smrg CARD8 requestMinor; 1122ea1d6981Smrg CARD32 pad2; 112317ca54c3Smrg} xkbControlsNotify; 112417ca54c3Smrg#define sz_xkbControlsNotify 32 112517ca54c3Smrg 112617ca54c3Smrgtypedef struct _xkbIndicatorNotify { 112717ca54c3Smrg BYTE type; 112817ca54c3Smrg BYTE xkbType; 1129ea1d6981Smrg CARD16 sequenceNumber; 1130ea1d6981Smrg Time time; 113117ca54c3Smrg CARD8 deviceID; 113217ca54c3Smrg CARD8 pad1; 1133ea1d6981Smrg CARD16 pad2; 1134ea1d6981Smrg CARD32 state; 1135ea1d6981Smrg CARD32 changed; 1136ea1d6981Smrg CARD32 pad3; 1137ea1d6981Smrg CARD32 pad4; 1138ea1d6981Smrg CARD32 pad5; 113917ca54c3Smrg} xkbIndicatorNotify; 114017ca54c3Smrg#define sz_xkbIndicatorNotify 32 114117ca54c3Smrg 114217ca54c3Smrgtypedef struct _xkbNamesNotify { 114317ca54c3Smrg BYTE type; 114417ca54c3Smrg BYTE xkbType; 1145ea1d6981Smrg CARD16 sequenceNumber; 1146ea1d6981Smrg Time time; 114717ca54c3Smrg CARD8 deviceID; 114817ca54c3Smrg CARD8 pad1; 1149ea1d6981Smrg CARD16 changed; 115017ca54c3Smrg CARD8 firstType; 115117ca54c3Smrg CARD8 nTypes; 115217ca54c3Smrg CARD8 firstLevelName; 115317ca54c3Smrg CARD8 nLevelNames; 115417ca54c3Smrg CARD8 pad2; 115517ca54c3Smrg CARD8 nRadioGroups; 115617ca54c3Smrg CARD8 nAliases; 115717ca54c3Smrg CARD8 changedGroupNames; 1158ea1d6981Smrg CARD16 changedVirtualMods; 115917ca54c3Smrg CARD8 firstKey; 116017ca54c3Smrg CARD8 nKeys; 1161ea1d6981Smrg CARD32 changedIndicators; 1162ea1d6981Smrg CARD32 pad3; 116317ca54c3Smrg} xkbNamesNotify; 116417ca54c3Smrg#define sz_xkbNamesNotify 32 116517ca54c3Smrg 116617ca54c3Smrgtypedef struct _xkbCompatMapNotify { 116717ca54c3Smrg BYTE type; 116817ca54c3Smrg BYTE xkbType; 1169ea1d6981Smrg CARD16 sequenceNumber; 1170ea1d6981Smrg Time time; 117117ca54c3Smrg CARD8 deviceID; 117217ca54c3Smrg CARD8 changedGroups; 1173ea1d6981Smrg CARD16 firstSI; 1174ea1d6981Smrg CARD16 nSI; 1175ea1d6981Smrg CARD16 nTotalSI; 1176ea1d6981Smrg CARD32 pad1; 1177ea1d6981Smrg CARD32 pad2; 1178ea1d6981Smrg CARD32 pad3; 1179ea1d6981Smrg CARD32 pad4; 118017ca54c3Smrg} xkbCompatMapNotify; 118117ca54c3Smrg#define sz_xkbCompatMapNotify 32 118217ca54c3Smrg 118317ca54c3Smrgtypedef struct _xkbBellNotify { 118417ca54c3Smrg BYTE type; 118517ca54c3Smrg BYTE xkbType; 1186ea1d6981Smrg CARD16 sequenceNumber; 1187ea1d6981Smrg Time time; 118817ca54c3Smrg CARD8 deviceID; 118917ca54c3Smrg CARD8 bellClass; 119017ca54c3Smrg CARD8 bellID; 119117ca54c3Smrg CARD8 percent; 1192ea1d6981Smrg CARD16 pitch; 1193ea1d6981Smrg CARD16 duration; 1194ea1d6981Smrg Atom name; 1195ea1d6981Smrg Window window; 119617ca54c3Smrg BOOL eventOnly; 119717ca54c3Smrg CARD8 pad1; 1198ea1d6981Smrg CARD16 pad2; 1199ea1d6981Smrg CARD32 pad3; 120017ca54c3Smrg} xkbBellNotify; 120117ca54c3Smrg#define sz_xkbBellNotify 32 120217ca54c3Smrg 120317ca54c3Smrgtypedef struct _xkbActionMessage { 120417ca54c3Smrg BYTE type; 120517ca54c3Smrg BYTE xkbType; 1206ea1d6981Smrg CARD16 sequenceNumber; 1207ea1d6981Smrg Time time; 120817ca54c3Smrg CARD8 deviceID; 120917ca54c3Smrg KeyCode keycode; 121017ca54c3Smrg BOOL press; 121117ca54c3Smrg BOOL keyEventFollows; 121217ca54c3Smrg CARD8 mods; 121317ca54c3Smrg CARD8 group; 121417ca54c3Smrg CARD8 message[8]; 1215ea1d6981Smrg CARD16 pad1; 1216ea1d6981Smrg CARD32 pad2; 1217ea1d6981Smrg CARD32 pad3; 121817ca54c3Smrg} xkbActionMessage; 121917ca54c3Smrg#define sz_xkbActionMessage 32 122017ca54c3Smrg 122117ca54c3Smrgtypedef struct _xkbAccessXNotify { 122217ca54c3Smrg BYTE type; 122317ca54c3Smrg BYTE xkbType; 1224ea1d6981Smrg CARD16 sequenceNumber; 1225ea1d6981Smrg Time time; 122617ca54c3Smrg CARD8 deviceID; 122717ca54c3Smrg KeyCode keycode; 1228ea1d6981Smrg CARD16 detail; 1229ea1d6981Smrg CARD16 slowKeysDelay; 1230ea1d6981Smrg CARD16 debounceDelay; 1231ea1d6981Smrg CARD32 pad1; 1232ea1d6981Smrg CARD32 pad2; 1233ea1d6981Smrg CARD32 pad3; 1234ea1d6981Smrg CARD32 pad4; 123517ca54c3Smrg} xkbAccessXNotify; 123617ca54c3Smrg#define sz_xkbAccessXNotify 32 123717ca54c3Smrg 123817ca54c3Smrgtypedef struct _xkbExtensionDeviceNotify { 123917ca54c3Smrg BYTE type; 124017ca54c3Smrg BYTE xkbType; 1241ea1d6981Smrg CARD16 sequenceNumber; 1242ea1d6981Smrg Time time; 124317ca54c3Smrg CARD8 deviceID; 124417ca54c3Smrg CARD8 pad1; 1245ea1d6981Smrg CARD16 reason; 1246ea1d6981Smrg CARD16 ledClass; 1247ea1d6981Smrg CARD16 ledID; 1248ea1d6981Smrg CARD32 ledsDefined; 1249ea1d6981Smrg CARD32 ledState; 125017ca54c3Smrg CARD8 firstBtn; 125117ca54c3Smrg CARD8 nBtns; 1252ea1d6981Smrg CARD16 supported; 1253ea1d6981Smrg CARD16 unsupported; 1254ea1d6981Smrg CARD16 pad3; 125517ca54c3Smrg} xkbExtensionDeviceNotify; 125617ca54c3Smrg#define sz_xkbExtensionDeviceNotify 32 125717ca54c3Smrg 125817ca54c3Smrgtypedef struct _xkbEvent { 125917ca54c3Smrg union { 126017ca54c3Smrg xkbAnyEvent any; 126117ca54c3Smrg xkbNewKeyboardNotify new_kbd; 126217ca54c3Smrg xkbMapNotify map; 126317ca54c3Smrg xkbStateNotify state; 126417ca54c3Smrg xkbControlsNotify ctrls; 126517ca54c3Smrg xkbIndicatorNotify indicators; 126617ca54c3Smrg xkbNamesNotify names; 126717ca54c3Smrg xkbCompatMapNotify compat; 126817ca54c3Smrg xkbBellNotify bell; 126917ca54c3Smrg xkbActionMessage message; 127017ca54c3Smrg xkbAccessXNotify accessx; 127117ca54c3Smrg xkbExtensionDeviceNotify device; 127217ca54c3Smrg } u; 127317ca54c3Smrg} xkbEvent; 127417ca54c3Smrg#define sz_xkbEvent 32 127517ca54c3Smrg 127617ca54c3Smrg#undef Window 127717ca54c3Smrg#undef Atom 127817ca54c3Smrg#undef Time 127917ca54c3Smrg#undef KeyCode 128017ca54c3Smrg#undef KeySym 128117ca54c3Smrg 128217ca54c3Smrg#endif /* _XKBPROTO_H_ */ 1283