diff options
Diffstat (limited to 'libxcb/xcb-proto')
-rw-r--r-- | libxcb/xcb-proto/src/xinput.xml | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/libxcb/xcb-proto/src/xinput.xml b/libxcb/xcb-proto/src/xinput.xml index dc87e7829..7f7b0a66d 100644 --- a/libxcb/xcb-proto/src/xinput.xml +++ b/libxcb/xcb-proto/src/xinput.xml @@ -862,7 +862,7 @@ in struct DeviceTimeCoord. <field type="CARD8" name="len" /> <field type="CARD8" name="num_valuators" /> <field type="CARD8" name="mode" mask="ValuatorStateModeMask" /> - <list type="CARD32" name="valuators"> + <list type="INT32" name="valuators"> <fieldref>num_valuators</fieldref> </list> </struct> @@ -870,14 +870,33 @@ in struct DeviceTimeCoord. <struct name="InputState"> <field type="CARD8" name="class_id" enum="InputClass" /> <field type="CARD8" name="len" /> - <field type="CARD8" name="num_items" /> - <pad bytes="1" /> - <list type="CARD8" name="uninterpreted_data"> - <op op="-"> - <fieldref>len</fieldref> - <value>4</value> - </op> - </list> + <switch name="data"> + <fieldref>class_id</fieldref> + <case name="key"> + <enumref ref="InputClass">Key</enumref> + <field type="CARD8" name="num_keys" /> + <pad bytes="1" /> + <list type="CARD8" name="keys"> + <value>32</value> + </list> + </case> + <case name="button"> + <enumref ref="InputClass">Button</enumref> + <field type="CARD8" name="num_buttons" /> + <pad bytes="1" /> + <list type="CARD8" name="buttons"> + <value>32</value> + </list> + </case> + <case name="valuator"> + <enumref ref="InputClass">Valuator</enumref> + <field type="CARD8" name="num_valuators" /> + <field type="CARD8" name="mode" mask="ValuatorStateModeMask" /> + <list type="INT32" name="valuators"> + <fieldref>num_valuators</fieldref> + </list> + </case> + </switch> </struct> <request name="QueryDeviceState" opcode="30"> |