<pad bytes="1" />
<field type="CARD16" name="server_major" />
<field type="CARD16" name="server_minor" />
- <field type="CARD8" name="present" />
+ <field type="BOOL" name="present" />
<pad bytes="19" />
</reply>
</request>
<!-- ListInputDevices -->
+ <enum name="DeviceUse">
+ <item name="IsXPointer"><value>0</value></item>
+ <item name="IsXKeyboard"><value>1</value></item>
+ <item name="IsXExtensionDevice"><value>2</value></item>
+ <item name="IsXExtensionKeyboard"><value>3</value></item>
+ <item name="IsXExtensionPointer"><value>4</value></item>
+ </enum>
+
+ <struct name="DeviceInfo">
+ <field type="ATOM" name="device_type" />
+ <field type="CARD8" name="device_id" />
+ <field type="CARD8" name="num_class_info" />
+ <field type="CARD8" name="device_use" enum="DeviceUse" />
+ <pad bytes="1" />
+ </struct>
+
<request name="ListInputDevices" opcode="2">
<reply>
<pad bytes="1" />
</reply>
</request>
- <struct name="DeviceInfo">
- <field type="ATOM" name="device_type" />
- <field type="CARD8" name="device_id" />
- <field type="CARD8" name="num_class_info" />
- <field type="CARD8" name="device_use" />
- <pad bytes="1" />
- </struct>
-
- <enum name="DeviceUse">
- <item name="IsXPointer"><value>0</value></item>
- <item name="IsXKeyboard"><value>1</value></item>
- <item name="IsXExtensionDevice"><value>2</value></item>
- <item name="IsXExtensionKeyboard"><value>3</value></item>
- <item name="IsXExtensionPointer"><value>4</value></item>
+ <enum name="InputClass">
+ <item name="Key"><value>0</value></item>
+ <item name="Button"><value>1</value></item>
+ <item name="Valuator"><value>2</value></item>
+ <item name="Feedback"><value>3</value></item>
+ <item name="Proximity"><value>4</value></item>
+ <item name="Focus"><value>5</value></item>
+ <item name="Other"><value>6</value></item>
</enum>
<struct name="InputInfo">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
</struct>
<struct name="KeyInfo">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="KeyCode" name="min_keycode" />
<field type="KeyCode" name="max_keycode" />
</struct>
<struct name="ButtonInfo">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD16" name="num_buttons" />
</struct>
+ <struct name="AxisInfo">
+ <field type="CARD32" name="resolution" />
+ <field type="INT32" name="minimum" />
+ <field type="INT32" name="maximum" />
+ </struct>
+
<struct name="ValuatorInfo">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD8" name="axes_len" />
- <field type="CARD8" name="mode" />
+ <field type="CARD8" name="mode" enum="ValuatorMode" />
<field type="CARD32" name="motion_size" />
<list type="AxisInfo" name="axes">
<fieldref>axes_len</fieldref>
</list>
</struct>
- <struct name="AxisInfo">
- <field type="CARD32" name="resolution" />
- <field type="CARD32" name="minimum" />
- <field type="CARD32" name="maximum" />
- </struct>
-
<!-- OpenDevice -->
+ <struct name="InputClassInfo">
+ <field type="CARD8" name="class_id" enum="InputClass" />
+ <field type="CARD8" name="event_type_base" />
+ </struct>
+
<request name="OpenDevice" opcode="3">
<field type="CARD8" name="device_id" />
<pad bytes="3" />
</reply>
</request>
- <struct name="InputClassInfo">
- <field type="CARD8" name="class_id" />
- <field type="CARD8" name="event_type_base" />
- </struct>
-
- <enum name="InputClass">
- <item name="Key"><value>0</value></item>
- <item name="Button"><value>1</value></item>
- <item name="Valuator"><value>2</value></item>
- <item name="Feedback"><value>3</value></item>
- <item name="Proximity"><value>4</value></item>
- <item name="Focus"><value>5</value></item>
- <item name="Other"><value>6</value></item>
- </enum>
-
<!-- CloseDevice -->
<request name="CloseDevice" opcode="4">
<request name="SetDeviceMode" opcode="5">
<field type="CARD8" name="device_id" />
- <field type="CARD8" name="mode" />
+ <field type="CARD8" name="mode" enum="ValuatorMode" />
<pad bytes="2" />
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
<request name="ChangeDeviceDontPropagateList" opcode="8">
<field type="WINDOW" name="window" />
<field type="CARD16" name="num_classes" />
- <field type="CARD8" name="mode" />
+ <field type="CARD8" name="mode" enum="PropagateMode" />
<pad bytes="1" />
<list type="EventClass" name="classes">
<fieldref>num_classes</fieldref>
<request name="GetDeviceMotionEvents" opcode="10">
<field type="TIMESTAMP" name="start" />
- <field type="TIMESTAMP" name="stop" />
+ <field type="TIMESTAMP" name="stop" altenum="Time" />
<field type="CARD8" name="device_id" />
<reply>
<pad bytes="1" />
<field type="CARD32" name="num_coords" />
<field type="CARD8" name="num_axes" />
- <field type="CARD8" name="device_mode" />
+ <field type="CARD8" name="device_mode" enum="ValuatorMode" />
<pad bytes="18" />
<!-- Uninterpreted: list of DeviceTimeCoord structures -->
</reply>
<pad bytes="3" />
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
<pad bytes="1" />
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
<request name="GrabDevice" opcode="13">
<field type="WINDOW" name="grab_window" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<field type="CARD16" name="num_classes" />
- <field type="CARD8" name="this_device_mode" />
- <field type="CARD8" name="other_device_mode" />
+ <field type="CARD8" name="this_device_mode" enum="GrabMode" />
+ <field type="CARD8" name="other_device_mode" enum="GrabMode" />
<field type="BOOL" name="owner_events" />
<field type="CARD8" name="device_id" />
<pad bytes="2" />
</list>
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" enum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
<!-- UngrabDevice -->
<request name="UngrabDevice" opcode="14">
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<field type="CARD8" name="device_id" />
</request>
<request name="GrabDeviceKey" opcode="15">
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="num_classes" />
- <field type="CARD16" name="modifiers" />
+ <field type="CARD16" name="modifiers" mask="ModMask" />
<field type="CARD8" name="modifier_device" />
<field type="CARD8" name="grabbed_device" />
- <field type="CARD8" name="key" />
- <field type="CARD8" name="this_device_mode" />
- <field type="CARD8" name="other_device_mode" />
+ <field type="CARD8" name="key" altenum="Grab" />
+ <field type="CARD8" name="this_device_mode" enum="GrabMode" />
+ <field type="CARD8" name="other_device_mode" enum="GrabMode" />
<field type="BOOL" name="owner_events" />
<pad bytes="2" />
<list type="EventClass" name="classes">
<request name="UngrabDeviceKey" opcode="16">
<field type="WINDOW" name="grabWindow" />
- <field type="CARD16" name="modifiers" />
+ <field type="CARD16" name="modifiers" mask="ModMask" />
<field type="CARD8" name="modifier_device" />
- <field type="CARD8" name="key" />
+ <field type="CARD8" name="key" altenum="Grab" />
<field type="CARD8" name="grabbed_device" />
</request>
<field type="CARD8" name="grabbed_device" />
<field type="CARD8" name="modifier_device" />
<field type="CARD16" name="num_classes" />
- <field type="CARD16" name="modifiers" />
- <field type="CARD8" name="this_device_mode" />
- <field type="CARD8" name="other_device_mode" />
- <field type="CARD8" name="button" />
+ <field type="CARD16" name="modifiers" mask="ModMask" />
+ <field type="CARD8" name="this_device_mode" enum="GrabMode" />
+ <field type="CARD8" name="other_device_mode" enum="GrabMode" />
+ <field type="CARD8" name="button" altenum="Grab" />
<field type="CARD8" name="owner_events" />
<pad bytes="2" />
<list type="EventClass" name="classes">
<request name="UngrabDeviceButton" opcode="18">
<field type="WINDOW" name="grab_window" />
- <field type="CARD16" name="modifiers" />
+ <field type="CARD16" name="modifiers" mask="ModMask" />
<field type="CARD8" name="modifier_device" />
- <field type="CARD8" name="button" />
+ <field type="CARD8" name="button" altenum="Grab" />
<field type="CARD8" name="grabbed_device" />
</request>
<!-- AllowDeviceEvents -->
+ <enum name="DeviceInputMode">
+ <item name="AsyncThisDevice" />
+ <item name="SyncThisDevice" />
+ <item name="ReplayThisDevice" />
+ <item name="AsyncOtherDevices" />
+ <item name="AsyncAll" />
+ <item name="SyncAll" />
+ </enum>
+
<request name="AllowDeviceEvents" opcode="19">
- <field type="TIMESTAMP" name="time" />
- <field type="CARD8" name="mode" />
- <field type="CARD8" name="device_id" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ <field type="CARD8" name="mode" enum="DeviceInputMode" />
+ <field type="CARD8" name="device_id" />
</request>
<!-- GetDeviceFocus -->
<pad bytes="3" />
<reply>
<pad bytes="1" />
- <field type="WINDOW" name="focus" />
+ <field type="WINDOW" name="focus" altenum="InputFocus" />
<field type="TIMESTAMP" name="time" />
- <field type="CARD8" name="revert_to" />
+ <field type="CARD8" name="revert_to" enum="InputFocus" />
<pad bytes="15" />
</reply>
</request>
<!-- SetDeviceFocus -->
<request name="SetDeviceFocus" opcode="21">
- <field type="WINDOW" name="focus" />
- <field type="TIMESTAMP" name="time" />
- <field type="CARD8" name="revert_to" />
+ <field type="WINDOW" name="focus" altenum="InputFocus" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
+ <field type="CARD8" name="revert_to" enum="InputFocus" />
<field type="CARD8" name="device_id" />
</request>
</reply>
</request>
+ <enum name="FeedbackClass">
+ <item name="Keyboard" />
+ <item name="Pointer" />
+ <item name="String" />
+ <item name="Integer" />
+ <item name="Led" />
+ <item name="Bell" />
+ </enum>
+
<struct name="FeedbackState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
</struct>
<struct name="KbdFeedbackState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD16" name="pitch" />
</struct>
<struct name="PtrFeedbackState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<pad bytes="2" />
</struct>
<struct name="IntegerFeedbackState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD32" name="resolution" />
</struct>
<struct name="StringFeedbackState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD16" name="max_symbols" />
</struct>
<struct name="BellFeedbackState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD8" name="percent" />
</struct>
<struct name="LedFeedbackState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD32" name="led_mask" />
-->
<struct name="FeedbackCtl">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
</struct>
<struct name="KbdFeedbackCtl">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="KeyCode" name="key" />
</struct>
<struct name="PtrFeedbackCtl">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<pad bytes="2" />
</struct>
<struct name="IntegerFeedbackCtl">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="INT32" name="int_to_display" />
</struct>
<struct name="StringFeedbackCtl">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<pad bytes="2" />
</struct>
<struct name="BellFeedbackCtl">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="INT8" name="percent" />
</struct>
<struct name="LedFeedbackCtl">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD32" name="led_mask" />
</list>
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" enum="MappingStatus" />
<pad bytes="23" />
</reply>
</request>
</list>
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" enum="MappingStatus" />
<pad bytes="23" />
</reply>
</request>
</request>
<struct name="InputState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD8" name="num_items" />
</struct>
<struct name="KeyState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD8" name="num_keys" />
<pad bytes="1" />
</struct>
<struct name="ButtonState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD8" name="num_buttons" />
<pad bytes="1" />
</struct>
<struct name="ValuatorState">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD8" name="num_valuators" />
<field type="CARD8" name="mode" />
</list>
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" enum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
<pad bytes="1" />
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
<!-- Uninterpreted: list of DeviceState structures -->
</reply>
Uninterpreted: list of DeviceCtl structures
<reply>
<pad byte="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
- <field type="WINDOW" name="child" />
+ <field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
<eventcopy name="ProximityOut" number="9" ref="DeviceKeyPress" />
<event name="FocusIn" number="6">
- <field type="BYTE" name="detail" />
+ <field type="BYTE" name="detail" enum="NotifyDetail" />
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="window" />
- <field type="BYTE" name="mode" />
+ <field type="BYTE" name="mode" enum="NotifyMode" />
<field type="CARD8" name="device_id" />
<pad bytes="18" />
</event>
- <eventcopy name="FocusOut" number="7" ref="DeviceKeyPress" />
+ <eventcopy name="FocusOut" number="7" ref="FocusIn" />
<event name="DeviceStateNotify" number="10">
<field type="BYTE" name="device_id" />
<field type="CARD16" name="control" />
<pad bytes="20" />
</event>
+
+ <!-- ERRORS -->
+ <error name="Device" number="0" />
+ <error name="Event" number="1" />
+ <error name="Mode" number="2" />
+ <error name="DeviceBusy" number="3" />
+ <error name="Class" number="4" />
+
</xcb>