xv: Add align. pad in struct AdaptorInfo
[free-sw/xcb/proto] / src / xkb.xml
index 15b3368..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">
@@ -161,8 +153,10 @@ authorization from the authors.
        </enum>
 
        <enum name="LedClass">
-               <item name="DfltXIClass">  <value>768</value> </item>   <!--0x300-->
-               <item name="AllXIClasses"> <value>1280</value> </item>  <!--0x500-->
+               <item name="KbdFeedbackClass"> <value>0</value> </item>
+               <item name="LedFeedbackClass"> <value>4</value> </item>
+               <item name="DfltXIClass">      <value>768</value> </item>       <!--0x300-->
+               <item name="AllXIClasses">     <value>1280</value> </item>      <!--0x500-->
        </enum>
        <typedef oldname="CARD16" newname="LedClassSpec" />
 
@@ -172,7 +166,9 @@ authorization from the authors.
        </enum>
 
        <enum name="BellClass">
-               <item name="DfltXIClass"> <value>768</value> </item>    <!--0x300-->
+               <item name="KbdFeedbackClass">  <value>0</value> </item>
+               <item name="BellFeedbackClass"> <value>5</value> </item>
+               <item name="DfltXIClass">       <value>768</value> </item>      <!--0x300-->
        </enum>
        <typedef oldname="CARD16" newname="BellClassSpec" />
 
@@ -410,12 +406,8 @@ authorization from the authors.
 
        <struct name="KTMapEntry">
                <field name="active" type="BOOL" />
-               <!-- Xlib uses a different arrangement of fields
                <field name="mods_mask" type="CARD8" mask="ModMask" />
                <field name="level" type="CARD8" />
-               -->
-               <field name="level" type="CARD8" />
-               <field name="mods_mask" type="CARD8" mask="ModMask" />
                <field name="mods_mods" type="CARD8" mask="ModMask" />
                <field name="mods_vmods" type="CARD16" mask="VMod" />
                <pad bytes="2" />
@@ -471,32 +463,26 @@ authorization from the authors.
                <field name="group" type="CARD8" />
        </struct>
 
-       <struct name="Overlay1Behavior">
+       <struct name="OverlayBehavior">
                <field name="type" type="CARD8" />
                <field name="key" type="KEYCODE" />
        </struct>
 
-       <struct name="Overlay2Behavior">
-               <field name="type" type="CARD8" />
-               <field name="key" type="CARD8" />
-       </struct>
-
        <typedef oldname="LockBehavior" newname="PermamentLockBehavior" />
        <typedef oldname="RadioGroupBehavior" newname="PermamentRadioGroupBehavior" />
-       <typedef oldname="Overlay1Behavior" newname="PermamentOverlay1Behavior" />
-       <typedef oldname="Overlay2Behavior" newname="PermamentOverlay2Behavior" />
+       <typedef oldname="OverlayBehavior" newname="PermamentOverlayBehavior" />
 
        <union name="Behavior">
                <field name="common" type="CommonBehavior" />
                <field name="default" type="DefaultBehavior" />
                <field name="lock" type="LockBehavior" />
                <field name="radioGroup" type="RadioGroupBehavior" />
-               <field name="overlay1" type="Overlay1Behavior" />
-               <field name="overlay2" type="Overlay2Behavior" />
+               <field name="overlay1" type="OverlayBehavior" />
+               <field name="overlay2" type="OverlayBehavior" />
                <field name="permamentLock" type="PermamentLockBehavior" />
                <field name="permamentRadioGroup" type="PermamentRadioGroupBehavior" />
-               <field name="permamentOverlay1" type="PermamentOverlay1Behavior" />
-               <field name="permamentOverlay2" type="PermamentOverlay2Behavior" />
+               <field name="permamentOverlay1" type="PermamentOverlayBehavior" />
+               <field name="permamentOverlay2" type="PermamentOverlayBehavior" />
                <field name="type" type="CARD8" />
        </union>
 
@@ -561,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">
@@ -571,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" />
@@ -647,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" />
@@ -654,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">
@@ -739,6 +737,7 @@ authorization from the authors.
                        <fieldref>nOverlays</fieldref>
                </list>
        </struct>
+       -->
 
        <struct name="Listing">
                <field name="flags" type="CARD16" />
@@ -878,7 +877,8 @@ authorization from the authors.
        </struct>
 
        <enum name="SASetPtrDfltFlag">
-               <item name="DfltBtnAbsolute">  <bit>1</bit> </item>
+               <!-- The spec says 0x02 but Xlib uses 0x04. -->
+               <item name="DfltBtnAbsolute">  <bit>2</bit> </item>
                <item name="AffectDfltButton"> <bit>0</bit> </item>
        </enum>
 
@@ -1007,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">
@@ -1232,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" />
@@ -1258,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" />
@@ -1275,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>
@@ -1350,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>
@@ -1379,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>
@@ -1629,6 +1578,7 @@ authorization from the authors.
                        <field name="map_realMods" type="CARD8" mask="ModMask" />
                        <field name="map_vmod" type="CARD16" mask="VMod" />
                        <field name="map_ctrls" type="CARD32" mask="BoolCtrl" />
+                       <field name="supported" type="BOOL" />
                        <pad bytes="3" />
                </reply>
        </request>
@@ -1828,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" />
@@ -1879,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" />
@@ -1919,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" />
@@ -1954,6 +1907,7 @@ authorization from the authors.
                        <fieldref>nKeyAliases</fieldref>
                </list>
        </request>
+       -->
 
        <request name="PerClientFlags" opcode="21">
                <field name="deviceSpec" type="DeviceSpec" />
@@ -1976,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>
@@ -2000,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" />
@@ -2037,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>
@@ -2061,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" />
@@ -2262,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" />
@@ -2334,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>
@@ -2343,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>
@@ -2352,6 +2313,7 @@ authorization from the authors.
                                        <list name="keyAliases" type="KeyAlias">
                                                <fieldref>nKeyAliases</fieldref>
                                        </list>
+                                       -->
                                </bitcase>
                        </switch>
                </reply>
@@ -2614,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" />