[Xcb] [PATCH proto 2/2] xinput: Add XI version 1.5
Daniel Martin
consume.noise at gmail.com
Thu Jan 3 11:49:29 PST 2013
Added requests:
- ListDeviceProperties
- ChangeDeviceProperty
- DeleteDeviceProperty
- GetDeviceProperty
Added event:
- DevicePropertyNotify
Added enums:
- PropertyFormat
- PropertyMode
---
src/xinput.xml | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 97 insertions(+), 1 deletion(-)
diff --git a/src/xinput.xml b/src/xinput.xml
index e9cc9e5..0cbe77a 100644
--- a/src/xinput.xml
+++ b/src/xinput.xml
@@ -29,7 +29,7 @@ authorization from the authors.
<!-- Spec: http://refspecs.freestandards.org/X11/Xinput.pdf -->
<xcb header="xinput" extension-xname="XInputExtension" extension-name="Input"
- major-version="1" minor-version="4">
+ major-version="1" minor-version="5">
<import>xproto</import>
<typedef oldname="CARD8" newname="KeyCode" />
@@ -1014,6 +1014,92 @@ authorization from the authors.
<field type="CARD16" name="control_id" enum="DeviceControl" />
</union>
+ <!-- ListDeviceProperties -->
+
+ <request name="ListDeviceProperties" opcode="36">
+ <field type="CARD8" name="device_id" />
+ <pad bytes="3" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD16" name="num_properties" />
+ <pad bytes="22" />
+ <list type="ATOM" name="properties">
+ <fieldref>num_properties</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <!-- ChangeDeviceProperty -->
+
+ <enum name="PropertyFormat">
+ <item name="data8"> <value>8</value> </item>
+ <item name="data16"> <value>16</value> </item>
+ <item name="data32"> <value>32</value> </item>
+ </enum>
+
+ <enum name="PropertyMode">
+ <item name="Replace" />
+ <item name="Prepand" />
+ <item name="Append" />
+ </enum>
+
+ <request name="ChangeDeviceProperty" opcode="37">
+ <field type="ATOM" name="property" />
+ <field type="ATOM" name="type" />
+ <field type="CARD8" name="device_id" />
+ <field type="CARD8" name="format" enum="PropertyFormat" />
+ <field type="CARD8" name="mode" enum="PropertyMode" />
+ <pad bytes="1" />
+ <field type="CARD32" name="num_items" />
+ <list type="CARD8" name="data">
+ <op op="*">
+ <op op="/">
+ <fieldref>format</fieldref>
+ <value>8</value>
+ </op>
+ <fieldref>num_items</fieldref>
+ </op>
+ </list>
+ </request>
+
+ <!-- DeleteDeviceProperty -->
+
+ <request name="DeleteDeviceProperty" opcode="38">
+ <field type="ATOM" name="property" />
+ <field type="CARD8" name="device_id" />
+ <pad bytes="3" />
+ </request>
+
+ <!-- GetDeviceProperty -->
+
+ <request name="GetDeviceProperty" opcode="39">
+ <field type="ATOM" name="property" />
+ <field type="ATOM" name="type" />
+ <field type="CARD32" name="offset" />
+ <field type="CARD32" name="len" />
+ <field type="CARD8" name="device_id" />
+ <field type="BOOL" name="delete" />
+ <pad bytes="2" />
+ <reply>
+ <pad bytes="1" />
+ <field type="ATOM" name="type" />
+ <field type="CARD32" name="bytes_after" />
+ <field type="CARD32" name="num_items" />
+ <field type="CARD8" name="format" enum="PropertyFormat" />
+ <field type="CARD8" name="device_id" />
+ <pad bytes="10" />
+ <list type="CARD8" name="data">
+ <op op="*">
+ <op op="/">
+ <fieldref>format</fieldref>
+ <value>8</value>
+ </op>
+ <fieldref>num_items</fieldref>
+ </op>
+ </list>
+ </reply>
+ </request>
+
<!-- EVENTS -->
<event name="DeviceValuator" number="0">
@@ -1126,6 +1212,16 @@ authorization from the authors.
<pad bytes="20" />
</event>
+ <event name="DevicePropertyNotify" number="16">
+ <!-- XXX: pad0 (byte between response_type and sequence)
+ is used for the state (NewValue or Delete) -->
+ <pad bytes="1" />
+ <field type="TIMESTAMP" name="time" />
+ <field type="ATOM" name="property" />
+ <pad bytes="19" />
+ <field type="BYTE" name="device_id" />
+ </event>
+
<!-- ERRORS -->
<error name="Device" number="0" />
<error name="Event" number="1" />
--
1.8.0.3
More information about the Xcb
mailing list