summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2013-08-25xproto: Use explicit enum valueDaniel Martin1-68/+68
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25xinput: Use explicit enum valueDaniel Martin1-56/+56
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25xfixes: Use explicit enum valueDaniel Martin1-11/+11
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25xevie: Use explicit enum valueDaniel Martin1-2/+2
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25sync: Use explicit enum valueDaniel Martin1-9/+9
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25shape: Use explicit enum valueDaniel Martin1-8/+8
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25screensaver: Use explicit enum valueDaniel Martin1-7/+7
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25render: Use explicit enum valueDaniel Martin1-70/+70
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25dri2: Use explicit enum valueDaniel Martin1-13/+13
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25randr: Use explicit enum valueDaniel Martin1-3/+3
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25dpms: Use explicit enum valueDaniel Martin1-4/+4
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25damage: Use explicit enum valueDaniel Martin1-4/+4
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-25composite: Use explicit enum valueDaniel Martin1-2/+2
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> (and tested) Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-15xkb: Add missing LedClass and BellClass enum valuesRan Benita1-3/+7
The protocol encoding says: http://www.x.org/releases/current/doc/kbproto/xkbproto.html#appD::Common_Types KB_LEDCLASSRESULT 0 KbdFeedbackClass 4 LedFeedbackClass KB_LEDCLASSSPEC Encoding same as KB_LEDCLASSRESULT, with the addition of: #x0300 XkbDfltXIClass #x0500 XkbAllXIClasses KB_BELLCLASSRESULT 0 KbdFeedbackClass 5 BellFeedbackClass KB_BELLCLASSSPEC Encoding same as KB_BELLCLASSRESULT, with the addition of: #x0300 XkbDfltXIClass Note that the spec says something slightly different in another section: http://www.x.org/releases/current/doc/kbproto/xkbproto.html#Common_Types KB_LEDCLASSSPEC { KbdFeedbackClass , LedFeedbackClass , DfltXIClass , AllXIClasses , XINone } KB_BELLCLASSSPEC { KbdFeedbackClass , BellFeedbackClass , DfltXIClass , AllXIClasses }} From what I could gather, the encoding is the correct one (but I'm not sure). Signed-off-by: Ran Benita <ran234@gmail.com> Reviewed-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15xkb: Add missing 'supported' field to GetNamedIndicator replyRan Benita1-0/+1
The protocol encoding has it: http://www.x.org/releases/current/doc/kbproto/xkbproto.html#appD::Requests 1 CARD8 opcode 1 15 xkb-opcode [...] 1 1 Reply 1 CARD8 deviceID 2 CARD16 sequence number [...] 4 SETofKB_BOOLCTRL map.ctrls 1 BOOL supported 3 unused And xkbGetNamedIndicatorReply in XKBproto.h also. Finally, the server does send it, though it's always TRUE. Signed-off-by: Ran Benita <ran234@gmail.com> Reviewed-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15xkb: Unify Overlay1Behavior and Overlay2BehaviorRan Benita1-12/+6
These two structs are used by the server in the exact same way, and are handled together (see xkb/xkbPrKeyEv.c, XkbKB_Overlay{1,2} handling). There is no need to use different (and for some reason slightly different) types for them. Reviewed-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Ran Benita <ran234@gmail.com>
2013-08-15xkb: Change DfltBtnAbsolute to the value used by the serverRan Benita1-1/+2
The spec says: #x02 XkbSA_DfltBtnAbsolute But /usr/include/X11/extensions/XKB.h has: #define XkbSA_DfltBtnAbsolute (1L << 2) which is what the server sends. Note: the XKB spec was changed by Daniel Martin to match the Xlib value. See kbproto commit db07706cb268d5fe1bc38ef5c0a9f49309068b2c. Reviewed-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Ran Benita <ran234@gmail.com>
2013-08-15xkb: Fix key type map entry field orderRan Benita1-4/+0
In fact, unlike the deleted comment says, both Xlib and the server use the order as specified in the protocol spec: http://www.x.org/releases/current/doc/kbproto/xkbproto.html#appD::Requests (Search for KB_KTMAPENTRY). Also see struct xkbKTMapEntryWireDesc in /usr/include/X11/extensions/XKBproto.h Reviewed-by: Peter Harris <pharris@opentext.com> Reviewed-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Ran Benita <ran234@gmail.com>
2013-08-15xkb: Work around alignment problems in GetNames and GetMap repliesRan Benita1-0/+70
The basic situation is this: a list of CARD8/CARD16s followed by a list of CARD16/CARD32s. In the current code, the second list is aligned to 1/2 bytes according the size of the first list. However, in some cases the second list needs to be aligned to 4 bytes per the xkbproto spec: http://www.x.org/releases/current/doc/kbproto/xkbproto.html#appD::Requests XkbGetMap reply (xkb-opcode 8): [...] a LISTofCARD8 actsRtrn.count p unused,p=pad(a) 8A LISTofKB_ACTION actsRtrn.acts 4B LISTofKB_SETBEHAVIOR behaviorsRtrn v LISTofSETofKEYMASK vmodsRtrn p unused, p=pad(v) 2E LISTofKB_SETEXPLICIT explicitRtrn p unused,p=pad(2E) 2M LISTofKB_KEYMODMAP modmapRtrn p unused, p=pad(2M) [...] XkbGetNames reply (xkb-opcode 17): [...] l LISTofCARD8 nLevelsPerType, sum of all elements=L p unused, p=pad(l) [...] The server and Xlib handle this with calls to XkbPaddedSize(), which is a good way to see where the extra padding is needed. Signed-off-by: Ran Benita <ran234@gmail.com> Reviewed-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15xproto: Fix GContext error references in documentationDaniel Martin1-9/+9
The name of the error is GContext, not GC. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-By: Ran Benita <ran234@gmail.com>
2013-08-15xinput: Use BARRIER from xfixesDaniel Martin1-6/+3
Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15xinput: Unlock uninterpreted listsDaniel Martin1-7/+64
The 'uninterpreted_data' lists have been added to pad the structure at runtime and thereby making lists of such structures iterable. This is a temporary solution until it is possible to nest a <switch> in a <struct> correctly. Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15xinput: Add XI v2.3Daniel Martin1-1/+46
Introduced with v2.3 has been Pointer Barrier support, including a new request (XIBarrierReleasePointer) and 2 events (Barrier{Hit,Leave}). Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15xinput: Add XI v2.2Daniel Martin1-1/+83
Introduced with v2.2 has been Multitouch support and therefor 7 new events: (Raw)Touch{Begin,Update,End} and TouchOwnership. Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15xinput: Add XI v2.1Daniel Martin1-1/+46
Introduced with v2.1 has been Raw event support and therefor 5 new events: Raw{Key,Button}{Press,Release} and RawMotion. Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15xinput: Add XI v2.0Daniel Martin1-2/+797
Introduced with v2.0 have been various new types, structures, 21 requests and 12 XGE events. All new requests have the "XI" prefix in the name. This prefix can be found in the spec too and avoids name clashes with requests found in prior versions of XI (at least that's (Un)GrabDevice). All new events are X Generic Events. They've a different header then "normal" events. Therefor we've to mark them with the attribute 'xge' set to 'true'. To prevent another name clash one new structure had to be prefixed, too: XIDeviceInfo. Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15xinput: Add XI v1.5Daniel Martin1-1/+125
New: - Requests * ListDeviceProperties * ChangeDeviceProperty * DeleteDeviceProperty * GetDeviceProperty - Enum * PropertyFormat - Event * DevicePropertyNotify The requests ChangeDeviceProperty and GetDeviceProperty use switches to return a list depending on the format (8bit, 16bit and 32bit) of the property value. We reuse the <bitcase> here. Which is possible, because the format values don't have equal bits. But, this is rather a hack and must be changed when the value test (a <case>) for switches is implemented. Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15xinput: Cleanup implementation of XI up to v1.4Daniel Martin1-679/+719
- Structural changes: * indent with spaces only (replaced tabs) * indent attributes * move structures in front of the first request using it (Otherwise c_client.py would generate uncompileable code if we fix the uninterpreted lists.) * add version-controlled section comments (types, requests, events, errors) and move structures into their corresponding section * sort events and eventcopys by number - Additions: * add various missing enums and structs (i.e. DeviceChange, DeviceControl, DeviceName, ...) * uncomment commented out requests * linked in various enums into fields (via enum or altenum) - Other changes: * link to the txt specification in the git repo * fixed comments for "uninterpreted lists" - API CHANGES: * Request: GetDeviceMotionEvents The reply contains a list of events (of coordinates). So, we rename num_coords to num_events. The field is called nevents_return in the specification. The list was commented out anyways, so the rename shouldn't affect that much. * Request: SendExtensionEvent The list 'events' is a mask, make it a CARD8 like every other mask. * Events: FocusIn/Out Those ones haven't been named properly. They are called DeviceFocusIn/Out in the specification. In XI2 the names FocusIn/Out are used to introduce new events and cause name clashes. So, we have to rename the existing FocusIn/Out and give them their proper names. * Structures: *Feedback{Ctl,State} Rename the field id to feedback_id, as it's called in the spec. The only lists using those structs are commented out yet. So, this might not be called an api break. Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-07-12Add support for X Generic Extension eventsDaniel Martin1-0/+1
With these patches, we are able to mark an XGE event as such and generate the correct header for it. XGE events can be found in the X Input Extension v2++. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-07-03sync: Change value list param of CreateAlarm and ChangeAlarm into switchLouis-Francis Ratté-Boulianne1-6/+56
Values for "Value" and "Delta" fields are 64-bit that couldn't be passed through a regular value list/mask. Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-06-06res: Add ClientIdMask enumDaniel Martin1-1/+6
And make use of it in ClientIdSpec. v2: use <bit/> instead of <value/> in the enum Signed-off-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-06-06res: Fix and rename list in ClientIdValueDaniel Martin1-1/+1
The list is a CARD32 and rename the field to "value" to match the specification. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-06-06randr: Add provider object support (RandR v1.4)Daniel Martin1-15/+216
With RandR 1.4 provider objects have been introduced. "A provider object represents a GPU or virtual device providing services to the X server." To handle provider objects the following requests have been added: - GetProviders - GetProviderInfo - SetProviderOffloadSink - SetProviderOutputSource - ListProviderProperties - QueryProviderProperty - ConfigureProviderProperty - ChangeProviderProperty - DeleteProviderProperty - GetProviderProperty And the Notify event got 3 new subcodes: - ProviderChange - ProviderProperty - ResourceChange v2: - add missing name field to GetProviderInfo v3: - changed ProviderCapability enum o replaced <value> with <bit> o removed None - replaced "alignment pad list" with commented out <pad align="4"/> to be prepared for future enhancements - add brief description to commit msg about additions Signed-off-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-06-06xtest: Version bump 2.1..2.2Daniel Martin1-2/+1
The implemented and upstream version is 2.2. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-06-06glx: Version bump 1.3..1.4Daniel Martin1-2/+13
Add the BufferSwapComplete (v2) event. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-06-06composite: Version bump 0.3..0.4Daniel Martin1-1/+1
The only difference between version 0.3 and 0.4 is that the clipping semantics have been redefined. That's just an internal change, no structure has to be modified. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-06-06xfixes: Rename enum DirectionMask to BarrierDirec.Daniel Martin1-2/+2
Rename the enum 'DirectionMask' to 'BarrierDirections' to match the specification. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-05-30XKB: Correct enum to maskMark Witmer1-18/+18
Changes fields with enums EventType, MapPart, or BoolCtrl to use them as masks instead.
2013-05-27screensaver: Use enum and mask attributesDaniel Martin1-5/+5
Signed-off-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-05-27screensaver: Remove wrong fields from Notify eventDaniel Martin1-3/+0
This fixes bug #63158: screensaver notify event specification is incorrect https://bugs.freedesktop.org/show_bug.cgi?id=63158 As stated in the bug report the response_type and sequence field will be added automatically while parsing the specification. Additionally, the pad field is wrong. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2013-05-23Prototype for XRes v1.2Erkki Seppälä1-1/+69
2013-04-16XKB: Fix calculation in GetIndicatorMapPeter Harris1-1/+1
Contrary to the spec, the server doesn't set nIndicators. Signed-off-by: Peter Harris <pharris@opentext.com>
2013-04-16XKB: Fix GetKbdByNamePeter Harris1-271/+23
Each part of the reply has a fake type, sequence, and length. In addition, some parts of the reply are encoded only once even when multiple bits are set. Signed-off-by: Peter Harris <pharris@opentext.com>
2013-04-16Allow multiple <enumref> in a <bitcase>Peter Harris1-1/+1
Signed-off-by: Peter Harris <pharris@opentext.com>
2013-04-16XKB: Change CARD8 to char where ASCII is expectedPeter Harris1-4/+4
This does not impact libxcb, but it makes some pretty-printers prettier. Signed-off-by: Peter Harris <pharris@opentext.com>
2013-04-16XKB: Fix VirtualModsPeter Harris1-3/+3
nVModMapKeys is usually larger than <popcount>virtualMods</popcount>. Signed-off-by: Peter Harris <pharris@opentext.com>
2013-04-16XKB: Fix SymInterpretPeter Harris1-16/+24
SymInterpret is referenced by the spec, but never defined. Therefore, the definition of SymInterpret is inferred from the server implementation. Signed-off-by: Peter Harris <pharris@opentext.com>
2013-04-16XKB: Fix CountedString16 paddingPeter Harris1-1/+17
Should be <pad align=4>, not <pad bytes=1>. This is a very long-winded way to write <pad align>, since libxcb doesn't support <pad align> yet. Signed-off-by: Peter Harris <pharris@opentext.com>
2013-04-16XKB: Remove CountedString8Peter Harris1-7/+0
CountedString8 is never used. Signed-off-by: Peter Harris <pharris@opentext.com>
2013-02-14xkb: Revert half of d42d791 XKB: Fix broken eventsDaniel Martin1-24/+12
The no-sequence-number attribute was not necessary to achive what commit d42d791 did. The first field automatically goes between the response_type and the sequence field in the header. So, adding the xkbType field would've been sufficient to fix the broken events. Reference-to: d42d791 XKB: Fix broken events