summaryrefslogtreecommitdiff
path: root/XI2proto.h
AgeCommit message (Collapse)Author
2018-01-30Move the headers under include/X11/...Adam Jackson
I kinda hate to do this, it was nice to have everything in one place. However, the meson build wants to be able to wrap this module as a dependency, and code that depends on these headers includes them in the form: #include <X11/Xfuncproto.h> As a result, any include path meson can construct needs to point to the root of a hierarchy that has the same path layout as an installed copy, hence this change. Signed-off-by: Adam Jackson <ajax@redhat.com>
2012-12-09Add support for pointer barrier eventsJasper St. Pierre
Signed-off-by: Jasper St. Pierre <jstpierre@mecheye.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-12-07Fix typo in commentPeter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-06-14Fix two typos in spec/commentsPeter Hutterer
The ButtonClass provides the number of buttons, not the lentgh of the mask. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-02-09Unbreak protocol ABI for XIAllowEvents - inputproto 2.1.99.6Peter Hutterer
XIAllowEvents was extended with touchid and grab_window in 2ea2f99f4fe1dcd3b8e539ca41c482fc40a0533d. This extended the size of the request from 12 to 20 but also broke the ABI. Older server match the request size exactly, so compiling libXi 1.5 against inputproto 2.2 and then running it against a pre-XI 2.2 server causes a BadLength for any XIAllowEvent request. Add a new request for the new data. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
2011-12-20Drop wrong comment for sourceid in TouchOwnershipEventsPeter Hutterer
Copy/paste error from DeviceChangedEvent Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
2011-11-04XI2: Use touchid, not touch_id in XIAllowEventsPeter Hutterer
Be consistent with other usages of touchid. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2011-09-16Revert addition of active_touches to device eventsChase Douglas
I can't remember why it's there, and I don't see how it may be useful. If a client really wants to know how many touches are on the device, they can listen to raw events and count the number of active touches. (Real reason: extending events is hard :) Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-09-14Allow grabbing clients to accept or reject touches any timeChase Douglas
This is potentially both a performance and client complexity improvement. An example is a gesture recognizer using touch grabs on each window with a subscription. If events on a child window are known to not match any subscription on the child window, then the client should be able to reject the touch grab even if the parent window hasn't accepted any of the touches, perhaps because the parent window gesture hasn't timed out or crossed other thresholds yet. As an inverse example, the events may match a child window subscription before the root window has rejected ownership. The child window should be able to accept the touch proactively. This allows for further clients to receive a TouchEnd event earlier, and means the client may be able to reduce state being tracked. If this were not allowed, the client would need to wait until it received ownership before accepting the sequence. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-09-14Extend XIAllowEvents for handling touch grab processingChase Douglas
This removes the XIAllowTouchEvents request, which was the only new request added for multitouch. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-09-13Add event windows to ownership eventsChase Douglas
Also, match device event structure to make things easy. Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
2011-09-13Merge remote-tracking branch 'inputproto/master' into multitouch-develChase Douglas
Conflicts: XI2.h XI2proto.h specs/XI2proto.txt Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
2011-09-02Move scroll information into a new class.Peter Hutterer
Using labels only to mark smooth scrolling axes disallows scrolling from hardware events (e.g. a mouse wheel). If those axes are marked as scrolling axes instead, the clients lose information which hardware axis this event corresponds to. For example, on Wacom devices, the client can benefit from smooth scrolling on the strip or wheel event but may still require the knowledge whether the axis is a vertical strip (e.g. Intuos3) or a absolute scrolling wheel (e.g. Intuos4). Thus, add a new class to XIQueryDevice that represents scrolling information on a valuator. One of these ScrollClass may exist for each ValuatorClass if that valuator is a scrolling valuator. The increment field of this class removes the requirement for 1.0 == 1 unit of scrolling. This isn't true in most cases, especially where physical scroll axes are involved. Wacom Intuos4 scroll rings have a unit size of 3.0 and the driver historically sent one scroll event per 3.0 increment or decrement. Mapping one scroll event to 1.0 makes the ring mostly unusable through legacy button events. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-09-02Add sourceid to RawEvents (#34420)Peter Hutterer
RawEvents in XI2 do not provide the source ID. The libXi headers however do and it is currently always 0. Given that the sourceid may be useful for some clients, send it down the wire. This has no effect on the wire size of the struct, we can re-use a pad byte here. X.Org Bug 34420 <http://bugs.freedesktop.org/show_bug.cgi?id=34420> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2011-08-05Use the same valuator axes for pointer and touch eventsChase Douglas
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
2011-03-10Many more updates to the XI 2.1 protocolChase Douglas
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
2011-02-15Add touch classes and events, bump to 2.1Daniel Stone
Introduce multitouch support through a new TouchClass, as well as new TouchBegin, TouchEnd, TouchOwnership, TouchUpdate, and TouchUpdateUnowned events. Bump to version 2.1. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Co-authored-by: Chase Douglas <chase.douglas@canonical.com> Co-authored-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-12-22Include stdint.hChase Douglas
I'm now getting build failures due to missing stdint.h. It seems we should include it explicitly in XI2proto.h anyways. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-08-21XIWarpPointer needs to take FP1616 for positions.Peter Hutterer
This was already in the spec but the protocol itself hadn't cought up with it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-08-21Replace four leftover INT16 with int16_t.Peter Hutterer
2009-08-07Remove eventtype field from xXIRawEvent.Peter Hutterer
With c455db2, raw events were split up into using multiple evtypes instead of a sub event type. The eventtype field itself however has not been removed and was unused by both the server and the library. Field converted into a padding field, wire layout stays the same. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-07-27XI2proto.h: Remove special doxygen tags.Peter Hutterer
The protocol header does not include enough documentation to make the use of doxygen really worthwile. Special doxygen tags beyond the very simple use of /** and /**< contribute too much to the noise and make it hard to actually read the code itself. While no extra tags are added now, a run of doxygen over XI2proto and XI.h still produces an acceptable output. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-07-14Device{,Raw}Event: Add flags field.Daniel Stone
Add a flags member to DeviceEvent and DeviceKeyEvent; the only currently defined flag is KeyRepeat, indicating a repeat event (a la XKB detectable autorepeat), which is only valid for key events. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-23Add effective group and modifiers to XIGroupInfo/XIModifierInfo.Peter Hutterer
Effective modifiers are easy to calculate but let's send them down the wire nonetheless. Effective group is slightly more complicated since group wrapping must be taken into account - sending it down the wire simplifies clients. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-17Use the term 'labels' to refer to button and axes labels.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-16Include valuator value in XIValuatorClassesPeter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-12Add a source field to the class information.Peter Hutterer
In some cases it is required to know the source device of a particular device class. In the future we might also do lazy copying of classes, meaning that for a given device, each class may come from a different source. Hence the source id should be included for each class. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-12XISelectEventsReq should use win (not window), like all requests.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-08xXIHierarchyEvent should list num_info, not num_devices.Peter Hutterer
The structures following the request are referred to as "info", having a name of "num_devices" is misleading as the number of info structs does not always reflect the number of devices (e.g. if a device got removed). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-08Rename XICreateMaster to XIAddMaster for consistency.Peter Hutterer
We use add/remove for slave devices, add/remove for the hierarchy changed flags, so let's use add/remove to create a new device as well. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-08Update comment referring to an old naming scheme.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-25Add XIGetSelectedEvents request and reply.Peter Hutterer
Counterpart to XISelectEvents, used to retrieve event masks from the server.
2009-05-19XI2proto.h: fix two comments referring to the old naming scheme.Benjamin Close
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16Document naming conventions for XI2proto.h.Peter Hutterer
2009-05-16XI2proto: define Window, Cursor, Atom and Time as uint32_t.Peter Hutterer
Since we're using stdint in the rest of the file, might as well ignore CARD32 here.
2009-05-14XIQueryPointer needs to include sensible button/modifier state.Peter Hutterer
This includes shuffling the xXIModifierInfo and xXIGroupInfo structs to the common structs section.
2009-05-12Remove superfluous "Device" from protocol requests and events.Peter Hutterer
Anything with prefix XI is per-device anyway.
2009-05-12Add per-device flags to XIDeviceHierarchyEventsPeter Hutterer
2009-05-12Define Cursor as CARD32.Peter Hutterer
Reported-by: Benjamin Close <benjamin.close@clearchain.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-11XI2proto.h: doxygen-ifyPeter Hutterer
2009-05-11XI2proto.h: s/uint32_t/Time/ where appropriatePeter Hutterer
2009-05-07Add XI2 property requests.Peter Hutterer
Basically the same as XI 1.5, save the 16 bit deviceids.
2009-05-07XI2: add passive grabs.Peter Hutterer
Most notably XI2 provides keysym grabs instead of keycode grabs.
2009-04-20Add XIAllowEvents.Peter Hutterer
Basically the same as the core protocol AllowEvents.
2009-04-19Change FP1616 into a single int32_t.Peter Hutterer
2009-04-19Add GrabDevice and UngrabDevice XI2 requests.Peter Hutterer
2009-04-10We don't need to define KeyCode and Mask.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-10Undef Window, Time, etc. after usage again to avoid pollution.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-20Add XISetDeviceFocus and XIGetDeviceFocus requestsPeter Hutterer
2009-03-12Add focus eventsPeter Hutterer