Commit graph

373 commits

Author SHA1 Message Date
Christian Linhart
e224ebbe20 xinput: request GrabDeviceButton: fix type of field owner_events
change type of field "owner_events" from CARD8 to BOOL

spec:
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XIproto.txt#n1311
(file-position in the above URL may become wrong if the spec changes)
2014-08-25 13:42:55 +02:00
Christian Linhart
d15b0f6113 xinput: struct AddMaster: fix type of fields
fix type of fields "send_core" and "enable" to BOOL

spec:
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XI2proto.txt#n1187

note:
the type of these fields should also be fixed in XI2proto.h:
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI2proto.h#n460

(file-positions in the above URLs may become wrong if the spec changes)
2014-08-25 13:42:55 +02:00
Christian Linhart
506759adfd xinput: reply XIQueryPointer: fix type of field same_screen
fix type of field "same_screen" from CARD8 to BOOL

spec:
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XI2proto.txt#n1054

note:
the type of this field should also be fixed in XI2proto.h:
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI2proto.h#n386

(file-positions in the above URLs may become wrong if the spec or header changes)
2014-08-25 13:42:55 +02:00
Christian Linhart
9981b4e234 xinput: struct DeviceTimeCoord: replace CARD32 by INT32
replace CARD32 by INT32 in commented-out list "axisvalues"

spec:
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XIproto.txt#n927
	in this spec, the list is called "data" instead of "axisvalues"

http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml#n1018
	in this spec, the list is called "valuators" instead of "axisvalues"

(file-positions in the above URLs may become wrong if the spec changes)
2014-08-25 13:42:55 +02:00
Christian Linhart
fcbd6d3e89 xinput: GetDeviceMotionEvents-request: add pad at end
see:
http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml#n992
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XIproto.h#n474
(file-positions may become wrong if the spec or header change)
2014-08-25 13:42:55 +02:00
Christian Linhart
5a24dadd9d xinput: XIGetProperty-reply: add align-pad at end
reasons:
* all X11-replies must have a length which is a multiple of 4 bytes
* bitcases "8Bits" and "16bits" may have a length
  which is not a multiple of 4 bytes
  but they start on a 4-byte aligned position.
  Therefore the unpadded end of the request may not be 4-byte aligned
* Therefore this requires a 4-byte align-pad.

notes:
* The align pad had to be added in each relevant bitcase
  because adding it after the switch would cause the generator
  to abort. (which is OK because a <switch> has to be the last item
  of a struct, request or reply, according to the xcb-xml-spec)
2014-08-25 13:42:55 +02:00
Christian Linhart
d65d8836a0 xinput: struct AddMaster: add align-pad at end
reasons:
* length of the struct is a multiple of 4 according to spec.
* list of char may not end at a 4-byte aligned position.

see:
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XI2proto.txt#n1224
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI2proto.h#n454
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI2proto.h#n458
(file-positions may become wrong if the spec or header change)
2014-08-25 13:42:55 +02:00
Christian Linhart
055c13096d xinput: ChangeDeviceProperty-request: add align-pad at end
reasons:
* all X11-requests must have a length which is a multiple of 4 bytes
* bitcases "8Bits" and "16bits" may have a length
  which is not a multiple of 4-bytes
  but they start on a 4-byte aligned position.
  Therefore the unpadded end of the request may not be 4-byte aligned
* Therefore this requires a 4-byte align-pad.

notes:
* The align pad had to be added in each relevant bitcase
  because adding it after the switch would cause the generator
  to abort. (which is OK because a <switch> has to be the last item
  of a struct, request or reply, according to the xcb-xml-spec)
2014-08-25 13:42:55 +02:00
Christian Linhart
4f7ededf36 xinput: GetDeviceProperty-reply: add align-pad at end
reasons:
* all X11-replies must have a length which is a multiple of 4 bytes
* bitcases "8Bits" and "16bits" may have a length
  which is not a multiple of 4-bytes
  but they start on a 4-byte aligned position.
  Therefore the unpadded end of the request may not be 4-byte aligned
* Therefore this requires a 4-byte align-pad.

notes:
* The align pad had to be added in each relevant bitcase
  because adding it after the switch would cause the generator
  to abort. (which is OK because a <switch> has to be the last item
  of a struct, request or reply, according to the xcb-xml-spec)
2014-08-25 13:42:55 +02:00
Christian Linhart
13f1441673 xinput: GetDeviceButtonMapping-reply: add align-pad at end
see:
http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml#n1691
(file-position may become wrong if the spec changes)
2014-08-25 13:42:55 +02:00
Christian Linhart
30b0406b1d xinput: GetDeviceKeyMapping-request: add pad at end
see:
http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml#n1583
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XIproto.h#n982
(file-positions may become wrong if the spec or header change)
2014-08-25 13:42:55 +02:00
Christian Linhart
aa18c4250a xinput: SetDeviceFocus-request: add pad at end
see:
http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml#n1308
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XIproto.h#n737
(file-positions may become wrong if the spec or header change)
2014-08-25 13:42:55 +02:00
Christian Linhart
c57d5cf58b xinput: AllowDeviceEvents-request: add pad at end
see:
http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml#n1251
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XIproto.h#n692
(file-positions may become wrong if the spec or header change)
2014-08-25 13:42:55 +02:00
Christian Linhart
a5c21eb0e5 xinput: UngrabDeviceButton-request: add pad at end
see:
http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml#n1229
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XIproto.h#n676
(file-positions may become wrong if the spec or header change)
2014-08-25 13:42:55 +02:00
Christian Linhart
8da2ea01f3 xinput: UngrabDevice-request: add pad at end
see:
http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml#n1130
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XIproto.h#n596
(file-positions may become wrong if the spec or header change)
2014-08-25 13:42:55 +02:00
Christian Linhart
d9a3d5b1ab xinput: OpenDevice-reply: add align-pad at end
see:
http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml#n834
(file-position may become wrong if the spec changes)
2014-08-25 13:42:55 +02:00
Christian Linhart
8e3db42d67 xinput: SetDeviceModifierMapping: fix length of pad
fix length of pad from 1 to 2 bytes after request-field keycodes_per_modifier

see XIproto.h:1057 in inputproto-2.3.1
see spec in libXi-1.7.4 ( in docbook format in the directory "specs" )

Reviewed-by: Peter Harris <pharris@opentext.com>
Reviewed-by: Ran Benita <ran234@gmail.com>
2014-08-18 17:41:44 -04:00
Christian Linhart
e6b0b4da4a xinput: ChangeFeedbackControl: add missing pad
add missing pad after field "feedback_id"

see XIproto.h:875 in inputproto-2.3.1
see spec in libXi-1.7.4 ( in docbook format in the directory "specs" )

Reviewed-by: Peter Harris <pharris@opentext.com>
Reviewed-by: Ran Benita <ran234@gmail.com>
2014-08-18 17:41:09 -04:00
Uli Schlachter
4b384d2a01 Release xcb-proto 1.11 2014-08-01 15:43:15 +02:00
Daniel Martin
8d7ee5b6ba xkb: Add missing modLatches as comment to LatchLockState
The field modLatches was missing in the request LatchLockState:
    http://cgit.freedesktop.org/xorg/proto/kbproto/tree/XKBproto.h#n141

v2: Use a pad instead of a field, as the field would cause an API break.
    Though, keep the field commented out to document it.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Ran Benita <ran234@gmail.com>
2014-07-27 18:24:51 +02:00
Daniel Martin
f8f4fcd3ba xinput: Add missing pad in XIChangeHierarchy
A pad of 3 bytes was missing in the request XIChangeHierarchy:
    http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI2proto.h#n439

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Peter Harris <pharris@opentext.com>
2014-07-20 21:44:49 +02:00
Daniel Martin
79fd940d76 xinput: Add missing pad in DeviceResolutionCtl
A pad of 2 bytes was missing in the struct DeviceResolutionCtl:
    http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XIproto.h#n1382

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Peter Harris <pharris@opentext.com>
2014-07-20 21:44:44 +02:00
Ran Benita
d10037321e Add <fd> to xml-xcb.txt
Signed-off-by: Ran Benita <ran234@gmail.com>
Reviewed-by: Daniel Martin <consume.noise@gmail.com>
2014-07-20 21:42:56 +02:00
Daniel Martin
a66356e0d9 schema: Restricted enum item values
Restrict decimal values by using an xsd:unsignedInt instead of an
xsd:integer. xsd:unsignedInt is an unsigned 32-bit integer.
And restrict bit values by adding a type, which allows values within the
range of [0, 32) only.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2014-07-20 21:23:29 +02:00
Daniel Martin
3a0a402d98 schema: Remove dec-or-hex-integer and hex-integer type
Reflect in the schema that hexadecimal values aren't supported in enum
items (and expressions) by removing the 'dec-or-hex-integer' and
'hex-integer' type.

Hexadecimal values are not supported "as some languages have a different
notation for hex-values" and therefor such hexadecimal values have been
explicitly replaced with decimal values in other commits, see:

    183ecff Replaced hex-values with decimal ones
    8b3c120 did remaining replacements of hex constants with decimal

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2014-07-20 21:21:32 +02:00
Daniel Martin
cdc21ac0e6 schema: Add attribute 'name' to <fd>
Do not allow any other attribute and make sure the attribute 'name' is
set in an fd element by adding and declaring it as required in the
schema.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2014-07-20 21:21:27 +02:00
Daniel Martin
e28896530d schema: Set default attribute values
Set the default values for the attributes combine-adjacent,
no-sequence-number and xge to false.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2014-07-20 21:21:22 +02:00
Daniel Martin
ee68a1c771 xproto: Fix EnterNotify documentation
Fix a copy'n'paste mistake (from UnmapNotify) in the documentation of
EnterNotify by changing the description for 'event', renaming
'window' to 'child' and change its description too.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2014-07-20 21:21:08 +02:00
Daniel Martin
84bfd909bc xv: Add align. pad in struct AdaptorInfo
The (list) 'name' in the struct AdaptorInfo is not padded. Therefore
we've to add an alignment pad after it.

Reference: http://cgit.freedesktop.org/xorg/lib/libXv/tree/src/Xv.c#n250
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79808

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
2014-06-10 14:01:51 -04:00
Robert Ancell
0797e4d510 dri2: Add notes on lists that should be linked to their length fields but are not.
Reviewed-by: Daniel Martin <consume.noise@gmail.com>
2014-06-10 13:53:16 -04:00
Peter Harris
389889e2f9 xkb: Fix use of nKTLevels
nLevelsPerType is nLevels long. This continues the work started in
76ca2c0b15.

nKTLevels could be used instead of <sumof nLevelsPerType>, but that
change causes a change to libxcb's API.

Reviewed-by: Ran Benita <ran234@gmail.com>
Tested-by: Ran Benita <ran234@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
2014-04-29 11:52:36 -04:00
Vincent W. Chen
70fea02b7d xprint: Fix <field type="STRING8"> in PrintGetAttributes reply
The reply for PrintGetAttributes contains a field of type STRING8, which
makes no sense as the STRING8 type is only used to denote a string. This
has been changed to <list type="STRING8"> with field "stringLen" as its
length.

Reviewed-by: Peter Harris <pharris@opentext.com>
2014-04-11 17:50:10 -04:00
Vincent W. Chen
a37c762e33 Remove extraneous spaces between <value> tags
These are the only places where spaces are allowed between <value> tags.
This is not only inconsistent but also complicates the parsing of values
as integers.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-04-10 16:26:43 +02:00
Keith Packard
4270141a7c Also track directly imported modules in a separate list
This allows the generated header files to only include the
directly referenced header files, with the indirectly referenced header
files included by the directly referenced ones.

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-02-19 21:35:16 +01:00
Peter Harris
d898fd39ad xkb: Use <pad align="4" /> in GetMap
There is a bug where lists of size other than one are automatically
aligned by c_client.py. So alignment_pad3 and 4 were aligning twice
and consuming too many bytes.

Rather than change the type to CARD8 and wrap the <op> in yet another
<op> to multiply by two, use the new <pad align> operation.

Reviewed-By: Ran Benita <ran234@gmail.com>
Tested-By: Ran Benita <ran234@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
2014-01-21 15:24:19 -05:00
Peter Harris
ee02385ce1 Support <pad align="n" />
Reviewed-By: Ran Benita <ran234@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
2014-01-21 15:23:36 -05:00
Peter Harris
a05a510635 Track pad count at the module level
If the pad count is reset for each bitcase, the names will collide
in the encompasing switch struct.

Reviewed-By: Ran Benita <ran234@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
2014-01-21 15:22:43 -05:00
Uli Schlachter
0d8f09b646 Release xcb-proto 1.10
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-12-22 15:59:30 +01:00
Julien Cristau
4087fc682c Add news for 1.10
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14 06:25:21 +01:00
Peter Harris
b96ddddecd xinput: Explicitly specify NotifyMode and NotifyDetail
There is a NotifyMode and a NotifyDetail in both xproto and xinput.  Add
a namespece to the enum references to be clear about which one is to be
used.

Signed-off-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14 06:06:55 +01:00
Uli Schlachter
c95ff74bf4 Add NEWS entries for release 1.9
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14 05:55:25 +01:00
Uli Schlachter
a79cc9c49d Rename ge events to GeGeneric events
The new xcb_ge_event_t that libxcb generates from this definition has different
fields than the old, hand-written xcb_ge_event_t. To undo an API break, libxcb
will reintroduce the old hand-written version and mark it as deprecated, so that
everyone can switch to this new version.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71502
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14 05:49:18 +01:00
Peter Harris
281790373e sync: VALUETYPE and TESTTYPE are enum
Typoed as mask in e6a246e50e

Signed-off-by: Peter Harris <pharris@opentext.com>
Reviewed-By: Daniel Martin <consume.noise@gmail.com>
2013-11-18 11:03:20 -05:00
Peter Harris
9c343995ea sync: Add missing namespace for the INT64 struct
Signed-off-by: Peter Harris <pharris@opentext.com>
Reviewed-By: Daniel Martin <consume.noise@gmail.com>
2013-11-18 18:33:47 +09:00
Peter Harris
969583f4dc Present: Remove reference to nonexistent enum
Signed-off-by: Peter Harris <pharris@opentext.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
2013-11-18 18:29:03 +09:00
Ran Benita
7c85d67b1b xkb: Add struct Property as per spec (commented out)
The specification says that Property is a struct of two CountedString16
(name and value). This form can't be handled atm. correctly too. But,
add it as a comment so we've it at hand when we know what to do with it.

All credits go to Ran Benita, as he found this.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-11-14 20:25:39 +09:00
Daniel Martin
e76dc36de8 xkb: Comment out intermixed fixed size fields and lists
c_client.py doesn't handle such intermixed fixed size fields and lists
correctly. Therefor comment them out.

With that change the size of the generated request structure for
ListComponents has 8 Bytes which is the same as xkbListComponentsReq
has and the server checks REQUEST_AT_LEAST_SIZE(xkbListComponentsReq).
The same goes for GetKbdByName, which results in a structure of 12
Bytes.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
2013-11-14 20:24:03 +09:00
Daniel Martin
0c408c53ff xkb: Comment out the struct Property and {Get, Set}Geometry
This struct has intermixed fixed size fields and lists, which
c_client.py doesn't handle properly. Therefor comment out the struct and
the fields type-referencing it.

As doodads are commented out already and with Property gone the requests
GetGeomtry and SetGeometry become pretty much useless. Therefor comment
them out completly.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
2013-11-14 20:23:50 +09:00
Daniel Martin
7482d02e62 xkb: Comment out Doodads
Doodads are known to be broken (*). Comment them out until they can be
handled properly.

(*) One problem is that TextDoodad and LogoDoodad have variadic lists at
the end. But, they're within a union with other fixed size Doodads. A
union doesn't have a hint which field is in use and therefor the code
generator (at least c_client.py) just creates a generic iterator for the
Doodad union, which fails for TextDoodad and LogoDoodad.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
2013-11-14 20:23:30 +09:00
Daniel Martin
2c024996d2 Add note on pretty patches and src/.gitattributes
Add a file HACKING describing howto to prettify patches (their hunk
headers) and add src/.gitattributes, which is necessary for that.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-By: Ran Benita <ran234@gmail.com>
2013-11-14 20:23:24 +09:00