xinput: Add XI v2.2

Introduced with v2.2 has been Multitouch support and therefor 7 new
events: (Raw)Touch{Begin,Update,End} and TouchOwnership.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
This commit is contained in:
Daniel Martin 2013-01-15 20:14:57 +01:00
parent 67a185d69d
commit 5bfa4c8373

View file

@ -33,7 +33,7 @@ authorization from the authors.
-->
<xcb header="xinput" extension-xname="XInputExtension" extension-name="Input"
major-version="2" minor-version="1">
major-version="2" minor-version="2">
<import>xproto</import>
<!-- ⋅⋅⋅ Types (v1.0) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ -->
@ -2013,6 +2013,88 @@ authorization from the authors.
<eventcopy name="RawButtonRelease" number="16" ref="RawButtonPress" />
<eventcopy name="RawMotion" number="17" ref="RawButtonPress" />
<!-- ⋅⋅⋅ Events (v2.2) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ -->
<enum name="TouchEventFlags">
<item name="TouchPendingEnd"> <bit>16</bit> </item>
<item name="TouchEmulatingPointer"> <bit>17</bit> </item>
</enum>
<event name="TouchBegin" number="18" 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="CARD16" name="buttons_len" />
<field type="CARD16" name="valuators_len" />
<field type="DeviceId" name="sourceid" altenum="Device" />
<pad bytes="2" />
<field type="CARD32" name="flags" mask="TouchEventFlags" />
<field type="ModifierInfo" name="mods" />
<field type="GroupInfo" name="group" />
<list type="CARD32" name="button_mask">
<fieldref>buttons_len</fieldref>
</list>
<list type="CARD32" name="valuator_mask">
<fieldref>valuators_len</fieldref>
</list>
<!-- Uninterpreted: list (axisvalues) of FP3232,
length is <popcount> on valuator_mask list -->
</event>
<eventcopy name="TouchUpdate" number="19" ref="TouchBegin" />
<eventcopy name="TouchEnd" number="20" ref="TouchBegin" />
<enum name="TouchOwnershipFlags">
<!-- XXX: Remove this enum? Currently, no flag is defined. -->
<item name="None" />
</enum>
<event name="TouchOwnership" number="21" xge="true">
<field type="DeviceId" name="deviceid" altenum="Device" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<!-- event specific fields -->
<field type="CARD32" name="touchid" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
<field type="WINDOW" name="child" />
<!-- 32 byte boundary -->
<field type="DeviceId" name="sourceid" altenum="Device" />
<pad bytes="2" />
<field type="CARD32" name="flags" enum="TouchOwnershipFlags" />
<pad bytes="8" />
</event>
<event name="RawTouchBegin" number="22" 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="DeviceId" name="sourceid" />
<field type="CARD16" name="valuators_len" />
<field type="CARD32" name="flags" mask="TouchEventFlags"/>
<pad bytes="4" />
<!-- 32 byte boundary -->
<list type="CARD32" name="valuator_mask">
<fieldref>valuators_len</fieldref>
</list>
<!-- Uninterpreted: list (axisvalues) of FP3232,
length is <popcount> on valuator_mask list -->
<!-- Uninterpreted: list (axisvalues_raw) of FP3232,
length is <popcount> on valuator_mask list -->
</event>
<eventcopy name="RawTouchUpdate" number="23" ref="RawTouchBegin" />
<eventcopy name="RawTouchEnd" number="24" ref="RawTouchBegin" />
<!-- ⋅⋅⋅ Errors (v1.0) ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ -->
<error name="Device" number="0" />