xv: Add align. pad in struct AdaptorInfo
[free-sw/xcb/proto] / src / xkb.xml
index b702cad..04ab429 100644 (file)
@@ -130,29 +130,21 @@ authorization from the authors.
                <item name="ControlsEnabled"> <bit>31</bit> </item>
        </enum>
 
-       <enum name="AXFBOpt">
+       <enum name="AXOption">
                <item name="SKPressFB">     <bit>0</bit> </item>
                <item name="SKAcceptFB">    <bit>1</bit> </item>
                <item name="FeatureFB">     <bit>2</bit> </item>
                <item name="SlowWarnFB">    <bit>3</bit> </item>
                <item name="IndicatorFB">   <bit>4</bit> </item>
                <item name="StickyKeysFB">  <bit>5</bit> </item>
-               <item name="SKReleaseFB">   <bit>6</bit> </item>
-               <item name="SKRejectFB">    <bit>7</bit> </item>
-               <item name="BKRejectFB">    <bit>8</bit> </item>
-               <item name="DumbBell">      <bit>9</bit> </item>
+               <item name="TwoKeys">       <bit>6</bit> </item>
+               <item name="LatchToLock">   <bit>7</bit> </item>
+               <item name="SKReleaseFB">   <bit>8</bit> </item>
+               <item name="SKRejectFB">    <bit>9</bit> </item>
+               <item name="BKRejectFB">    <bit>10</bit> </item>
+               <item name="DumbBell">      <bit>11</bit> </item>
        </enum>
 
-       <enum name="AXSKOpt">
-               <item name="TwoKeys">     <bit>6</bit> </item>
-               <item name="LatchToLock"> <bit>7</bit> </item>
-       </enum>
-
-       <union name="AXOption">
-               <field name="fbopt" type="CARD16" enum="AXFBOpt" />
-               <field name="skopt" type="CARD16" enum="AXSKOpt" />
-       </union>
-
        <typedef oldname="CARD16" newname="DeviceSpec" />
 
        <enum name="LedClassResult">
@@ -555,6 +547,7 @@ authorization from the authors.
 
        <typedef oldname="char" newname="STRING8" />
 
+       <!-- XXX: Property is broken
        <struct name="Property">
                <field name="nameLength" type="CARD16" />
                <list name="name" type="STRING8">
@@ -565,6 +558,15 @@ authorization from the authors.
                        <fieldref>valueLength</fieldref>
                </list>
        </struct>
+       -->
+       <!-- XXX: This would be the correct Property structure as per spec.,
+                 but it's broken atm. too. Add it anyway here, so we don't
+                 loose that information.
+       <struct name="Property">
+               <field name="name" type="CountedString16" />
+               <field name="value" type="CountedString16" />
+       </struct>
+       -->
 
        <struct name="Outline">
                <field name="nPoints" type="CARD8" />
@@ -641,6 +643,7 @@ authorization from the authors.
                <item name="Logo">      <value>5</value> </item>
        </enum>
 
+       <!-- XXX: doodads are broken
        <struct name="CommonDoodad">
                <field name="name" type="ATOM" />
                <field name="type" type="CARD8" enum="DoodadType" />
@@ -648,6 +651,7 @@ authorization from the authors.
                <field name="top" type="INT16" />
                <field name="left" type="INT16" />
                <field name="angle" type="INT16" />
+               <pad bytes="8" />
        </struct>
 
        <struct name="ShapeDoodad">
@@ -733,6 +737,7 @@ authorization from the authors.
                        <fieldref>nOverlays</fieldref>
                </list>
        </struct>
+       -->
 
        <struct name="Listing">
                <field name="flags" type="CARD16" />
@@ -1002,6 +1007,7 @@ authorization from the authors.
                <pad bytes="1" />
                <field name="button" type="CARD8" />
                <field name="device" type="CARD8" />
+               <pad bytes="3" />
        </struct>
 
        <enum name="SAValWhat">
@@ -1227,10 +1233,10 @@ authorization from the authors.
                        <field name="mouseKeysTimeToMax" type="CARD16" />
                        <field name="mouseKeysMaxSpeed" type="CARD16" />
                        <field name="mouseKeysCurve" type="INT16" />
-                       <field name="accessXOption" type="AXOption" />
+                       <field name="accessXOption" type="CARD16" mask="AXOption" />
                        <field name="accessXTimeout" type="CARD16" />
-                       <field name="accessXTimeoutOptionsMask" type="AXOption" />
-                       <field name="accessXTimeoutOptionsValues" type="AXOption" />
+                       <field name="accessXTimeoutOptionsMask" type="CARD16" mask="AXOption" />
+                       <field name="accessXTimeoutOptionsValues" type="CARD16" mask="AXOption" />
                        <pad bytes="2" />
                        <field name="accessXTimeoutMask" type="CARD32" mask="BoolCtrl" />
                        <field name="accessXTimeoutValues" type="CARD32" mask="BoolCtrl" />
@@ -1253,7 +1259,7 @@ authorization from the authors.
                <field name="ignoreLockVirtualMods" type="CARD16" mask="VMod" />
                <field name="mouseKeysDfltBtn" type="CARD8" />
                <field name="groupsWrap" type="CARD8" />
-               <field name="accessXOptions" type="AXOption" />
+               <field name="accessXOptions" type="CARD16" mask="AXOption" />
                <pad bytes="2" />
                <field name="affectEnabledControls" type="CARD32" mask="BoolCtrl" />
                <field name="enabledControls" type="CARD32" mask="BoolCtrl" />
@@ -1270,8 +1276,8 @@ authorization from the authors.
                <field name="accessXTimeout" type="CARD16" />
                <field name="accessXTimeoutMask" type="CARD32" mask="BoolCtrl" />
                <field name="accessXTimeoutValues" type="CARD32" mask="BoolCtrl" />
-               <field name="accessXTimeoutOptionsMask" type="AXOption" />
-               <field name="accessXTimeoutOptionsValues" type="AXOption" />
+               <field name="accessXTimeoutOptionsMask" type="CARD16" mask="AXOption" />
+               <field name="accessXTimeoutOptionsValues" type="CARD16" mask="AXOption" />
                <list name="perKeyRepeat" type="CARD8">
                        <value>32</value>
                </list>
@@ -1345,20 +1351,7 @@ authorization from the authors.
                                        <list name="acts_rtrn_count" type="CARD8">
                                                <fieldref>nKeyActions</fieldref>
                                        </list>
-                                       <list type="CARD8" name="alignment_pad">
-                                           <op op="-">
-                                               <op op="&amp;">
-                                                   <op op="+">
-                                                       <fieldref>nKeyActions</fieldref>
-                                                       <value>3</value>
-                                                   </op>
-                                                   <unop op="~">
-                                                       <value>3</value>
-                                                   </unop>
-                                               </op>
-                                               <fieldref>nKeyActions</fieldref>
-                                           </op>
-                                       </list>
+                                        <pad align="4" />
                                        <list name="acts_rtrn_acts" type="Action">
                                                <fieldref>totalActions</fieldref>
                                        </list>
@@ -1374,60 +1367,21 @@ authorization from the authors.
                                        <list name="vmods_rtrn" type="CARD8" mask="ModMask">
                                                <popcount><fieldref>virtualMods</fieldref></popcount>
                                        </list>
-                                       <list type="CARD8" name="alignment_pad2">
-                                           <op op="-">
-                                               <op op="&amp;">
-                                                   <op op="+">
-                                                       <popcount><fieldref>virtualMods</fieldref></popcount>
-                                                       <value>3</value>
-                                                   </op>
-                                                   <unop op="~">
-                                                       <value>3</value>
-                                                   </unop>
-                                               </op>
-                                               <popcount><fieldref>virtualMods</fieldref></popcount>
-                                           </op>
-                                       </list>
+                                        <pad align="4" />
                                </bitcase>
                                <bitcase>
                                        <enumref ref="MapPart">ExplicitComponents</enumref>
                                        <list name="explicit_rtrn" type="SetExplicit">
                                                <fieldref>totalKeyExplicit</fieldref>
                                        </list>
-                                       <list type="CARD16" name="alignment_pad3">
-                                           <op op="-">
-                                               <op op="&amp;">
-                                                   <op op="+">
-                                                       <fieldref>totalKeyExplicit</fieldref>
-                                                       <value>1</value>
-                                                   </op>
-                                                   <unop op="~">
-                                                       <value>1</value>
-                                                   </unop>
-                                               </op>
-                                               <fieldref>totalKeyExplicit</fieldref>
-                                           </op>
-                                       </list>
+                                        <pad align="4" />
                                </bitcase>
                                <bitcase>
                                        <enumref ref="MapPart">ModifierMap</enumref>
                                        <list name="modmap_rtrn" type="KeyModMap">
                                                <fieldref>totalModMapKeys</fieldref>
                                        </list>
-                                       <list type="CARD16" name="alignment_pad4">
-                                           <op op="-">
-                                               <op op="&amp;">
-                                                   <op op="+">
-                                                       <fieldref>totalModMapKeys</fieldref>
-                                                       <value>1</value>
-                                                   </op>
-                                                   <unop op="~">
-                                                       <value>1</value>
-                                                   </unop>
-                                               </op>
-                                               <fieldref>totalModMapKeys</fieldref>
-                                           </op>
-                                       </list>
+                                        <pad align="4" />
                                </bitcase>
                                <bitcase>
                                        <enumref ref="MapPart">VirtualModMap</enumref>
@@ -1824,7 +1778,7 @@ authorization from the authors.
                        <bitcase>
                                <enumref ref="NameDetail">KTLevelNames</enumref>
                                <list name="nLevelsPerType" type="CARD8">
-                                       <fieldref>nKTLevels</fieldref>
+                                       <fieldref>nTypes</fieldref>
                                </list>
                                <list name="ktLevelNames" type="ATOM">
                                        <sumof ref="nLevelsPerType" />
@@ -1875,6 +1829,7 @@ authorization from the authors.
                </switch>
        </request>
 
+       <!-- XXX: Property and doodads are broken, which renders GetGeometry useless
        <request name="GetGeometry" opcode="19">
                <field name="deviceSpec" type="DeviceSpec" />
                <pad bytes="2" />
@@ -1915,7 +1870,9 @@ authorization from the authors.
                        </list>
                </reply>
        </request>
+       -->
 
+       <!-- XXX: Property and doodads are broken, which renders SetGeometry useless
        <request name="SetGeometry" opcode="20">
                <field name="deviceSpec" type="DeviceSpec" />
                <field name="nShapes" type="CARD8" />
@@ -1950,6 +1907,7 @@ authorization from the authors.
                        <fieldref>nKeyAliases</fieldref>
                </list>
        </request>
+       -->
 
        <request name="PerClientFlags" opcode="21">
                <field name="deviceSpec" type="DeviceSpec" />
@@ -1972,6 +1930,7 @@ authorization from the authors.
        <request name="ListComponents" opcode="22">
                <field name="deviceSpec" type="DeviceSpec" />
                <field name="maxNames" type="CARD16" />
+               <!-- XXX: Intermixed fixed size fields and lists are broken
                <field name="keymapsSpecLen" type="CARD8" />
                <list name="keymapsSpec" type="STRING8">
                        <fieldref>keymapsSpecLen</fieldref>
@@ -1996,6 +1955,7 @@ authorization from the authors.
                <list name="geometrySpec" type="STRING8">
                        <fieldref>geometrySpecLen</fieldref>
                </list>
+               -->
                <reply>
                        <field name="deviceID" type="CARD8" />
                        <field name="nKeymaps" type="CARD16" />
@@ -2033,6 +1993,7 @@ authorization from the authors.
                <field name="want" type="CARD16" mask="GBNDetail" />
                <field name="load" type="BOOL" />
                <pad bytes="1" />
+               <!-- XXX: Intermixed fixed size fields and lists are broken
                <field name="keymapsSpecLen" type="CARD8" />
                <list name="keymapsSpec" type="STRING8">
                        <fieldref>keymapsSpecLen</fieldref>
@@ -2057,6 +2018,7 @@ authorization from the authors.
                <list name="geometrySpec" type="STRING8">
                        <fieldref>geometrySpecLen</fieldref>
                </list>
+               -->
                <reply>
                        <field name="deviceID" type="CARD8" />
                        <field name="minKeyCode" type="KEYCODE" />
@@ -2258,7 +2220,7 @@ authorization from the authors.
                                                <bitcase>
                                                        <enumref ref="NameDetail">KTLevelNames</enumref>
                                                        <list name="nLevelsPerType" type="CARD8">
-                                                               <fieldref>nKTLevels</fieldref>
+                                                               <fieldref>nTypes</fieldref>
                                                        </list>
                                                        <list name="ktLevelNames" type="ATOM">
                                                                <sumof ref="nLevelsPerType" />
@@ -2330,6 +2292,7 @@ authorization from the authors.
                                        <field name="baseColorNdx" type="CARD8" />
                                        <field name="labelColorNdx" type="CARD8" />
                                        <field name="labelFont" type="CountedString16" />
+                                       <!-- XXX: Property is broken
                                        <list name="properties" type="Property">
                                                <fieldref>nProperties</fieldref>
                                        </list>
@@ -2339,6 +2302,8 @@ authorization from the authors.
                                        <list name="shapes" type="Shape">
                                                <fieldref>nShapes</fieldref>
                                        </list>
+                                       -->
+                                       <!-- XXX: doodads are broken
                                        <list name="sections" type="Section">
                                                <fieldref>nSections</fieldref>
                                        </list>
@@ -2348,6 +2313,7 @@ authorization from the authors.
                                        <list name="keyAliases" type="KeyAlias">
                                                <fieldref>nKeyAliases</fieldref>
                                        </list>
+                                       -->
                                </bitcase>
                        </switch>
                </reply>
@@ -2610,7 +2576,7 @@ authorization from the authors.
                <pad bytes="1" />
                <field name="reason" type="CARD16" mask="XIFeature" />
                <field name="ledClass" type="CARD16" enum="LedClassResult" />
-               <field name="ledID" type="CARD8" />
+               <field name="ledID" type="CARD16" />
                <field name="ledsDefined" type="CARD32" />
                <field name="ledState" type="CARD32" />
                <field name="firstButton" type="CARD8" />