xkb: Add missing 'supported' field to GetNamedIndicator reply
[free-sw/xcb/proto] / src / xkb.xml
index 9b1c688..a5f808e 100644 (file)
@@ -311,7 +311,7 @@ authorization from the authors.
                <field name="mods" type="CARD8" mask="ModMask" />
                <field name="realMods" type="CARD8" mask="ModMask" />
                <field name="vmods" type="CARD16" mask="VMod" />
-               <field name="ctrls" type="CARD32" enum="BoolCtrl" />
+               <field name="ctrls" type="CARD32" mask="BoolCtrl" />
        </struct>
 
        <enum name="CMDetail">
@@ -410,12 +410,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 +467,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>
 
@@ -878,7 +868,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>
 
@@ -1086,11 +1077,11 @@ authorization from the authors.
 
        <request name="SelectEvents" opcode="1">
                <field name="deviceSpec" type="DeviceSpec" />
-               <field name="affectWhich" type="CARD16" enum="EventType" />
-               <field name="clear" type="CARD16" enum="EventType" />
-               <field name="selectAll" type="CARD16" enum="EventType" />
-               <field name="affectMap" type="CARD16" enum="MapPart" />
-               <field name="map" type="CARD16" enum="MapPart" />
+               <field name="affectWhich" type="CARD16" mask="EventType" />
+               <field name="clear" type="CARD16" mask="EventType" />
+               <field name="selectAll" type="CARD16" mask="EventType" />
+               <field name="affectMap" type="CARD16" mask="MapPart" />
+               <field name="map" type="CARD16" mask="MapPart" />
                <switch name="details">
                        <op op="&amp;">
                                <fieldref>affectWhich</fieldref>
@@ -1237,9 +1228,9 @@ authorization from the authors.
                        <field name="accessXTimeoutOptionsMask" type="AXOption" />
                        <field name="accessXTimeoutOptionsValues" type="AXOption" />
                        <pad bytes="2" />
-                       <field name="accessXTimeoutMask" type="CARD32" enum="BoolCtrl" />
-                       <field name="accessXTimeoutValues" type="CARD32" enum="BoolCtrl" />
-                       <field name="enabledControls" type="CARD32" enum="BoolCtrl" />
+                       <field name="accessXTimeoutMask" type="CARD32" mask="BoolCtrl" />
+                       <field name="accessXTimeoutValues" type="CARD32" mask="BoolCtrl" />
+                       <field name="enabledControls" type="CARD32" mask="BoolCtrl" />
                        <list name="perKeyRepeat" type="CARD8">
                                <value>32</value>
                        </list>
@@ -1260,8 +1251,8 @@ authorization from the authors.
                <field name="groupsWrap" type="CARD8" />
                <field name="accessXOptions" type="AXOption" />
                <pad bytes="2" />
-               <field name="affectEnabledControls" type="CARD32" enum="BoolCtrl" />
-               <field name="enabledControls" type="CARD32" enum="BoolCtrl" />
+               <field name="affectEnabledControls" type="CARD32" mask="BoolCtrl" />
+               <field name="enabledControls" type="CARD32" mask="BoolCtrl" />
                <field name="changeControls" type="CARD32" mask="Control" />
                <field name="repeatDelay" type="CARD16" />
                <field name="repeatInterval" type="CARD16" />
@@ -1273,8 +1264,8 @@ authorization from the authors.
                <field name="mouseKeysMaxSpeed" type="CARD16" />
                <field name="mouseKeysCurve" type="INT16" />
                <field name="accessXTimeout" type="CARD16" />
-               <field name="accessXTimeoutMask" type="CARD32" enum="BoolCtrl" />
-               <field name="accessXTimeoutValues" type="CARD32" enum="BoolCtrl" />
+               <field name="accessXTimeoutMask" type="CARD32" mask="BoolCtrl" />
+               <field name="accessXTimeoutValues" type="CARD32" mask="BoolCtrl" />
                <field name="accessXTimeoutOptionsMask" type="AXOption" />
                <field name="accessXTimeoutOptionsValues" type="AXOption" />
                <list name="perKeyRepeat" type="CARD8">
@@ -1284,8 +1275,8 @@ authorization from the authors.
 
        <request name="GetMap" opcode="8">
                <field name="deviceSpec" type="DeviceSpec" />
-               <field name="full" type="CARD16" enum="MapPart" />
-               <field name="partial" type="CARD16" enum="MapPart" />
+               <field name="full" type="CARD16" mask="MapPart" />
+               <field name="partial" type="CARD16" mask="MapPart" />
                <field name="firstType" type="CARD8" />
                <field name="nTypes" type="CARD8" />
                <field name="firstKeySym" type="KEYCODE" />
@@ -1307,7 +1298,7 @@ authorization from the authors.
                        <pad bytes="2" />
                        <field name="minKeyCode" type="KEYCODE" />
                        <field name="maxKeyCode" type="KEYCODE" />
-                       <field name="present" type="CARD16" enum="MapPart" />
+                       <field name="present" type="CARD16" mask="MapPart" />
                        <field name="firstType" type="CARD8" />
                        <field name="nTypes" type="CARD8" />
                        <field name="totalTypes" type="CARD8" />
@@ -1350,6 +1341,20 @@ 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>
                                        <list name="acts_rtrn_acts" type="Action">
                                                <fieldref>totalActions</fieldref>
                                        </list>
@@ -1365,18 +1370,60 @@ 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>
                                </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>
                                </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>
                                </bitcase>
                                <bitcase>
                                        <enumref ref="MapPart">VirtualModMap</enumref>
@@ -1390,7 +1437,7 @@ authorization from the authors.
 
        <request name="SetMap" opcode="9">
                <field name="deviceSpec" type="DeviceSpec" />
-               <field name="present" type="CARD16" enum="MapPart" />
+               <field name="present" type="CARD16" mask="MapPart" />
                <field name="flags" type="CARD16" mask="SetMapFlags" />
                <field name="minKeyCode" type="KEYCODE" />
                <field name="maxKeyCode" type="KEYCODE" />
@@ -1573,6 +1620,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>
@@ -1657,6 +1705,20 @@ authorization from the authors.
                                               <fieldref>nKTLevels</fieldref> -->
                                                <fieldref>nTypes</fieldref>
                                        </list>
+                                       <list type="CARD8" name="alignment_pad">
+                                           <op op="-">
+                                               <op op="&amp;">
+                                                   <op op="+">
+                                                       <fieldref>nTypes</fieldref>
+                                                       <value>3</value>
+                                                   </op>
+                                                   <unop op="~">
+                                                       <value>3</value>
+                                                   </unop>
+                                               </op>
+                                               <fieldref>nTypes</fieldref>
+                                           </op>
+                                       </list>
                                        <list name="ktLevelNames" type="ATOM">
                                                <sumof ref="nLevelsPerType" />
                                        </list>
@@ -2017,7 +2079,7 @@ authorization from the authors.
                                        <pad bytes="2" />
                                        <field name="typeMinKeyCode" type="KEYCODE" />
                                        <field name="typeMaxKeyCode" type="KEYCODE" />
-                                       <field name="present" type="CARD16" enum="MapPart" />
+                                       <field name="present" type="CARD16" mask="MapPart" />
                                        <field name="firstType" type="CARD8" />
                                        <field name="nTypes" type="CARD8" />
                                        <field name="totalTypes" type="CARD8" />