requests of the same type may be combined into a single request without
affecting the semantics of the requests.
-<event name="identifier" number="integer" [no-sequence-number="true"]>
+<event name="identifier" number="integer"
+ [[no-sequence-number="true"] | [xge="true"]]>
structure contents
</event>
include a sequence number. This is a special-case for the KeymapNotify
event in the core protocol, and should not be used in any other event.
+ If the optional xge attribute is true, the event is an X Generic Event and
+ will be treated as such.
+
+ The no-sequence-number and xge attribute can not be combined.
+
<error name="identifier" number="integer">
structure contents
</error>
<switch> instead for new protocol definitions.
<switch name="identifier"> switch expression
- <bitcase> bitcase expression, fields </bitcase> </switch>
+ <bitcase> bitcase expression(s), fields </bitcase> </switch>
This element represents conditional inclusion of fields. It can be viewed
as sequence of multiple ifs: if ( switch expression & bitcase expression )
- is equal to bitcase expression, bitcase fields are included in structure.
- It can be used only as the last field of structure. New protocol definitions
- should prefer to use this instead of <valueparam>.
+ is non-zero, bitcase fields are included in structure. It can be used only
+ as the last field of a structure.
+
+ When a bitcase includes multiple <enumref> clauses, the contents of the
+ bitcase are only present once regardless of the number of bitcase expressions
+ that match.
+
+ New protocol definitions should prefer to use this instead of <valueparam>.
Expressions
-----------