summaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2009-05-31 16:38:12 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2009-05-31 16:38:12 +0000
commit9bcb81d30c73c6e487cc5a3ef5c5664164ef06e3 (patch)
tree597c494a57ae9dbd731085ec14e8e5ae9fb53a5a /proto
parenta98e499d523dd222b9d6891cfdb0ba2d660a583e (diff)
update to xcb-proto 1.5
Diffstat (limited to 'proto')
-rw-r--r--proto/xcb-proto/NEWS11
-rw-r--r--proto/xcb-proto/configure.ac2
-rw-r--r--proto/xcb-proto/doc/xml-xcb.txt6
-rw-r--r--proto/xcb-proto/src/composite.xml8
-rw-r--r--proto/xcb-proto/src/damage.xml8
-rw-r--r--proto/xcb-proto/src/dpms.xml11
-rw-r--r--proto/xcb-proto/src/randr.xml205
-rw-r--r--proto/xcb-proto/src/render.xml28
-rw-r--r--proto/xcb-proto/src/shape.xml26
-rw-r--r--proto/xcb-proto/src/shm.xml2
-rw-r--r--proto/xcb-proto/src/sync.xml8
-rw-r--r--proto/xcb-proto/src/xcb.xsd1
-rw-r--r--proto/xcb-proto/src/xfixes.xml34
-rw-r--r--proto/xcb-proto/src/xinput.xml196
-rw-r--r--proto/xcb-proto/src/xproto.xml229
-rw-r--r--proto/xcb-proto/src/xtest.xml4
-rw-r--r--proto/xcb-proto/src/xv.xml42
17 files changed, 540 insertions, 281 deletions
diff --git a/proto/xcb-proto/NEWS b/proto/xcb-proto/NEWS
index e007eaec4..e9a6a51cb 100644
--- a/proto/xcb-proto/NEWS
+++ b/proto/xcb-proto/NEWS
@@ -1,3 +1,14 @@
+Release 1.5 (2009-05-09)
+========================
+* Add support for mod mask Any
+* Add and use altenum (non-exhaustive enum)
+* Tweak some XInput specs
+* Fix milter spelling
+* Correct the length calculation for the value field of GetPropertyReply
+* xtest: rename window field to root
+* randr: add version 1.3 requests
+* shm: fix ShmCompletion event
+
Release 1.4 (2009-02-16)
========================
* Add explicit padding in various protocol description.
diff --git a/proto/xcb-proto/configure.ac b/proto/xcb-proto/configure.ac
index 6ada425d6..f3a489e2b 100644
--- a/proto/xcb-proto/configure.ac
+++ b/proto/xcb-proto/configure.ac
@@ -3,7 +3,7 @@
AC_PREREQ(2.57)
AC_INIT([XCB Proto],
- 1.4,
+ 1.5,
[xcb@lists.freedesktop.org])
AC_CONFIG_SRCDIR([xcb-proto.pc.in])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
diff --git a/proto/xcb-proto/doc/xml-xcb.txt b/proto/xcb-proto/doc/xml-xcb.txt
index 5d3475442..feb99844f 100644
--- a/proto/xcb-proto/doc/xml-xcb.txt
+++ b/proto/xcb-proto/doc/xml-xcb.txt
@@ -178,6 +178,12 @@ separated by a single colon. For example, to refer to the PIXMAP type defined
in glx rather than the one defined in xproto, use type="glx:PIXMAP" rather
than type="PIXMAP".
+Note: Most of the below may optionally contain an enum, altenum, or mask
+attribute, which follows the above rules for "type". "enum" is an exhaustive
+enum; the value is restricted to one of the constants named in the enum.
+"altenum" may be one of the values contained in the enum, but it need not be.
+"mask" refers to an enum to be used as a bitmask.
+
<pad bytes="integer" />
This element declares some padding in a data structure. The bytes
diff --git a/proto/xcb-proto/src/composite.xml b/proto/xcb-proto/src/composite.xml
index 3f3a4b1dd..d16b6e746 100644
--- a/proto/xcb-proto/src/composite.xml
+++ b/proto/xcb-proto/src/composite.xml
@@ -49,25 +49,25 @@ authorization from the authors.
<request name="RedirectWindow" opcode="1">
<field type="WINDOW" name="window" />
- <field type="CARD8" name="update" />
+ <field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
</request>
<request name="RedirectSubwindows" opcode="2">
<field type="WINDOW" name="window" />
- <field type="CARD8" name="update" />
+ <field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
</request>
<request name="UnredirectWindow" opcode="3">
<field type="WINDOW" name="window" />
- <field type="CARD8" name="update" />
+ <field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
</request>
<request name="UnredirectSubwindows" opcode="4">
<field type="WINDOW" name="window" />
- <field type="CARD8" name="update" />
+ <field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
</request>
diff --git a/proto/xcb-proto/src/damage.xml b/proto/xcb-proto/src/damage.xml
index 378e3ac2d..9c5cde5b6 100644
--- a/proto/xcb-proto/src/damage.xml
+++ b/proto/xcb-proto/src/damage.xml
@@ -57,7 +57,7 @@ authorization from the authors.
<request name="Create" opcode="1">
<field type="DAMAGE" name="damage" />
<field type="DRAWABLE" name="drawable" />
- <field type="CARD8" name="level" /> <!-- ReportLevel -->
+ <field type="CARD8" name="level" enum="ReportLevel" />
<pad bytes="3" />
</request>
@@ -67,8 +67,8 @@ authorization from the authors.
<request name="Subtract" opcode="3">
<field type="DAMAGE" name="damage" />
- <field type="REGION" name="repair" />
- <field type="REGION" name="parts" />
+ <field type="REGION" name="repair" altenum="Region" />
+ <field type="REGION" name="parts" altenum="Region" />
</request>
<request name="Add" opcode="4">
@@ -77,7 +77,7 @@ authorization from the authors.
</request>
<event name="Notify" number="0">
- <field type="CARD8" name="level" /> <!-- ReportLevel -->
+ <field type="CARD8" name="level" enum="ReportLevel" />
<field type="DRAWABLE" name="drawable" />
<field type="DAMAGE" name="damage" />
<field type="TIMESTAMP" name="timestamp" />
diff --git a/proto/xcb-proto/src/dpms.xml b/proto/xcb-proto/src/dpms.xml
index 8e84b2d4a..0c2ac2027 100644
--- a/proto/xcb-proto/src/dpms.xml
+++ b/proto/xcb-proto/src/dpms.xml
@@ -65,14 +65,21 @@ authorization from the authors.
<request name="Disable" opcode="5" />
+ <enum name="DPMSMode">
+ <item name="On" />
+ <item name="Standby" />
+ <item name="Suspend" />
+ <item name="Off" />
+ </enum>
+
<request name="ForceLevel" opcode="6">
- <field type="CARD16" name="power_level" />
+ <field type="CARD16" name="power_level" enum="DPMSMode" />
</request>
<request name="Info" opcode="7">
<reply>
<pad bytes="1" />
- <field type="CARD16" name="power_level" />
+ <field type="CARD16" name="power_level" enum="DPMSMode" />
<field type="BOOL" name="state" />
<pad bytes="21" />
</reply>
diff --git a/proto/xcb-proto/src/randr.xml b/proto/xcb-proto/src/randr.xml
index 05c42fb6b..4f0716f7c 100644
--- a/proto/xcb-proto/src/randr.xml
+++ b/proto/xcb-proto/src/randr.xml
@@ -27,9 +27,10 @@ authorization from the authors.
-->
<xcb header="randr" extension-xname="RANDR" extension-name="RandR"
- major-version="1" minor-version="2">
+ major-version="1" minor-version="3">
<import>xproto</import>
+ <import>render</import>
<!-- XIDs -->
<xidtype name="MODE" />
@@ -80,6 +81,13 @@ authorization from the authors.
<!-- Skip obsolete opcode 1 so old clients fail immediately -->
+ <enum name="SetConfig">
+ <item name="Success"><value>0</value></item>
+ <item name="InvalidConfigTime"><value>1</value></item>
+ <item name="InvalidTime"><value>2</value></item>
+ <item name="Failed"><value>3</value></item>
+ </enum>
+
<!-- This is for the 1.1 version request. I don't believe we need to specify a 1.0 request
as few things used randr 1.0. The only difference is the removal of refresh and padding I think.
BEWARE: the docs lie!
@@ -89,31 +97,32 @@ authorization from the authors.
<field type="TIMESTAMP" name="timestamp" />
<field type="TIMESTAMP" name="config_timestamp" />
<field type="CARD16" name="sizeID" />
- <field type="CARD16" name="rotation" /> <!-- enum Rotation -->
+ <field type="CARD16" name="rotation" mask="Rotation" />
<field type="CARD16" name="rate" />
<pad bytes="2" />
<reply>
- <field type="CARD8" name="status" /> <!-- enum SetConfig -->
+ <field type="CARD8" name="status" enum="SetConfig" />
<field type="TIMESTAMP" name="new_timestamp" />
<field type="TIMESTAMP" name="config_timestamp" />
<field type="WINDOW" name="root" />
- <field type="CARD16" name="subpixel_order" /> <!-- enum SubPixel (from Render) -->
+ <field type="CARD16" name="subpixel_order" enum="SubPixel" />
<pad bytes="10" />
</reply>
</request>
<!-- opcode 3 is obsolete -->
- <enum name="SetConfig">
- <item name="Success"><value>0</value></item>
- <item name="InvalidConfigTime"><value>1</value></item>
- <item name="InvalidTime"><value>2</value></item>
- <item name="Failed"><value>3</value></item>
+ <enum name="NotifyMask" >
+ <item name="ScreenChange"> <bit>0</bit></item>
+ <!-- new in 1.2 -->
+ <item name="CrtcChange"> <bit>1</bit></item>
+ <item name="OutputChange"> <bit>2</bit></item>
+ <item name="OutputProperty"><bit>3</bit></item>
</enum>
<request name="SelectInput" opcode="4">
<field type="WINDOW" name="window" />
- <field type="CARD16" name="enable" /> <!-- enum SetConfig -->
+ <field type="CARD16" name="enable" mask="NotifyMask" />
<pad bytes="2" />
</request>
@@ -123,13 +132,13 @@ authorization from the authors.
<request name="GetScreenInfo" opcode="5">
<field type="WINDOW" name="window" />
<reply>
- <field type="CARD8" name="rotations" />
+ <field type="CARD8" name="rotations" mask="Rotation" />
<field type="WINDOW" name="root" />
<field type="TIMESTAMP" name="timestamp" />
<field type="TIMESTAMP" name="config_timestamp" />
<field type="CARD16" name="nSizes" />
<field type="CARD16" name="sizeID" />
- <field type="CARD16" name="rotation" />
+ <field type="CARD16" name="rotation" mask="Rotation" />
<field type="CARD16" name="rate" />
<field type="CARD16" name="nInfo" />
<pad bytes="2" />
@@ -198,7 +207,7 @@ authorization from the authors.
<field type="CARD16" name="vsync_end" />
<field type="CARD16" name="vtotal" />
<field type="CARD16" name="name_len" />
- <field type="CARD32" name="mode_flags" /> <!-- enum ModeFlag -->
+ <field type="CARD32" name="mode_flags" mask="ModeFlag" />
<!-- the mode name itself -->
</struct>
@@ -242,13 +251,13 @@ authorization from the authors.
<field type="OUTPUT" name="output" />
<field type="TIMESTAMP" name="config_timestamp" />
<reply>
- <field type="CARD8" name="status" /> <!-- enum SetConfig -->
+ <field type="CARD8" name="status" enum="SetConfig" />
<field type="TIMESTAMP" name="timestamp" />
<field type="CRTC" name="crtc" />
<field type="CARD32" name="mm_width" /> <!-- millimeters -->
<field type="CARD32" name="mm_height" />
- <field type="CARD8" name="connection" /> <!-- enum Connection -->
- <field type="CARD8" name="subpixel_order" /> <!-- enum SubPixel (from Render) -->
+ <field type="CARD8" name="connection" enum="Connection" />
+ <field type="CARD8" name="subpixel_order" enum="SubPixel" />
<field type="CARD16" name="num_crtcs" />
<field type="CARD16" name="num_modes" />
<field type="CARD16" name="num_preferred" />
@@ -310,7 +319,7 @@ authorization from the authors.
<field type="ATOM" name="property" />
<field type="ATOM" name="type" />
<field type="CARD8" name="format" />
- <field type="CARD8" name="mode" />
+ <field type="CARD8" name="mode" enum="PropMode" />
<pad bytes="2" />
<field type="CARD32" name="num_units" />
<list type="void" name="data">
@@ -333,7 +342,7 @@ authorization from the authors.
<request name="GetOutputProperty" opcode="15">
<field type="OUTPUT" name="output" />
<field type="ATOM" name="property" />
- <field type="ATOM" name="type" />
+ <field type="ATOM" name="type" altenum="GetPropertyType" />
<field type="CARD32" name="long_offset" />
<field type="CARD32" name="long_length" />
<field type="BOOL" name="delete" />
@@ -341,7 +350,7 @@ authorization from the authors.
<pad bytes="2" />
<reply>
<field type="CARD8" name="format" />
- <field type="ATOM" name="type" />
+ <field type="ATOM" name="type" altenum="Atom" />
<field type="CARD32" name="bytes_after" />
<field type="CARD32" name="num_items" />
<pad bytes="12" />
@@ -387,15 +396,15 @@ authorization from the authors.
<field type="CRTC" name="crtc" />
<field type="TIMESTAMP" name="config_timestamp" />
<reply>
- <field type="CARD8" name="status" /> <!-- enum SetConfig -->
+ <field type="CARD8" name="status" enum="SetConfig" />
<field type="TIMESTAMP" name="timestamp" />
<field type="INT16" name="x" />
<field type="INT16" name="y" />
<field type="CARD16" name="width" />
<field type="CARD16" name="height" />
<field type="MODE" name="mode" />
- <field type="CARD16" name="rotation" /> <!-- enum Rotation -->
- <field type="CARD16" name="rotations" /> <!-- mask of enum Rotation -->
+ <field type="CARD16" name="rotation" mask="Rotation" />
+ <field type="CARD16" name="rotations" mask="Rotation" />
<field type="CARD16" name="num_outputs" />
<field type="CARD16" name="num_possible_outputs" />
<list type="OUTPUT" name="outputs">
@@ -414,11 +423,11 @@ authorization from the authors.
<field type="INT16" name="x" />
<field type="INT16" name="y" />
<field type="MODE" name="mode" />
- <field type="CARD16" name="rotation" /> <!-- enum Rotation -->
+ <field type="CARD16" name="rotation" mask="Rotation" />
<pad bytes="2" />
<list type="OUTPUT" name="outputs" />
<reply>
- <field type="CARD8" name="status" /> <!-- enum SetConfig -->
+ <field type="CARD8" name="status" enum="SetConfig" />
<field type="TIMESTAMP" name="timestamp" />
<pad bytes="20" />
</reply>
@@ -466,24 +475,140 @@ authorization from the authors.
</list>
</request>
+ <!-- new in 1.3 -->
+
+ <request name="GetScreenResourcesCurrent" opcode="25">
+ <field type="WINDOW" name="window" />
+ <reply>
+ <pad bytes="1" />
+ <field type="TIMESTAMP" name="timestamp" />
+ <field type="TIMESTAMP" name="config_timestamp" />
+ <field type="CARD16" name="num_crtcs" />
+ <field type="CARD16" name="num_outputs" />
+ <field type="CARD16" name="num_modes" />
+ <field type="CARD16" name="names_len" />
+ <pad bytes="8" />
+ <list type="CRTC" name="crtcs">
+ <fieldref>num_crtcs</fieldref>
+ </list>
+ <list type="OUTPUT" name="outputs">
+ <fieldref>num_outputs</fieldref>
+ </list>
+ <list type="ModeInfo" name="modes">
+ <fieldref>num_modes</fieldref>
+ </list>
+ <!-- FIXME: this is *not* null separated!
+ One must use ModeInfo.name_len from each previous
+ ModeInfo to infer the position of the name. -->
+ <list type="BYTE" name="names">
+ <fieldref>names_len</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="SetCrtcTransform" opcode="26">
+ <field type="CRTC" name="crtc" />
+ <field type="TRANSFORM" name="transform" />
+ <field type="CARD16" name="filter_len" />
+ <pad bytes="2" />
+ <list type="char" name="filter_name">
+ <fieldref>filter_len</fieldref>
+ </list>
+ <list type="FIXED" name="filter_params" />
+ </request>
+
+ <request name="GetCrtcTransform" opcode="27">
+ <field type="CRTC" name="crtc" />
+ <reply>
+ <pad bytes="1" />
+ <field type="TRANSFORM" name="pending_transform" />
+ <field type="BOOL" name="has_transforms" />
+ <pad bytes="3" />
+ <field type="TRANSFORM" name="current_transform" />
+ <pad bytes="4" />
+ <field type="CARD16" name="pending_len" />
+ <field type="CARD16" name="pending_nparams" />
+ <field type="CARD16" name="current_len" />
+ <field type="CARD16" name="current_nparams" />
+ <list type="char" name="pending_filter_name" >
+ <fieldref>pending_len</fieldref>
+ </list>
+ <list type="FIXED" name="pending_params" >
+ <fieldref>pending_nparams</fieldref>
+ </list>
+ <list type="char" name="current_filter_name" >
+ <fieldref>current_len</fieldref>
+ </list>
+ <list type="FIXED" name="current_params" >
+ <fieldref>current_nparams</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="GetPanning" opcode="28">
+ <field type="CRTC" name="crtc" />
+ <reply>
+ <field type="CARD8" name="status" enum="SetConfig" />
+ <field type="TIMESTAMP" name="timestamp" />
+ <field type="CARD16" name="left" />
+ <field type="CARD16" name="top" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD16" name="track_left" />
+ <field type="CARD16" name="track_top" />
+ <field type="CARD16" name="track_width" />
+ <field type="CARD16" name="track_height" />
+ <field type="INT16" name="border_left" />
+ <field type="INT16" name="border_top" />
+ <field type="INT16" name="border_right" />
+ <field type="INT16" name="border_bottom" />
+ </reply>
+ </request>
+
+ <request name="SetPanning" opcode="29">
+ <field type="CRTC" name="crtc" />
+ <field type="TIMESTAMP" name="timestamp" />
+ <field type="CARD16" name="left" />
+ <field type="CARD16" name="top" />
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <field type="CARD16" name="track_left" />
+ <field type="CARD16" name="track_top" />
+ <field type="CARD16" name="track_width" />
+ <field type="CARD16" name="track_height" />
+ <field type="INT16" name="border_left" />
+ <field type="INT16" name="border_top" />
+ <field type="INT16" name="border_right" />
+ <field type="INT16" name="border_bottom" />
+ <reply>
+ <field type="CARD8" name="status" enum="SetConfig" />
+ <field type="TIMESTAMP" name="timestamp" />
+ </reply>
+ </request>
+
+ <request name="SetOutputPrimary" opcode="30">
+ <field type="WINDOW" name="window" />
+ <field type="OUTPUT" name="output" />
+ </request>
+
+ <request name="GetOutputPrimary" opcode="31">
+ <field type="WINDOW" name="window" />
+ <reply>
+ <pad bytes="1" />
+ <field type="OUTPUT" name="output" />
+ </reply>
+ </request>
+
<!-- Events -->
- <enum name="NotifyMask" >
- <item name="ScreenChange"> <bit>0</bit></item>
- <!-- new in 1.2 -->
- <item name="CrtcChange"> <bit>1</bit></item>
- <item name="OutputChange"> <bit>2</bit></item>
- <item name="OutputProperty"><bit>3</bit></item>
- </enum>
-
<event name="ScreenChangeNotify" number="0">
- <field type="CARD8" name="rotation" />
+ <field type="CARD8" name="rotation" mask="Rotation" />
<field type="TIMESTAMP" name="timestamp" />
<field type="TIMESTAMP" name="config_timestamp" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="request_window" />
<field type="CARD16" name="sizeID" />
- <field type="CARD16" name="subpixel_order" /> <!-- enum SubPixel (from Render) -->
+ <field type="CARD16" name="subpixel_order" enum="SubPixel" />
<field type="CARD16" name="width" />
<field type="CARD16" name="height" />
<field type="CARD16" name="mwidth" />
@@ -504,7 +629,7 @@ authorization from the authors.
<field type="WINDOW" name="window" />
<field type="CRTC" name="crtc" />
<field type="MODE" name="mode" />
- <field type="CARD16" name="rotation" /> <!-- enum Rotation -->
+ <field type="CARD16" name="rotation" mask="Rotation" />
<pad bytes="2" />
<field type="INT16" name="x" />
<field type="INT16" name="y" />
@@ -519,9 +644,9 @@ authorization from the authors.
<field type="OUTPUT" name="output" />
<field type="CRTC" name="crtc" />
<field type="MODE" name="mode" />
- <field type="CARD16" name="rotation" /> <!-- enum Rotation -->
- <field type="CARD8" name="connection" /> <!-- enum Connection -->
- <field type="CARD8" name="subpixel_order" /> <!-- enum SubPixel (from Render) -->
+ <field type="CARD16" name="rotation" mask="Rotation" />
+ <field type="CARD8" name="connection" enum="Connection" />
+ <field type="CARD8" name="subpixel_order" enum="SubPixel" />
</struct>
<struct name="OutputProperty">
@@ -529,7 +654,7 @@ authorization from the authors.
<field type="OUTPUT" name="output" />
<field type="ATOM" name="atom" />
<field type="TIMESTAMP" name="timestamp" />
- <field type="CARD8" name="status" /> <!-- core enum Property -->
+ <field type="CARD8" name="status" enum="Property" />
<pad bytes="11" />
</struct>
@@ -540,7 +665,7 @@ authorization from the authors.
</union>
<event name="Notify" number="1">
- <field type="CARD8" name="subCode" /> <!-- enum Notify -->
+ <field type="CARD8" name="subCode" enum="Notify" />
<field type="NotifyData" name="u" />
</event>
</xcb>
diff --git a/proto/xcb-proto/src/render.xml b/proto/xcb-proto/src/render.xml
index 654eec917..59cc8e0bb 100644
--- a/proto/xcb-proto/src/render.xml
+++ b/proto/xcb-proto/src/render.xml
@@ -15,6 +15,10 @@ for licensing information.
<item name="Direct" />
</enum>
+ <enum name="Picture">
+ <item name="None" />
+ </enum>
+
<!-- Disjoint* and Conjoint* are new in version 0.2 -->
<enum name="PictOp">
<item name="Clear" />
@@ -129,7 +133,7 @@ for licensing information.
<struct name="PICTFORMINFO">
<field type="PICTFORMAT" name="id" />
- <field type="CARD8" name="type" />
+ <field type="CARD8" name="type" enum="PictType" />
<field type="CARD8" name="depth" />
<pad bytes="2" />
<field type="DIRECTFORMAT" name="direct" />
@@ -233,7 +237,7 @@ for licensing information.
<list type="PICTSCREEN" name="screens">
<fieldref>num_screens</fieldref>
</list>
- <list type="CARD32" name="subpixels">
+ <list type="CARD32" name="subpixels" enum="SubPixel" >
<fieldref>num_subpixel</fieldref>
</list>
</reply>
@@ -282,10 +286,10 @@ for licensing information.
</request>
<request name="Composite" opcode="8">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
- <field type="PICTURE" name="mask" />
+ <field type="PICTURE" name="mask" altenum="Picture" />
<field type="PICTURE" name="dst" />
<field type="INT16" name="src_x" />
<field type="INT16" name="src_y" />
@@ -300,7 +304,7 @@ for licensing information.
<!-- opcode 9 reserved for Scale -->
<request name="Trapezoids" opcode="10">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@@ -311,7 +315,7 @@ for licensing information.
</request>
<request name="Triangles" opcode="11">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@@ -322,7 +326,7 @@ for licensing information.
</request>
<request name="TriStrip" opcode="12">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@@ -333,7 +337,7 @@ for licensing information.
</request>
<request name="TriFan" opcode="13">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@@ -383,7 +387,7 @@ for licensing information.
</request>
<request name="CompositeGlyphs8" opcode="23">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@@ -395,7 +399,7 @@ for licensing information.
</request>
<request name="CompositeGlyphs16" opcode="24">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@@ -407,7 +411,7 @@ for licensing information.
</request>
<request name="CompositeGlyphs32" opcode="25">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@@ -421,7 +425,7 @@ for licensing information.
<!-- new in version 0.1 -->
<request name="FillRectangles" opcode="26">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="dst" />
<field type="COLOR" name="color" />
diff --git a/proto/xcb-proto/src/shape.xml b/proto/xcb-proto/src/shape.xml
index d8324603c..8d76de887 100644
--- a/proto/xcb-proto/src/shape.xml
+++ b/proto/xcb-proto/src/shape.xml
@@ -49,7 +49,7 @@ authorization from the authors.
</enum>
<event name="Notify" number="0">
- <field type="KIND" name="shape_kind" />
+ <field type="KIND" name="shape_kind" enum="SK" />
<field type="WINDOW" name="affected_window" />
<field type="INT16" name="extents_x" />
<field type="INT16" name="extents_y" />
@@ -69,9 +69,9 @@ authorization from the authors.
</request>
<request name="Rectangles" opcode="1">
- <field type="OP" name="operation" />
- <field type="KIND" name="destination_kind" />
- <field type="BYTE" name="ordering" />
+ <field type="OP" name="operation" enum="SO" />
+ <field type="KIND" name="destination_kind" enum="SK" />
+ <field type="BYTE" name="ordering" enum="ClipOrdering" />
<pad bytes="1" />
<field type="WINDOW" name="destination_window" />
<field type="INT16" name="x_offset" />
@@ -80,19 +80,19 @@ authorization from the authors.
</request>
<request name="Mask" opcode="2">
- <field type="OP" name="operation" />
- <field type="KIND" name="destination_kind" />
+ <field type="OP" name="operation" enum="SO" />
+ <field type="KIND" name="destination_kind" enum="SK" />
<pad bytes="2" />
<field type="WINDOW" name="destination_window" />
<field type="INT16" name="x_offset" />
<field type="INT16" name="y_offset" />
- <field type="PIXMAP" name="source_bitmap" />
+ <field type="PIXMAP" name="source_bitmap" altenum="Pixmap" />
</request>
<request name="Combine" opcode="3">
- <field type="OP" name="operation" />
- <field type="KIND" name="destination_kind" />
- <field type="KIND" name="source_kind" />
+ <field type="OP" name="operation" enum="SO" />
+ <field type="KIND" name="destination_kind" enum="SK" />
+ <field type="KIND" name="source_kind" enum="SK" />
<pad bytes="1" />
<field type="WINDOW" name="destination_window" />
<field type="INT16" name="x_offset" />
@@ -101,7 +101,7 @@ authorization from the authors.
</request>
<request name="Offset" opcode="4">
- <field type="KIND" name="destination_kind" />
+ <field type="KIND" name="destination_kind" enum="SK" />
<pad bytes="3" />
<field type="WINDOW" name="destination_window" />
<field type="INT16" name="x_offset" />
@@ -141,10 +141,10 @@ authorization from the authors.
<request name="GetRectangles" opcode="8">
<field type="WINDOW" name="window" />
- <field type="KIND" name="source_kind" />
+ <field type="KIND" name="source_kind" enum="SK" />
<pad bytes="3" />
<reply>
- <field type="BYTE" name="ordering" />
+ <field type="BYTE" name="ordering" enum="ClipOrdering" />
<field type="CARD32" name="rectangles_len" />
<list type="RECTANGLE" name="rectangles">
<fieldref>rectangles_len</fieldref>
diff --git a/proto/xcb-proto/src/shm.xml b/proto/xcb-proto/src/shm.xml
index 7168f3bda..adda50957 100644
--- a/proto/xcb-proto/src/shm.xml
+++ b/proto/xcb-proto/src/shm.xml
@@ -34,10 +34,10 @@ authorization from the authors.
<event name="Completion" number="0">
<pad bytes="1" />
<field type="DRAWABLE" name="drawable" />
- <field type="SEG" name="shmseg" />
<field type="CARD16" name="minor_event" />
<field type="BYTE" name="major_event" />
<pad bytes="1" />
+ <field type="SEG" name="shmseg" />
<field type="CARD32" name="offset" />
</event>
diff --git a/proto/xcb-proto/src/sync.xml b/proto/xcb-proto/src/sync.xml
index 8e7adc7f0..e30923325 100644
--- a/proto/xcb-proto/src/sync.xml
+++ b/proto/xcb-proto/src/sync.xml
@@ -55,9 +55,9 @@ for licensing information.
<struct name="TRIGGER">
<field type="COUNTER" name="counter" />
- <field type="CARD32" name="wait_type" />
+ <field type="CARD32" name="wait_type" enum="VALUETYPE" />
<field type="INT64" name="wait_value" />
- <field type="CARD32" name="test_type" />
+ <field type="CARD32" name="test_type" enum="TESTTYPE" />
</struct>
<struct name="WAITCONDITION">
@@ -155,7 +155,7 @@ for licensing information.
<field type="TRIGGER" name="trigger" />
<field type="INT64" name="delta" />
<field type="BOOL" name="events" />
- <field type="CARD8" name="state" />
+ <field type="CARD8" name="state" enum="ALARMSTATE" />
<pad bytes="2" />
</reply>
</request>
@@ -190,5 +190,7 @@ for licensing information.
<field type="INT64" name="counter_value" />
<field type="INT64" name="alarm_value" />
<field type="TIMESTAMP" name="timestamp" />
+ <field type="CARD8" name="state" enum="ALARMSTATE" />
+ <pad bytes="3" />
</event>
</xcb>
diff --git a/proto/xcb-proto/src/xcb.xsd b/proto/xcb-proto/src/xcb.xsd
index 43eb85bd1..54a73705e 100644
--- a/proto/xcb-proto/src/xcb.xsd
+++ b/proto/xcb-proto/src/xcb.xsd
@@ -51,6 +51,7 @@ authorization from the authors.
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="type" type="xsd:string" use="required" />
<xsd:attribute name="enum" type="xsd:string" use="optional" />
+ <xsd:attribute name="altenum" type="xsd:string" use="optional" />
<xsd:attribute name="mask" type="xsd:string" use="optional" />
</xsd:complexType>
diff --git a/proto/xcb-proto/src/xfixes.xml b/proto/xcb-proto/src/xfixes.xml
index fc34a60e8..f6b062336 100644
--- a/proto/xcb-proto/src/xfixes.xml
+++ b/proto/xcb-proto/src/xfixes.xml
@@ -59,9 +59,9 @@ authorization from the authors.
</enum>
<request name="ChangeSaveSet" opcode="1">
- <field type="BYTE" name="mode" /> <!-- SaveSetMode -->
- <field type="BYTE" name="target" /> <!-- SaveSetTarget -->
- <field type="BYTE" name="map" /> <!-- SaveSetMapping -->
+ <field type="BYTE" name="mode" enum="SaveSetMode" />
+ <field type="BYTE" name="target" enum="SaveSetTarget" />
+ <field type="BYTE" name="map" enum="SaveSetMapping" />
<pad bytes="1" />
<field type="WINDOW" name="window" />
</request>
@@ -79,7 +79,7 @@ authorization from the authors.
</enum>
<event name="SelectionNotify" number="0">
- <field type="CARD8" name="subtype" /> <!-- SelectionEvent -->
+ <field type="CARD8" name="subtype" enum="SelectionEvent" />
<field type="WINDOW" name="window" />
<field type="WINDOW" name="owner" />
<field type="ATOM" name="selection" />
@@ -91,7 +91,7 @@ authorization from the authors.
<request name="SelectSelectionInput" opcode="2">
<field type="WINDOW" name="window" />
<field type="ATOM" name="selection" />
- <field type="CARD32" name="event_mask" /> <!-- SelectionEventMask -->
+ <field type="CARD32" name="event_mask" mask="SelectionEventMask" />
</request>
<enum name="CursorNotify">
@@ -103,17 +103,17 @@ authorization from the authors.
</enum>
<event name="CursorNotify" number="1">
- <field type="CARD8" name="subtype" /> <!-- CursorNotify -->
+ <field type="CARD8" name="subtype" enum="CursorNotify" />
<field type="WINDOW" name="window" />
<field type="CARD32" name="cursor_serial" />
<field type="TIMESTAMP" name="timestamp" />
- <field type="ATOM" name="name" /> <!-- Added in version 2 -->
+ <field type="ATOM" name="name" altenum="Atom" /> <!-- Added in version 2 -->
<pad bytes="12" />
</event>
<request name="SelectCursorInput" opcode="3">
<field type="WINDOW" name="window" />
- <field type="CARD32" name="event_mask" /> <!-- CursorNotifyMask -->
+ <field type="CARD32" name="event_mask" mask="CursorNotifyMask" />
</request>
<request name="GetCursorImage" opcode="4">
@@ -142,6 +142,10 @@ authorization from the authors.
<error name="BadRegion" number="0" />
+ <enum name="Region">
+ <item name="None" />
+ </enum>
+
<request name="CreateRegion" opcode="5">
<field type="REGION" name="region" />
<list type="RECTANGLE" name="rectangles" />
@@ -155,7 +159,7 @@ authorization from the authors.
<request name="CreateRegionFromWindow" opcode="7">
<field type="REGION" name="region" />
<field type="WINDOW" name="window" />
- <field type="shape:KIND" name="kind" />
+ <field type="shape:KIND" name="kind" enum="SK" />
<pad bytes="3" />
</request>
@@ -232,23 +236,23 @@ authorization from the authors.
<request name="SetGCClipRegion" opcode="20">
<field type="GCONTEXT" name="gc" />
- <field type="REGION" name="region" />
+ <field type="REGION" name="region" altenum="Region" />
<field type="INT16" name="x_origin" />
<field type="INT16" name="y_origin" />
</request>
<request name="SetWindowShapeRegion" opcode="21">
<field type="WINDOW" name="dest" />
- <field type="shape:KIND" name="dest_kind" />
+ <field type="shape:KIND" name="dest_kind" enum="SK" />
<pad bytes="3" />
<field type="INT16" name="x_offset" />
<field type="INT16" name="y_offset" />
- <field type="REGION" name="region" />
+ <field type="REGION" name="region" altenum="Region" />
</request>
<request name="SetPictureClipRegion" opcode="22">
<field type="PICTURE" name="picture" />
- <field type="REGION" name="region" />
+ <field type="REGION" name="region" altenum="Region" />
<field type="INT16" name="x_origin" />
<field type="INT16" name="y_origin" />
</request>
@@ -264,7 +268,7 @@ authorization from the authors.
<field type="CURSOR" name="cursor" />
<reply>
<pad bytes="1" />
- <field type="ATOM" name="atom" />
+ <field type="ATOM" name="atom" altenum="Atom" />
<field type="CARD16" name="nbytes" />
<pad bytes="18" />
<list type="char" name="name"><fieldref>nbytes</fieldref></list>
@@ -281,7 +285,7 @@ authorization from the authors.
<field type="CARD16" name="xhot" />
<field type="CARD16" name="yhot" />
<field type="CARD32" name="cursor_serial" />
- <field type="ATOM" name="cursor_atom" />
+ <field type="ATOM" name="cursor_atom" altenum="Atom" />
<field type="CARD16" name="nbytes" />
<pad bytes="2" />
<list type="char" name="name"><fieldref>nbytes</fieldref></list>
diff --git a/proto/xcb-proto/src/xinput.xml b/proto/xcb-proto/src/xinput.xml
index 89f34596c..80416fe3f 100644
--- a/proto/xcb-proto/src/xinput.xml
+++ b/proto/xcb-proto/src/xinput.xml
@@ -57,18 +57,26 @@ authorization from the authors.
<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" />
+ <field type="CARD8" name="device_use" enum="DeviceUse" />
<pad bytes="1" />
</struct>
@@ -85,21 +93,23 @@ authorization from the authors.
</reply>
</request>
- <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" />
@@ -108,22 +118,22 @@ authorization from the authors.
</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="CARD32" name="minimum" />
- <field type="CARD32" name="maximum" />
+ <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>
@@ -133,7 +143,7 @@ authorization from the authors.
<!-- OpenDevice -->
<struct name="InputClassInfo">
- <field type="CARD8" name="class_id" />
+ <field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="event_type_base" />
</struct>
@@ -150,16 +160,6 @@ authorization from the authors.
</reply>
</request>
- <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">
@@ -171,11 +171,11 @@ authorization from the authors.
<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>
@@ -214,7 +214,7 @@ authorization from the authors.
<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>
@@ -239,13 +239,13 @@ authorization from the authors.
<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>
@@ -262,7 +262,7 @@ authorization from the authors.
<pad bytes="3" />
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
@@ -276,7 +276,7 @@ authorization from the authors.
<pad bytes="1" />
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
@@ -285,10 +285,10 @@ authorization from the authors.
<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" />
@@ -297,7 +297,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" enum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
@@ -305,7 +305,7 @@ authorization from the authors.
<!-- 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>
@@ -314,12 +314,12 @@ authorization from the authors.
<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">
@@ -331,9 +331,9 @@ authorization from the authors.
<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>
@@ -344,10 +344,10 @@ authorization from the authors.
<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">
@@ -359,18 +359,27 @@ authorization from the authors.
<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 -->
@@ -380,9 +389,9 @@ authorization from the authors.
<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>
@@ -390,9 +399,9 @@ authorization from the authors.
<!-- 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>
@@ -409,14 +418,23 @@ authorization from the authors.
</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" />
@@ -431,7 +449,7 @@ authorization from the authors.
</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" />
@@ -441,7 +459,7 @@ authorization from the authors.
</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" />
@@ -450,7 +468,7 @@ authorization from the authors.
</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" />
@@ -461,7 +479,7 @@ authorization from the authors.
</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" />
@@ -471,7 +489,7 @@ authorization from the authors.
</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" />
@@ -490,13 +508,13 @@ authorization from the authors.
-->
<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" />
@@ -510,7 +528,7 @@ authorization from the authors.
</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" />
@@ -520,14 +538,14 @@ authorization from the authors.
</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" />
@@ -538,7 +556,7 @@ authorization from the authors.
</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" />
@@ -548,7 +566,7 @@ authorization from the authors.
</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" />
@@ -618,7 +636,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" enum="MappingStatus" />
<pad bytes="23" />
</reply>
</request>
@@ -649,7 +667,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" enum="MappingStatus" />
<pad bytes="23" />
</reply>
</request>
@@ -668,13 +686,13 @@ authorization from the authors.
</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" />
@@ -684,7 +702,7 @@ authorization from the authors.
</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" />
@@ -694,7 +712,7 @@ authorization from the authors.
</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" />
@@ -744,7 +762,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
- <field type="CARD8" name="status" />
+ <field type="CARD8" name="status" enum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
@@ -757,7 +775,7 @@ authorization from the authors.
<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>
@@ -831,7 +849,7 @@ authorization from the authors.
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>
@@ -906,7 +924,7 @@ authorization from the authors.
<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" />
@@ -924,15 +942,15 @@ authorization from the authors.
<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" />
@@ -991,4 +1009,12 @@ authorization from the authors.
<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>
diff --git a/proto/xcb-proto/src/xproto.xml b/proto/xcb-proto/src/xproto.xml
index 62e4f0bd3..6295daeb3 100644
--- a/proto/xcb-proto/src/xproto.xml
+++ b/proto/xcb-proto/src/xproto.xml
@@ -127,6 +127,41 @@ authorization from the authors.
</list>
</struct>
+ <enum name="EventMask">
+ <item name="NoEvent"> <value>0</value></item>
+ <item name="KeyPress"> <bit>0</bit></item>
+ <item name="KeyRelease"> <bit>1</bit></item>
+ <item name="ButtonPress"> <bit>2</bit></item>
+ <item name="ButtonRelease"> <bit>3</bit></item>
+ <item name="EnterWindow"> <bit>4</bit></item>
+ <item name="LeaveWindow"> <bit>5</bit></item>
+ <item name="PointerMotion"> <bit>6</bit></item>
+ <item name="PointerMotionHint"> <bit>7</bit></item>
+ <item name="Button1Motion"> <bit>8</bit></item>
+ <item name="Button2Motion"> <bit>9</bit></item>
+ <item name="Button3Motion"> <bit>10</bit></item>
+ <item name="Button4Motion"> <bit>11</bit></item>
+ <item name="Button5Motion"> <bit>12</bit></item>
+ <item name="ButtonMotion"> <bit>13</bit></item>
+ <item name="KeymapState"> <bit>14</bit></item>
+ <item name="Exposure"> <bit>15</bit></item>
+ <item name="VisibilityChange"> <bit>16</bit></item>
+ <item name="StructureNotify"> <bit>17</bit></item>
+ <item name="ResizeRedirect"> <bit>18</bit></item>
+ <item name="SubstructureNotify"> <bit>19</bit></item>
+ <item name="SubstructureRedirect"><bit>20</bit></item>
+ <item name="FocusChange"> <bit>21</bit></item>
+ <item name="PropertyChange"> <bit>22</bit></item>
+ <item name="ColorMapChange"> <bit>23</bit></item>
+ <item name="OwnerGrabButton"> <bit>24</bit></item>
+ </enum>
+
+ <enum name="BackingStore">
+ <item name="NotUseful"> <value>0</value></item>
+ <item name="WhenMapped"><value>1</value></item>
+ <item name="Always"> <value>2</value></item>
+ </enum>
+
<struct name="SCREEN">
<field type="WINDOW" name="root" />
<field type="COLORMAP" name="default_colormap" />
@@ -236,6 +271,27 @@ authorization from the authors.
<item name="3"> <bit>5</bit></item>
<item name="4"> <bit>6</bit></item>
<item name="5"> <bit>7</bit></item>
+ <item name="Any"> <bit>15</bit></item>
+ </enum>
+
+ <enum name="KeyButMask">
+ <item name="Shift"> <bit>0</bit></item>
+ <item name="Lock"> <bit>1</bit></item>
+ <item name="Control"><bit>2</bit></item>
+ <item name="Mod1"> <bit>3</bit></item>
+ <item name="Mod2"> <bit>4</bit></item>
+ <item name="Mod3"> <bit>5</bit></item>
+ <item name="Mod4"> <bit>6</bit></item>
+ <item name="Mod5"> <bit>7</bit></item>
+ <item name="Button1"><bit>8</bit></item>
+ <item name="Button2"><bit>9</bit></item>
+ <item name="Button3"><bit>10</bit></item>
+ <item name="Button4"><bit>11</bit></item>
+ <item name="Button5"><bit>12</bit></item>
+ </enum>
+
+ <enum name="Window">
+ <item name="None"> <value>0</value></item>
</enum>
<event name="KeyPress" number="2">
@@ -243,12 +299,12 @@ authorization from the authors.
<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" />
<field type="INT16" name="event_y" />
- <field type="CARD16" name="state" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
<field type="BOOL" name="same_screen" />
<pad bytes="1" />
</event>
@@ -269,12 +325,12 @@ authorization from the authors.
<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" />
<field type="INT16" name="event_y" />
- <field type="CARD16" name="state" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
<field type="BOOL" name="same_screen" />
<pad bytes="1" />
</event>
@@ -292,12 +348,12 @@ authorization from the authors.
<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" />
<field type="INT16" name="event_y" />
- <field type="CARD16" name="state" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
<field type="BOOL" name="same_screen" />
<pad bytes="1" />
</event>
@@ -325,12 +381,12 @@ authorization from the authors.
<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" />
<field type="INT16" name="event_y" />
- <field type="CARD16" name="state" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
<field type="BYTE" name="mode" enum="NotifyMode" />
<field type="BYTE" name="same_screen_focus" />
</event>
@@ -451,7 +507,7 @@ authorization from the authors.
<pad bytes="1" />
<field type="WINDOW" name="event" />
<field type="WINDOW" name="window" />
- <field type="WINDOW" name="above_sibling" />
+ <field type="WINDOW" name="above_sibling" altenum="Window" />
<field type="INT16" name="x" />
<field type="INT16" name="y" />
<field type="CARD16" name="width" />
@@ -465,7 +521,7 @@ authorization from the authors.
<field type="BYTE" name="stack_mode" enum="StackMode" />
<field type="WINDOW" name="parent" />
<field type="WINDOW" name="window" />
- <field type="WINDOW" name="sibling" />
+ <field type="WINDOW" name="sibling" altenum="Window" />
<field type="INT16" name="x" />
<field type="INT16" name="y" />
<field type="CARD16" name="width" />
@@ -526,23 +582,31 @@ authorization from the authors.
<field type="ATOM" name="selection" />
</event>
+ <enum name="Time">
+ <item name="CurrentTime"> <value>0</value> </item>
+ </enum>
+
+ <enum name="Atom">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<event name="SelectionRequest" number="30">
<pad bytes="1" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<field type="WINDOW" name="owner" />
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
- <field type="ATOM" name="property" />
+ <field type="ATOM" name="property" altenum="Atom" />
</event>
<event name="SelectionNotify" number="31">
<pad bytes="1" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
- <field type="ATOM" name="property" />
+ <field type="ATOM" name="property" altenum="Atom" />
</event>
<enum name="ColormapState">
@@ -550,10 +614,14 @@ authorization from the authors.
<item name="Installed"> <value>1</value></item>
</enum>
+ <enum name="Colormap">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<event name="ColormapNotify" number="32">
<pad bytes="1" />
<field type="WINDOW" name="window" />
- <field type="COLORMAP" name="colormap" />
+ <field type="COLORMAP" name="colormap" altenum="Colormap" />
<field type="BOOL" name="new" />
<field type="BYTE" name="state" enum="ColormapState" />
<pad bytes="2" />
@@ -676,42 +744,6 @@ authorization from the authors.
<item name="Static"> <value>10</value></item>
</enum>
- <!-- Also used in XCBSCREEN field backing_stores -->
- <enum name="BackingStore">
- <item name="NotUseful"> <value>0</value></item>
- <item name="WhenMapped"><value>1</value></item>
- <item name="Always"> <value>2</value></item>
- </enum>
-
- <enum name="EventMask">
- <item name="NoEvent"> <value>0</value></item>
- <item name="KeyPress"> <bit>0</bit></item>
- <item name="KeyRelease"> <bit>1</bit></item>
- <item name="ButtonPress"> <bit>2</bit></item>
- <item name="ButtonRelease"> <bit>3</bit></item>
- <item name="EnterWindow"> <bit>4</bit></item>
- <item name="LeaveWindow"> <bit>5</bit></item>
- <item name="PointerMotion"> <bit>6</bit></item>
- <item name="PointerMotionHint"> <bit>7</bit></item>
- <item name="Button1Motion"> <bit>8</bit></item>
- <item name="Button2Motion"> <bit>9</bit></item>
- <item name="Button3Motion"> <bit>10</bit></item>
- <item name="Button4Motion"> <bit>11</bit></item>
- <item name="Button5Motion"> <bit>12</bit></item>
- <item name="ButtonMotion"> <bit>13</bit></item>
- <item name="KeymapState"> <bit>14</bit></item>
- <item name="Exposure"> <bit>15</bit></item>
- <item name="VisibilityChange"> <bit>16</bit></item>
- <item name="StructureNotify"> <bit>17</bit></item>
- <item name="ResizeRedirect"> <bit>18</bit></item>
- <item name="SubstructureNotify"> <bit>19</bit></item>
- <item name="SubstructureRedirect"><bit>20</bit></item>
- <item name="FocusChange"> <bit>21</bit></item>
- <item name="PropertyChange"> <bit>22</bit></item>
- <item name="ColorMapChange"> <bit>23</bit></item>
- <item name="OwnerGrabButton"> <bit>24</bit></item>
- </enum>
-
<request name="CreateWindow" opcode="1">
<field type="CARD8" name="depth" />
<field type="WINDOW" name="wid" />
@@ -757,7 +789,7 @@ authorization from the authors.
<field type="BOOL" name="map_is_installed" />
<field type="CARD8" name="map_state" enum="MapState" />
<field type="BOOL" name="override_redirect" />
- <field type="COLORMAP" name="colormap" />
+ <field type="COLORMAP" name="colormap" altenum="Colormap" />
<field type="CARD32" name="all_event_masks" mask="EventMask" />
<field type="CARD32" name="your_event_mask" mask="EventMask" />
<field type="CARD16" name="do_not_propagate_mask" mask="EventMask" />
@@ -871,7 +903,7 @@ authorization from the authors.
<reply>
<pad bytes="1" />
<field type="WINDOW" name="root" />
- <field type="WINDOW" name="parent" />
+ <field type="WINDOW" name="parent" altenum="Window" />
<field type="CARD16" name="children_len" />
<pad bytes="14" />
<list type="WINDOW" name="children">
@@ -889,7 +921,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
- <field type="ATOM" name="atom" />
+ <field type="ATOM" name="atom" altenum="Atom" />
</reply>
</request>
@@ -945,7 +977,7 @@ authorization from the authors.
<field type="BOOL" name="delete" />
<field type="WINDOW" name="window" />
<field type="ATOM" name="property" />
- <field type="ATOM" name="type" enum="GetPropertyType" />
+ <field type="ATOM" name="type" altenum="GetPropertyType" />
<field type="CARD32" name="long_offset" />
<field type="CARD32" name="long_length" />
<reply>
@@ -955,7 +987,13 @@ authorization from the authors.
<field type="CARD32" name="value_len" />
<pad bytes="12" />
<list type="void" name="value">
- <fieldref>value_len</fieldref>
+ <op op="*">
+ <fieldref>value_len</fieldref>
+ <op op="/">
+ <fieldref>format</fieldref>
+ <value>8</value>
+ </op>
+ </op>
</list>
</reply>
</request>
@@ -975,9 +1013,9 @@ authorization from the authors.
<request name="SetSelectionOwner" opcode="22">
<pad bytes="1" />
- <field type="WINDOW" name="owner" />
+ <field type="WINDOW" name="owner" altenum="Window" />
<field type="ATOM" name="selection" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="GetSelectionOwner" opcode="23">
@@ -985,7 +1023,7 @@ authorization from the authors.
<field type="ATOM" name="selection" />
<reply>
<pad bytes="1" />
- <field type="WINDOW" name="owner" />
+ <field type="WINDOW" name="owner" altenum="Window" />
</reply>
</request>
@@ -994,8 +1032,8 @@ authorization from the authors.
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
- <field type="ATOM" name="property" />
- <field type="TIMESTAMP" name="time" />
+ <field type="ATOM" name="property" altenum="Atom" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<enum name="SendEventDest">
@@ -1005,7 +1043,7 @@ authorization from the authors.
<request name="SendEvent" opcode="25">
<field type="BOOL" name="propagate" />
- <field type="WINDOW" name="destination" />
+ <field type="WINDOW" name="destination" altenum="SendEventDest" />
<field type="CARD32" name="event_mask" mask="EventMask" />
<list type="char" name="event"><value>32</value></list>
</request>
@@ -1023,15 +1061,19 @@ authorization from the authors.
<item name="Frozen"> <value>4</value></item>
</enum>
+ <enum name="Cursor">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<request name="GrabPointer" opcode="26">
<field type="BOOL" name="owner_events" />
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="event_mask" mask="EventMask" />
<field type="BYTE" name="pointer_mode" enum="GrabMode" />
<field type="BYTE" name="keyboard_mode" enum="GrabMode" />
- <field type="WINDOW" name="confine_to" />
- <field type="CURSOR" name="cursor" />
- <field type="TIMESTAMP" name="time" />
+ <field type="WINDOW" name="confine_to" altenum="Window" />
+ <field type="CURSOR" name="cursor" altenum="Cursor" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<reply>
<field type="BYTE" name="status" enum="GrabStatus" />
</reply>
@@ -1039,7 +1081,7 @@ authorization from the authors.
<request name="UngrabPointer" opcode="27">
<pad bytes="1" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<enum name="ButtonIndex">
@@ -1057,8 +1099,8 @@ authorization from the authors.
<field type="CARD16" name="event_mask" mask="EventMask" />
<field type="CARD8" name="pointer_mode" enum="GrabMode" />
<field type="CARD8" name="keyboard_mode" enum="GrabMode" />
- <field type="WINDOW" name="confine_to" />
- <field type="CURSOR" name="cursor" />
+ <field type="WINDOW" name="confine_to" altenum="Window" />
+ <field type="CURSOR" name="cursor" altenum="Cursor" />
<field type="CARD8" name="button" enum="ButtonIndex" />
<pad bytes="1" />
<field type="CARD16" name="modifiers" mask="ModMask" />
@@ -1073,8 +1115,8 @@ authorization from the authors.
<request name="ChangeActivePointerGrab" opcode="30">
<pad bytes="1" />
- <field type="CURSOR" name="cursor" />
- <field type="TIMESTAMP" name="time" />
+ <field type="CURSOR" name="cursor" altenum="Cursor" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<field type="CARD16" name="event_mask" mask="EventMask" />
<pad bytes="2" />
</request>
@@ -1082,7 +1124,7 @@ authorization from the authors.
<request name="GrabKeyboard" opcode="31">
<field type="BOOL" name="owner_events" />
<field type="WINDOW" name="grab_window" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<field type="BYTE" name="pointer_mode" enum="GrabMode" />
<field type="BYTE" name="keyboard_mode" enum="GrabMode" />
<pad bytes="2" />
@@ -1093,7 +1135,7 @@ authorization from the authors.
<request name="UngrabKeyboard" opcode="32">
<pad bytes="1" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<!-- Use KEYCODE any = { XCBGrabAny }; to grab any key -->
@@ -1105,14 +1147,14 @@ authorization from the authors.
<field type="BOOL" name="owner_events" />
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="modifiers" mask="ModMask" />
- <field type="KEYCODE" name="key" />
+ <field type="KEYCODE" name="key" altenum="Grab" />
<field type="CARD8" name="pointer_mode" enum="GrabMode" />
<field type="CARD8" name="keyboard_mode" enum="GrabMode" />
<pad bytes="3" />
</request>
<request name="UngrabKey" opcode="34">
- <field type="KEYCODE" name="key" />
+ <field type="KEYCODE" name="key" altenum="Grab" />
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="modifiers" mask="ModMask" />
<pad bytes="2" />
@@ -1131,7 +1173,7 @@ authorization from the authors.
<request name="AllowEvents" opcode="35">
<field type="CARD8" name="mode" enum="Allow" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="GrabServer" opcode="36" />
@@ -1144,12 +1186,12 @@ authorization from the authors.
<reply>
<field type="BOOL" name="same_screen" />
<field type="WINDOW" name="root" />
- <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="win_x" />
<field type="INT16" name="win_y" />
- <field type="CARD16" name="mask" />
+ <field type="CARD16" name="mask" mask="KeyButMask" />
<pad bytes="2" />
</reply>
</request>
@@ -1163,8 +1205,8 @@ authorization from the authors.
<request name="GetMotionEvents" opcode="39">
<pad bytes="1" />
<field type="WINDOW" name="window" />
- <field type="TIMESTAMP" name="start" />
- <field type="TIMESTAMP" name="stop" />
+ <field type="TIMESTAMP" name="start" altenum="Time" />
+ <field type="TIMESTAMP" name="stop" altenum="Time" />
<reply>
<pad bytes="1" />
<field type="CARD32" name="events_len" />
@@ -1183,7 +1225,7 @@ authorization from the authors.
<field type="INT16" name="src_y" />
<reply>
<field type="BOOL" name="same_screen" />
- <field type="WINDOW" name="child" />
+ <field type="WINDOW" name="child" altenum="Window" />
<field type="CARD16" name="dst_x" />
<field type="CARD16" name="dst_y" />
</reply>
@@ -1191,8 +1233,8 @@ authorization from the authors.
<request name="WarpPointer" opcode="41">
<pad bytes="1" />
- <field type="WINDOW" name="src_window" />
- <field type="WINDOW" name="dst_window" />
+ <field type="WINDOW" name="src_window" altenum="Window" />
+ <field type="WINDOW" name="dst_window" altenum="Window" />
<field type="INT16" name="src_x" />
<field type="INT16" name="src_y" />
<field type="CARD16" name="src_width" />
@@ -1206,18 +1248,19 @@ authorization from the authors.
<item name="None"> <value>0</value></item>
<item name="PointerRoot"><value>1</value></item>
<item name="Parent"> <value>2</value></item> <!-- revert_to only -->
+ <item name="FollowKeyboard"><value>3</value></item> <!-- xinput extension only -->
</enum>
<request name="SetInputFocus" opcode="42">
<field type="CARD8" name="revert_to" enum="InputFocus" />
- <field type="WINDOW" name="focus" />
- <field type="TIMESTAMP" name="time" />
+ <field type="WINDOW" name="focus" altenum="InputFocus" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="GetInputFocus" opcode="43">
<reply>
<field type="CARD8" name="revert_to" enum="InputFocus" />
- <field type="WINDOW" name="focus" />
+ <field type="WINDOW" name="focus" altenum="InputFocus" />
</reply>
</request>
@@ -1456,7 +1499,7 @@ authorization from the authors.
</enum>
<enum name="JoinStyle">
- <item name="Mitre"> <value>0</value></item>
+ <item name="Miter"> <value>0</value></item>
<item name="Round"> <value>1</value></item>
<item name="Bevel"> <value>2</value></item>
</enum>
@@ -1940,11 +1983,15 @@ authorization from the authors.
</reply>
</request>
+ <enum name="Pixmap">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<request name="CreateCursor" opcode="93">
<pad bytes="1" />
<field type="CURSOR" name="cid" />
<field type="PIXMAP" name="source" />
- <field type="PIXMAP" name="mask" />
+ <field type="PIXMAP" name="mask" altenum="Pixmap" />
<field type="CARD16" name="fore_red" />
<field type="CARD16" name="fore_green" />
<field type="CARD16" name="fore_blue" />
@@ -1955,11 +2002,15 @@ authorization from the authors.
<field type="CARD16" name="y" />
</request>
+ <enum name="Font">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<request name="CreateGlyphCursor" opcode="94">
<pad bytes="1" />
<field type="CURSOR" name="cid" />
<field type="FONT" name="source_font" />
- <field type="FONT" name="mask_font" />
+ <field type="FONT" name="mask_font" altenum="Font" />
<field type="CARD16" name="source_char" />
<field type="CARD16" name="mask_char" />
<field type="CARD16" name="fore_red" />
@@ -2223,7 +2274,7 @@ authorization from the authors.
<request name="KillClient" opcode="113">
<pad bytes="1" />
- <field type="CARD32" name="resource" enum="Kill" />
+ <field type="CARD32" name="resource" altenum="Kill" />
</request>
<request name="RotateProperties" opcode="114">
diff --git a/proto/xcb-proto/src/xtest.xml b/proto/xcb-proto/src/xtest.xml
index 8e18691d2..e481929b7 100644
--- a/proto/xcb-proto/src/xtest.xml
+++ b/proto/xcb-proto/src/xtest.xml
@@ -66,7 +66,7 @@ authorization from the authors.
3. Simulate mouse motion:
type = XCBMotionNotify
detail = 0 or 1
- window = XCBNone or a root window id
+ root = XCBNone or a root window id
rootX,
rootY = position (relative if detail==1)
@@ -86,7 +86,7 @@ authorization from the authors.
<field type="BYTE" name="detail" />
<pad bytes="2" />
<field type="CARD32" name="time" />
- <field type="WINDOW" name="window" />
+ <field type="WINDOW" name="root" />
<pad bytes="8" />
<field type="CARD16" name="rootX" />
<field type="CARD16" name="rootY" />
diff --git a/proto/xcb-proto/src/xv.xml b/proto/xcb-proto/src/xv.xml
index 26047a608..d2bfc2992 100644
--- a/proto/xcb-proto/src/xv.xml
+++ b/proto/xcb-proto/src/xv.xml
@@ -58,6 +58,28 @@ authorization from the authors.
<item name="Settable"><bit>1</bit></item>
</enum>
+ <enum name="VideoNotifyReason">
+ <item name="Started" />
+ <item name="Stopped" />
+ <item name="Busy" />
+ <item name="Preempted" />
+ <item name="HardError" />
+ </enum>
+
+ <enum name="ScanlineOrder">
+ <item name="TopToBottom" />
+ <item name="BottomToTop" />
+ </enum>
+
+ <enum name="GrabPortStatus">
+ <item name="Success" />
+ <item name="BadExtension" />
+ <item name="AlreadyGrabbed" />
+ <item name="InvalidTime" />
+ <item name="BadReply" />
+ <item name="BadAlloc" />
+ </enum>
+
<struct name="Rational">
<field type="INT32" name="numerator" />
<field type="INT32" name="denominator" />
@@ -74,7 +96,7 @@ authorization from the authors.
<field type="CARD16" name="name_size" />
<field type="CARD16" name="num_ports" />
<field type="CARD16" name="num_formats" />
- <field type="CARD8" name="type" />
+ <field type="CARD8" name="type" mask="Type" />
<pad bytes="1" />
<list type="char" name="name">
<fieldref>name_size</fieldref>
@@ -120,7 +142,7 @@ authorization from the authors.
</struct>
<struct name="AttributeInfo">
- <field type="CARD32" name="flags" />
+ <field type="CARD32" name="flags" mask="AttributeFlag" />
<field type="INT32" name="min" />
<field type="INT32" name="max" />
<field type="CARD32" name="size" />
@@ -131,8 +153,8 @@ authorization from the authors.
<struct name="ImageFormatInfo">
<field type="CARD32" name="id" />
- <field type="CARD8" name="type" />
- <field type="CARD8" name="byte_order" />
+ <field type="CARD8" name="type" enum="ImageFormatInfoType" />
+ <field type="CARD8" name="byte_order" enum="ImageOrder" />
<pad bytes="2" />
<list type="CARD8" name="guid">
<value>16</value>
@@ -145,7 +167,7 @@ authorization from the authors.
<field type="CARD32" name="red_mask" />
<field type="CARD32" name="green_mask" />
<field type="CARD32" name="blue_mask" />
- <field type="CARD8" name="format" />
+ <field type="CARD8" name="format" enum="ImageFormatInfoFormat" />
<pad bytes="3" />
<field type="CARD32" name="y_sample_bits" />
<field type="CARD32" name="u_sample_bits" />
@@ -159,7 +181,7 @@ authorization from the authors.
<list type="CARD8" name="vcomp_order">
<value>32</value>
</list>
- <field type="CARD8" name="vscanline_order" />
+ <field type="CARD8" name="vscanline_order" enum="ScanlineOrder" />
<pad bytes="11" />
</struct>
@@ -171,7 +193,7 @@ authorization from the authors.
<!-- Events -->
<event name="VideoNotify" number="0">
- <field type="BYTE" name="reason" />
+ <field type="BYTE" name="reason" enum="VideoNotifyReason" />
<field type="TIMESTAMP" name="time" />
<field type="DRAWABLE" name="drawable" />
<field type="PORT" name="port" />
@@ -225,15 +247,15 @@ authorization from the authors.
<request name="GrabPort" opcode="3">
<field type="PORT" name="port" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<reply>
- <field type="BYTE" name="result" />
+ <field type="BYTE" name="result" enum="GrabPortStatus" />
</reply>
</request>
<request name="UngrabPort" opcode="4">
<field type="PORT" name="port" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="PutVideo" opcode="5">