aboutsummaryrefslogtreecommitdiff
path: root/libxcb/xcb-proto/src
diff options
context:
space:
mode:
Diffstat (limited to 'libxcb/xcb-proto/src')
-rw-r--r--libxcb/xcb-proto/src/xcb.xsd35
-rw-r--r--libxcb/xcb-proto/src/xinput.xml2
-rw-r--r--libxcb/xcb-proto/src/xkb.xml4
-rw-r--r--libxcb/xcb-proto/src/xproto.xml8
4 files changed, 28 insertions, 21 deletions
diff --git a/libxcb/xcb-proto/src/xcb.xsd b/libxcb/xcb-proto/src/xcb.xsd
index 580d2588d..59bb9a883 100644
--- a/libxcb/xcb-proto/src/xcb.xsd
+++ b/libxcb/xcb-proto/src/xcb.xsd
@@ -91,7 +91,11 @@ authorization from the authors.
<xsd:element name="field" type="var" />
<!-- fd passing parameter -->
- <xsd:element name="fd" />
+ <xsd:element name="fd">
+ <xsd:complexType>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
<!-- list replaces ARRAYFIELD, LISTPARAM, and ARRAYREPLY. The name and type
are specified as attributes. The content is an expression giving the
@@ -158,8 +162,8 @@ authorization from the authors.
<xsd:attribute name="ref" use="required" type="xsd:string" />
</xsd:complexType>
</xsd:element>
- <xsd:element name="value" type="dec-or-hex-integer" />
- <xsd:element name="bit" type="xsd:integer" />
+ <xsd:element name="value" type="xsd:integer" />
+ <xsd:element name="bit" type="bitType" />
</xsd:choice>
</xsd:group>
@@ -220,18 +224,14 @@ authorization from the authors.
<xsd:attribute name="ref" type="xsd:string" use="required" />
</xsd:complexType>
- <!-- Type for hex integers -->
- <xsd:simpleType name="hex-integer">
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="0x[0-9a-fA-F]+" />
+ <!-- Type for bit values -->
+ <xsd:simpleType name="bitType">
+ <xsd:restriction base="xsd:integer">
+ <xsd:minInclusive value="0" />
+ <xsd:maxExclusive value="32" />
</xsd:restriction>
</xsd:simpleType>
- <!-- Type for integers in either decimal or hex -->
- <xsd:simpleType name="dec-or-hex-integer">
- <xsd:union memberTypes="xsd:integer hex-integer" />
- </xsd:simpleType>
-
<!-- Type for documentation -->
<xsd:group name="doc-fields">
<xsd:sequence>
@@ -317,7 +317,7 @@ authorization from the authors.
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="opcode" type="xsd:integer" use="required" />
<xsd:attribute name="combine-adjacent" type="xsd:boolean"
- use="optional"/>
+ use="optional" default="false" />
</xsd:complexType>
</xsd:element>
<xsd:element name="event">
@@ -328,8 +328,9 @@ authorization from the authors.
<xsd:element ref="doc" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="no-sequence-number" type="xsd:boolean"
- use="optional" />
- <xsd:attribute name="xge" type="xsd:boolean" use="optional" />
+ use="optional" default="false" />
+ <xsd:attribute name="xge" type="xsd:boolean"
+ use="optional" default="false" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
@@ -359,8 +360,8 @@ authorization from the authors.
<xsd:element name="item">
<xsd:complexType>
<xsd:choice minOccurs="1" maxOccurs="1">
- <xsd:element name="value" type="dec-or-hex-integer" />
- <xsd:element name="bit" type="xsd:integer" />
+ <xsd:element name="value" type="xsd:unsignedInt" />
+ <xsd:element name="bit" type="bitType" />
</xsd:choice>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
diff --git a/libxcb/xcb-proto/src/xinput.xml b/libxcb/xcb-proto/src/xinput.xml
index 924c003c7..86350dea0 100644
--- a/libxcb/xcb-proto/src/xinput.xml
+++ b/libxcb/xcb-proto/src/xinput.xml
@@ -914,6 +914,7 @@ authorization from the authors.
<field type="CARD16" name="len" />
<field type="CARD8" name="first_valuator" />
<field type="CARD8" name="num_valuators" />
+ <pad bytes="2" />
<list type="CARD32" name="resolution_values">
<fieldref>num_valuators</fieldref>
</list>
@@ -1229,6 +1230,7 @@ authorization from the authors.
<request name="XIChangeHierarchy" opcode="43">
<field type="CARD8" name="num_changes" />
+ <pad bytes="3" />
<list type="HierarchyChange" name="changes">
<fieldref>num_changes</fieldref>
</list>
diff --git a/libxcb/xcb-proto/src/xkb.xml b/libxcb/xcb-proto/src/xkb.xml
index 04ab4297a..ad52ea2a4 100644
--- a/libxcb/xcb-proto/src/xkb.xml
+++ b/libxcb/xcb-proto/src/xkb.xml
@@ -1204,6 +1204,10 @@ authorization from the authors.
<field name="lockGroup" type="BOOL" />
<field name="groupLock" type="CARD8" enum="Group" />
<field name="affectModLatches" type="CARD8" mask="ModMask" />
+ <pad bytes="1" /> <!-- This pad is a workaround to prevent an API break,
+ which the following field (correct fix) would cause.
+ <field name="modLatches" type="CARD8" mask="ModMask" />
+ -->
<pad bytes="1" />
<field name="latchGroup" type="BOOL" />
<field name="groupLatch" type="CARD16" />
diff --git a/libxcb/xcb-proto/src/xproto.xml b/libxcb/xcb-proto/src/xproto.xml
index 07795682c..bfb8a4cff 100644
--- a/libxcb/xcb-proto/src/xproto.xml
+++ b/libxcb/xcb-proto/src/xproto.xml
@@ -506,11 +506,11 @@ event.
<doc>
<brief>the pointer is in a different window</brief>
<field name="event"><![CDATA[
-The reconfigured window or its parent, depending on whether `StructureNotify`
-or `SubstructureNotify` was selected.
+The window on which the event was generated.
]]></field>
- <field name="window"><![CDATA[
-The window that was unmapped.
+ <field name="child"><![CDATA[
+If the `event` window has subwindows and the final pointer position is in one
+of them, then `child` is set to that subwindow, `XCB_WINDOW_NONE` otherwise.
]]></field>
<field name="root"><![CDATA[
The root window for the final cursor position.