xinput: req UngrabDeviceButton.modifier_device: altenum
[free-sw/xcb/proto] / src / xinput.xml
index 87db67c..29758a2 100644 (file)
@@ -89,6 +89,17 @@ authorization from the authors.
         <item name="Proximity"> <value>4</value> </item>
         <item name="Focus">     <value>5</value> </item>
         <item name="Other">     <value>6</value> </item>
+        <!--
+               value Attach=7 is still contained in XI.h as "#define AttachClass"
+               but it was never transmitted over the protocol.
+               (It was used to tag a fake class created by libXi).
+
+               Even the creation of that fake class has been dropped
+               from libXi in 2009 by the following change:
+               http://cgit.freedesktop.org/xorg/lib/libXi/commit/?id=62858c426e6de1b99df660251737233afd335302
+
+               <item name="Attach">    <value>7</value> </item>
+        -->
     </enum>
 
     <enum name="ValuatorMode">
@@ -267,7 +278,7 @@ authorization from the authors.
 
     <struct name="DeviceTimeCoord">
         <field type="TIMESTAMP" name="time" />
-        <!-- Uninterpreted: list (axisvalues) of CARD32,
+        <!-- Uninterpreted: list (axisvalues) of INT32,
                             length is num_axes from GetDeviceMotionEvents -->
     </struct>
 
@@ -275,6 +286,7 @@ authorization from the authors.
         <field type="TIMESTAMP" name="start" />
         <field type="TIMESTAMP" name="stop" altenum="Time" />
         <field type="CARD8"     name="device_id" />
+        <pad bytes="3"/>
         <reply>
             <pad bytes="1" />
             <field type="CARD32" name="num_events" />
@@ -292,7 +304,10 @@ authorization from the authors.
         <pad bytes="3" />
         <reply>
             <pad bytes="1" />
-            <field type="CARD8" name="status" altenum="GrabStatus" />
+            <!-- only the following GrabStatus-values are valid here:
+                 "Success", "AlreadyGrabbed", and "Frozen"
+            -->
+            <field type="CARD8" name="status" enum="GrabStatus" />
             <pad bytes="23" />
         </reply>
     </request>
@@ -306,7 +321,10 @@ authorization from the authors.
         <pad bytes="1" />
         <reply>
             <pad bytes="1" />
-            <field type="CARD8" name="status" altenum="GrabStatus" />
+            <!-- only the following GrabStatus-values are valid here:
+                 "Success", "AlreadyGrabbed", and "Frozen"
+            -->
+            <field type="CARD8" name="status" enum="GrabStatus" />
             <pad bytes="23" />
         </reply>
     </request>
@@ -337,15 +355,20 @@ authorization from the authors.
     <request name="UngrabDevice" opcode="14">
         <field type="TIMESTAMP" name="time" altenum="Time" />
         <field type="CARD8"     name="device_id" />
+        <pad bytes="3" />
     </request>
 
     <!-- GrabDeviceKey -->
 
+    <enum name="ModifierDevice">
+       <item name="UseXKeyboard"><value>255</value></item> <!-- 0xff -->
+    </enum>
+
     <request name="GrabDeviceKey" opcode="15">
         <field type="WINDOW" name="grab_window" />
         <field type="CARD16" name="num_classes" />
         <field type="CARD16" name="modifiers" mask="ModMask" />
-        <field type="CARD8"  name="modifier_device" />
+        <field type="CARD8"  name="modifier_device" altenum="ModifierDevice" />
         <field type="CARD8"  name="grabbed_device" />
         <field type="CARD8"  name="key" altenum="Grab" />
         <field type="CARD8"  name="this_device_mode" enum="GrabMode" />
@@ -362,7 +385,7 @@ authorization from the authors.
     <request name="UngrabDeviceKey" opcode="16">
         <field type="WINDOW" name="grabWindow" />
         <field type="CARD16" name="modifiers" mask="ModMask" />
-        <field type="CARD8"  name="modifier_device" />
+        <field type="CARD8"  name="modifier_device" altenum="ModifierDevice" />
         <field type="CARD8"  name="key" altenum="Grab" />
         <field type="CARD8"  name="grabbed_device" />
     </request>
@@ -372,13 +395,13 @@ authorization from the authors.
     <request name="GrabDeviceButton" opcode="17">
         <field type="WINDOW" name="grab_window" />
         <field type="CARD8"  name="grabbed_device" />
-        <field type="CARD8"  name="modifier_device" />
+        <field type="CARD8"  name="modifier_device" altenum="ModifierDevice" />
         <field type="CARD16" name="num_classes" />
         <field type="CARD16" name="modifiers" mask="ModMask" />
         <field type="CARD8"  name="this_device_mode" enum="GrabMode" />
         <field type="CARD8"  name="other_device_mode" enum="GrabMode" />
         <field type="CARD8"  name="button" altenum="Grab" />
-        <field type="CARD8"  name="owner_events" />
+        <field type="BOOL"   name="owner_events" />
         <pad bytes="2" />
         <list type="EventClass" name="classes">
             <fieldref>num_classes</fieldref>
@@ -390,9 +413,10 @@ authorization from the authors.
     <request name="UngrabDeviceButton" opcode="18">
         <field type="WINDOW" name="grab_window" />
         <field type="CARD16" name="modifiers" mask="ModMask" />
-        <field type="CARD8"  name="modifier_device" />
+        <field type="CARD8"  name="modifier_device" altenum="ModifierDevice" />
         <field type="CARD8"  name="button" altenum="Grab" />
         <field type="CARD8"  name="grabbed_device" />
+        <pad bytes="3" />
     </request>
 
     <!-- AllowDeviceEvents -->
@@ -410,6 +434,7 @@ authorization from the authors.
         <field type="TIMESTAMP" name="time" altenum="Time" />
         <field type="CARD8"     name="mode" enum="DeviceInputMode" />
         <field type="CARD8"     name="device_id" />
+        <pad bytes="2" />
     </request>
 
     <!-- GetDeviceFocus -->
@@ -433,6 +458,7 @@ authorization from the authors.
         <field type="TIMESTAMP" name="time" altenum="Time" />
         <field type="CARD8"     name="revert_to" enum="InputFocus" />
         <field type="CARD8"     name="device_id" />
+        <pad bytes="2" />
     </request>
 
     <!-- GetFeedbackControl -->
@@ -624,6 +650,7 @@ authorization from the authors.
         <field type="CARD8"   name="device_id" />
         <field type="KeyCode" name="first_keycode" />
         <field type="CARD8"   name="count" />
+        <pad bytes="1" />
         <reply>
             <pad bytes="1" />
             <field type="CARD8" name="keysyms_per_keycode" />
@@ -699,6 +726,7 @@ authorization from the authors.
             <list type="CARD8" name="map">
                 <fieldref>map_size</fieldref>
             </list>
+            <pad align="4" />
         </reply>
     </request>
 
@@ -1027,12 +1055,14 @@ authorization from the authors.
                 <list type="CARD8" name="data8">
                     <fieldref>num_items</fieldref>
                 </list>
+                <pad align="4" />
             </bitcase>
             <bitcase>
                 <enumref ref="PropertyFormat">16Bits</enumref>
                 <list type="CARD16" name="data16">
                     <fieldref>num_items</fieldref>
                 </list>
+                <pad align="4" />
             </bitcase>
             <bitcase>
                 <enumref ref="PropertyFormat">32Bits</enumref>
@@ -1080,12 +1110,14 @@ authorization from the authors.
                     <list type="CARD8" name="data8">
                         <fieldref>num_items</fieldref>
                     </list>
+                    <pad align="4" />
                 </bitcase>
                 <bitcase>
                     <enumref ref="PropertyFormat">16Bits</enumref>
                     <list type="CARD16" name="data16">
                         <fieldref>num_items</fieldref>
                     </list>
+                    <pad align="4" />
                 </bitcase>
                 <bitcase>
                     <enumref ref="PropertyFormat">32Bits</enumref>
@@ -1132,7 +1164,7 @@ authorization from the authors.
             <field type="FP1616"       name="root_y" />
             <field type="FP1616"       name="win_x" />
             <field type="FP1616"       name="win_y" />
-            <field type="CARD8"        name="same_screen" />
+            <field type="BOOL"         name="same_screen" />
             <pad bytes="1" />
             <field type="CARD16"       name="buttons_len" />
             <field type="ModifierInfo" name="mods" />
@@ -1185,11 +1217,12 @@ authorization from the authors.
         <field type="CARD16" name="type" enum="HierarchyChangeType" />
         <field type="CARD16" name="len" />
         <field type="CARD16" name="name_len" />
-        <field type="CARD8"  name="send_core" />
-        <field type="CARD8"  name="enable" />
+        <field type="BOOL"   name="send_core" />
+        <field type="BOOL"   name="enable" />
         <list type="char" name="name">
             <fieldref>name_len</fieldref>
         </list>
+        <pad align="4" />
     </struct>
 
     <struct name="RemoveMaster">
@@ -1709,12 +1742,14 @@ authorization from the authors.
                     <list type="CARD8" name="data8">
                         <fieldref>num_items</fieldref>
                     </list>
+                    <pad align="4" />
                 </bitcase>
                 <bitcase>
                     <enumref ref="PropertyFormat">16Bits</enumref>
                     <list type="CARD16" name="data16">
                         <fieldref>num_items</fieldref>
                     </list>
+                    <pad align="4" />
                 </bitcase>
                 <bitcase>
                     <enumref ref="PropertyFormat">32Bits</enumref>
@@ -2017,8 +2052,8 @@ authorization from the authors.
         <field type="FP1616"       name="root_y" />
         <field type="FP1616"       name="event_x" />
         <field type="FP1616"       name="event_y" />
-        <field type="CARD8"        name="same_screen" />
-        <field type="CARD8"        name="focus" />
+        <field type="BOOL"         name="same_screen" />
+        <field type="BOOL"         name="focus" />
         <field type="CARD16"       name="buttons_len" />
         <field type="ModifierInfo" name="mods" />
         <field type="GroupInfo"    name="group" />