[Xcb-commit] xcb/proto: src

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Sep 30 17:01:05 UTC 2021


 src/xinput.xml |   94 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 88 insertions(+), 6 deletions(-)

New commits:
commit 151ee69847c706e2b9d38c82e20534910f140b55
Author: Povilas Kanapickas <povilas at radix.lt>
Date:   Mon May 17 15:01:29 2021 +0300

    xinput: Add XI v2.4
    
    XInput 2.4 introduces touchpad gesture support which includes 6 new
    events: Gesture{Pinch,Swipe}{Begin,Update,End}.

diff --git a/src/xinput.xml b/src/xinput.xml
index 3610645..7f4074e 100644
--- a/src/xinput.xml
+++ b/src/xinput.xml
@@ -33,7 +33,7 @@ authorization from the authors.
 -->
 
 <xcb header="xinput" extension-xname="XInputExtension" extension-name="Input"
-     major-version="2" minor-version="3">
+     major-version="2" minor-version="4">
     <import>xfixes</import>
     <import>xproto</import>
 
@@ -1601,6 +1601,7 @@ authorization from the authors.
         <item name="Valuator"> <value>2</value> </item>
         <item name="Scroll">   <value>3</value> </item>
         <item name="Touch">    <value>8</value> </item>
+        <item name="Gesture">  <value>9</value> </item>
     </enum>
 
     <enum name="DeviceType">
@@ -1674,6 +1675,14 @@ authorization from the authors.
         <field type="CARD8"    name="num_touches" />
     </struct>
 
+    <struct name="GestureClass">
+        <field type="CARD16"   name="type" enum="DeviceClassType" />
+        <field type="CARD16"   name="len" />
+        <field type="DeviceId" name="sourceid" />
+        <field type="CARD8"    name="num_touches" />
+        <pad bytes="1" />
+    </struct>
+
     <struct name="ValuatorClass">
         <field type="CARD16"   name="type" enum="DeviceClassType" />
         <field type="CARD16"   name="len" />
@@ -1752,6 +1761,11 @@ authorization from the authors.
 		<field type="CARD8"    name="mode" enum="TouchMode" />
 		<field type="CARD8"    name="num_touches" />
 	    </case>
+        <case name="gesture">
+            <enumref ref="DeviceClassType">Gesture</enumref>
+            <field type="CARD8"    name="num_touches" />
+            <pad bytes="1" />
+        </case>
 	</switch>
     </struct>
 
@@ -1872,11 +1886,13 @@ authorization from the authors.
     </enum>
 
     <enum name="GrabType">
-        <item name="Button">     <value>0</value> </item>
-        <item name="Keycode">    <value>1</value> </item>
-        <item name="Enter">      <value>2</value> </item>
-        <item name="FocusIn">    <value>3</value> </item>
-        <item name="TouchBegin"> <value>4</value> </item>
+        <item name="Button">            <value>0</value> </item>
+        <item name="Keycode">           <value>1</value> </item>
+        <item name="Enter">             <value>2</value> </item>
+        <item name="FocusIn">           <value>3</value> </item>
+        <item name="TouchBegin">        <value>4</value> </item>
+        <item name="GesturePinchBegin"> <value>5</value> </item>
+        <item name="GestureSwipeBegin"> <value>6</value> </item>
     </enum>
 
     <enum name="ModifierMask">
@@ -2610,6 +2626,72 @@ authorization from the authors.
 
     <eventcopy name="BarrierLeave" number="26" ref="BarrierHit" />
 
+    <!-- ⋅⋅⋅ Events (v2.4) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ -->
+
+    <enum name="GesturePinchEventFlags">
+        <item name="GesturePinchCancelled"> <bit>0</bit> </item>
+    </enum>
+
+    <event name="GesturePinchBegin" number="27" xge="true">
+        <field type="DeviceId"  name="deviceid" altenum="Device" />
+        <field type="TIMESTAMP" name="time" altenum="Time" />
+        <!-- event specific fields -->
+        <field type="CARD32"    name="detail" />
+        <field type="WINDOW"    name="root" />
+        <field type="WINDOW"    name="event" />
+        <field type="WINDOW"    name="child" />
+        <!-- 32 byte boundary -->
+        <field type="FP1616"    name="root_x" />
+        <field type="FP1616"    name="root_y" />
+        <field type="FP1616"    name="event_x" />
+        <field type="FP1616"    name="event_y" />
+        <field type="FP1616"    name="delta_x" />
+        <field type="FP1616"    name="delta_y" />
+        <field type="FP1616"    name="delta_unaccel_x" />
+        <field type="FP1616"    name="delta_unaccel_y" />
+        <field type="FP1616"    name="scale" />
+        <field type="FP1616"    name="delta_angle" />
+        <field type="DeviceId"  name="sourceid" altenum="Device" />
+        <pad bytes="2" />
+        <field type="ModifierInfo" name="mods" />
+        <field type="GroupInfo"    name="group" />
+        <field type="CARD32"       name="flags" mask="GesturePinchEventFlags" />
+    </event>
+
+    <eventcopy name="GesturePinchUpdate" number="28" ref="GesturePinchBegin" />
+    <eventcopy name="GesturePinchEnd"    number="29" ref="GesturePinchBegin" />
+
+    <enum name="GestureSwipeEventFlags">
+        <item name="GestureSwipeCancelled"> <bit>0</bit> </item>
+    </enum>
+
+    <event name="GestureSwipeBegin" number="30" xge="true">
+        <field type="DeviceId"  name="deviceid" altenum="Device" />
+        <field type="TIMESTAMP" name="time" altenum="Time" />
+        <!-- event specific fields -->
+        <field type="CARD32"    name="detail" />
+        <field type="WINDOW"    name="root" />
+        <field type="WINDOW"    name="event" />
+        <field type="WINDOW"    name="child" />
+        <!-- 32 byte boundary -->
+        <field type="FP1616"    name="root_x" />
+        <field type="FP1616"    name="root_y" />
+        <field type="FP1616"    name="event_x" />
+        <field type="FP1616"    name="event_y" />
+        <field type="FP1616"    name="delta_x" />
+        <field type="FP1616"    name="delta_y" />
+        <field type="FP1616"    name="delta_unaccel_x" />
+        <field type="FP1616"    name="delta_unaccel_y" />
+        <field type="DeviceId"  name="sourceid" altenum="Device" />
+        <pad bytes="2" />
+        <field type="ModifierInfo" name="mods" />
+        <field type="GroupInfo"    name="group" />
+        <field type="CARD32"       name="flags" mask="GestureSwipeEventFlags" />
+    </event>
+
+    <eventcopy name="GestureSwipeUpdate" number="31" ref="GestureSwipeBegin" />
+    <eventcopy name="GestureSwipeEnd"    number="32" ref="GestureSwipeBegin" />
+
     <!-- ⋅⋅⋅ Requests that depend on events ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ -->
 
     <!-- SendExtensionEvent -->


More information about the xcb-commit mailing list