xinput: struct FeedbackState: full support
[free-sw/xcb/proto] / src / xkb.xml
index 5436401..ad52ea2 100644 (file)
@@ -547,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">
@@ -557,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" />
@@ -1194,6 +1204,10 @@ authorization from the authors.
                <field name="lockGroup" type="BOOL" />
                <field name="groupLock" type="CARD8" enum="Group" />
                <field name="affectModLatches" type="CARD8" mask="ModMask" />
+               <pad bytes="1" /> <!-- This pad is a workaround to prevent an API break,
+                                      which the following field (correct fix) would cause.
+               <field name="modLatches" type="CARD8" mask="ModMask" />
+               -->
                <pad bytes="1" />
                <field name="latchGroup" type="BOOL" />
                <field name="groupLatch" type="CARD16" />
@@ -1341,20 +1355,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>
@@ -1370,60 +1371,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>
@@ -1820,7 +1782,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" />
@@ -1871,6 +1833,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" />
@@ -1900,7 +1863,6 @@ 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>
@@ -1910,10 +1872,11 @@ authorization from the authors.
                        <list name="keyAliases" type="KeyAlias">
                                <fieldref>nKeyAliases</fieldref>
                        </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" />
@@ -1938,7 +1901,6 @@ 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>
@@ -1948,8 +1910,8 @@ authorization from the authors.
                <list name="keyAliases" type="KeyAlias">
                        <fieldref>nKeyAliases</fieldref>
                </list>
-               -->
        </request>
+       -->
 
        <request name="PerClientFlags" opcode="21">
                <field name="deviceSpec" type="DeviceSpec" />
@@ -1972,6 +1934,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 +1959,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 +1997,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 +2022,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 +2224,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 +2296,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 +2306,7 @@ 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>