diff options
author | Povilas Kanapickas <povilas@radix.lt> | 2021-05-17 15:01:29 +0300 |
---|---|---|
committer | Povilas Kanapickas <povilas@radix.lt> | 2021-09-22 14:53:06 +0300 |
commit | 151ee69847c706e2b9d38c82e20534910f140b55 (patch) | |
tree | 7aa35ed0ecc556bc1ded33b3ea4d768756dccca1 /src | |
parent | f0db8b7d31a379fe26f6cc592be997c8ce5f0b2d (diff) | |
download | xcb-proto-151ee69847c706e2b9d38c82e20534910f140b55.tar.gz |
xinput: Add XI v2.4
XInput 2.4 introduces touchpad gesture support which includes 6 new
events: Gesture{Pinch,Swipe}{Begin,Update,End}.
Diffstat (limited to 'src')
-rw-r--r-- | src/xinput.xml | 94 |
1 files changed, 88 insertions, 6 deletions
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 --> |