"Fossies" - the Fresh Open Source Software Archive

Member "FreeBASIC-1.05.0-linux-x86_64/include/freebasic/X11/extensions/XKBproto.bi" (31 Jan 2016, 30283 Bytes) of package /linux/privat/FreeBASIC-1.05.0-linux-x86_64.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Visual Basic source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

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