platform/upstream/inputproto.git
12 years agoAllow grabbing clients to accept or reject touches any time
Chase Douglas [Wed, 14 Sep 2011 15:10:14 +0000 (10:10 -0500)]
Allow grabbing clients to accept or reject touches any time

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>
12 years agoExtend XIAllowEvents for handling touch grab processing
Chase Douglas [Wed, 14 Sep 2011 14:46:18 +0000 (09:46 -0500)]
Extend XIAllowEvents for handling touch grab processing

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>
12 years agoAdd event windows to ownership events
Chase Douglas [Tue, 13 Sep 2011 20:47:15 +0000 (15:47 -0500)]
Add event windows to ownership events

Also, match device event structure to make things easy.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoReally kill touch valuators
Chase Douglas [Tue, 13 Sep 2011 20:30:34 +0000 (15:30 -0500)]
Really kill touch valuators

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agospecs: if a sequence ends, all clients get TouchPendingEnd
Peter Hutterer [Tue, 13 Sep 2011 19:46:43 +0000 (05:46 +1000)]
specs: if a sequence ends, all clients get TouchPendingEnd

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>
12 years agospecs: remove broken asciidoc link to XIAllowTouchEvents
Peter Hutterer [Tue, 13 Sep 2011 19:26:54 +0000 (05:26 +1000)]
specs: remove broken asciidoc link to XIAllowTouchEvents

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>
12 years agospecs: remove comment about overlapping selections, not true
Peter Hutterer [Tue, 13 Sep 2011 19:25:15 +0000 (05:25 +1000)]
specs: remove comment about overlapping selections, not true

There are no overlapping selections for touch events.

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>
12 years agospecs: misc typos, rewording, etc.
Peter Hutterer [Tue, 13 Sep 2011 19:21:31 +0000 (05:21 +1000)]
specs: misc typos, rewording, etc.

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>
12 years agoBump version to 2.1.99 for XI 2.2 multitouch changes
Chase Douglas [Tue, 13 Sep 2011 20:09:57 +0000 (15:09 -0500)]
Bump version to 2.1.99 for XI 2.2 multitouch changes

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoSwitch multitouch additions to XI 2.2
Chase Douglas [Tue, 13 Sep 2011 19:27:13 +0000 (14:27 -0500)]
Switch multitouch additions to XI 2.2

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoMerge remote-tracking branch 'inputproto/master' into multitouch-devel
Chase Douglas [Tue, 13 Sep 2011 19:20:31 +0000 (14:20 -0500)]
Merge remote-tracking branch 'inputproto/master' into multitouch-devel

Conflicts:
XI2.h
XI2proto.h
specs/XI2proto.txt

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoRevert "Specify dependent device pointer/touch handling"
Chase Douglas [Mon, 12 Sep 2011 21:01:53 +0000 (16:01 -0500)]
Revert "Specify dependent device pointer/touch handling"

See parent commit for details.

This reverts commit 4adfb5ad6c064981e2c7eb57db4bdd81cc7029ea.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoRevert "Fix touch cancel/resume semantics"
Chase Douglas [Mon, 12 Sep 2011 20:55:28 +0000 (15:55 -0500)]
Revert "Fix touch cancel/resume semantics"

The main use case for this was drag and drop, which we realized does not
need any special handling that requires canceling touches.

This reverts commit 9e46820e4a206ae48b3e87f6ef7506e583fa3793.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agospecs: extend XI2.1 raw events to include touch events
Peter Hutterer [Sun, 28 Aug 2011 23:20:32 +0000 (09:20 +1000)]
specs: extend XI2.1 raw events to include touch events

RawEvents are simple enough that we can re-use the detail field for the
touch ID tracking and just update the respective event types.

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>
12 years agoAdd comment to XI2.h to mark where the 2.1 events start
Peter Hutterer [Sun, 28 Aug 2011 23:20:31 +0000 (09:20 +1000)]
Add comment to XI2.h to mark where the 2.1 events start

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>
12 years agoChange file header to note version 2.x
Peter Hutterer [Sun, 28 Aug 2011 23:20:30 +0000 (09:20 +1000)]
Change file header to note version 2.x

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>
12 years agospecs: Fix event lists for asciidoc parsing
Peter Hutterer [Sun, 28 Aug 2011 23:20:29 +0000 (09:20 +1000)]
specs: Fix event lists for asciidoc parsing

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>
12 years agospecs: Fix in-document references
Peter Hutterer [Sun, 28 Aug 2011 23:20:28 +0000 (09:20 +1000)]
specs: Fix in-document references

The primary format for the specs is still the txt format (since that's
guaranteed to be available anywhere, including cgit). Having in-paragraph
references breaks the flow of reading. Fix up some references that aren't
strictly necessary anyway, reword some to be easier to read and change the
titles of some to match the actual title of the section.

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>
12 years agoinputproto 2.0.99.1 (first snapshot of 2.1) inputproto-2.0.99.1
Peter Hutterer [Thu, 2 Jun 2011 06:09:23 +0000 (16:09 +1000)]
inputproto 2.0.99.1 (first snapshot of 2.1)

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
12 years agoMove scroll information into a new class.
Peter Hutterer [Mon, 15 Aug 2011 02:33:04 +0000 (12:33 +1000)]
Move scroll information into a new class.

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>
12 years agoDocument smooth-scrolling support
Daniel Stone [Wed, 23 Feb 2011 17:37:29 +0000 (17:37 +0000)]
Document smooth-scrolling support

Two new axes are added to support smooth scrolling: Rel Vert Scroll and
Rel Horiz Scroll.  Cumulative values of 1.0 with either magnitude on
these axes are considered to be equivalent to one legacy ButtonPress
event on the scroll buttons.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
12 years agoAdd XIPointerEmulated for emulated events
Daniel Stone [Tue, 15 Feb 2011 14:27:53 +0000 (14:27 +0000)]
Add XIPointerEmulated for emulated events

The XIPointerEmulated flag on pointer events means that the event was
emulated from a smooth-scroll or touch event to support legacy events,
and the client may ignore this if it is listening to the other events.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
12 years agoAdd sourceid to RawEvents (#34420)
Peter Hutterer [Fri, 29 Jul 2011 00:09:02 +0000 (10:09 +1000)]
Add sourceid to RawEvents (#34420)

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>
12 years agoXI2.1: send RawEvents at all times.
Peter Hutterer [Tue, 12 Apr 2011 03:07:53 +0000 (13:07 +1000)]
XI2.1: send RawEvents at all times.

When a client grabbed a device, XI 2.0 only sends RawEvents to that client.
This behaviour is problematic and cannot be worked around for many
applications that need to continue receiving events.

On the other hand, no client seems to rely on this behaviour or use it to
its advantage. For XI 2.1, disable this behaviour and continue to send raw
events regardless of the grab state of the device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
12 years agoAnnounce 2.1 availability through the XI_2_Major and XI_2_Minor defines
Peter Hutterer [Fri, 8 Apr 2011 03:26:27 +0000 (13:26 +1000)]
Announce 2.1 availability through the XI_2_Major and XI_2_Minor defines

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
12 years agoBump to 2.0.99
Peter Hutterer [Fri, 8 Apr 2011 02:59:17 +0000 (12:59 +1000)]
Bump to 2.0.99

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
12 years agoFix touch cancel/resume semantics
Chase Douglas [Wed, 24 Aug 2011 22:10:21 +0000 (15:10 -0700)]
Fix touch cancel/resume semantics

If a touch is ended through a cancel, the client may never know if the
touch will come back as a resumed sequence. Instead, send a touch update
with the cancel flag, like the pending end flag, and send an end event
only when the full touch sequence has ended.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
12 years agoFix indentation of active_touches definition
Chase Douglas [Wed, 24 Aug 2011 20:34:47 +0000 (13:34 -0700)]
Fix indentation of active_touches definition

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
12 years agoIntroduce Touch grab mode
Chase Douglas [Wed, 24 Aug 2011 20:32:30 +0000 (13:32 -0700)]
Introduce Touch grab mode

Touch grabs are not really synchronous nor asynchronous. Use a separate
grab mode value for touch grabs, just to make the protocol seem more
sane.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
12 years agoDeviceEvents: a TouchPendingEnd won't generate further TouchUpdate events
Peter Hutterer [Tue, 23 Aug 2011 23:07:23 +0000 (09:07 +1000)]
DeviceEvents: a TouchPendingEnd won't generate further TouchUpdate events

Update, not motion.

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>
12 years agoDeviceEvent: active_touches needs marker that it's XI 2.1
Peter Hutterer [Tue, 23 Aug 2011 23:07:22 +0000 (09:07 +1000)]
DeviceEvent: active_touches needs marker that it's XI 2.1

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>
12 years agoAllowTouchEvents can take any device id, not just slaves
Peter Hutterer [Tue, 23 Aug 2011 23:07:21 +0000 (09:07 +1000)]
AllowTouchEvents can take any device id, not just slaves

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>
12 years agoIndent Ownership explanation for consistent formatting
Peter Hutterer [Tue, 23 Aug 2011 23:07:19 +0000 (09:07 +1000)]
Indent Ownership explanation for consistent formatting

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>
12 years agoReword the passive touch grab rules to be similar to the others
Peter Hutterer [Tue, 23 Aug 2011 23:07:18 +0000 (09:07 +1000)]
Reword the passive touch grab rules to be similar to the others

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>
12 years agoFix missing 'and' in GrabTypeFocusIn description
Peter Hutterer [Tue, 23 Aug 2011 23:07:17 +0000 (09:07 +1000)]
Fix missing 'and' in GrabTypeFocusIn description

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>
12 years agoXISelectEvents: BadValue is generated, not returned
Peter Hutterer [Tue, 23 Aug 2011 23:07:16 +0000 (09:07 +1000)]
XISelectEvents: BadValue is generated, not returned

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>
12 years agoCoordinates are always absolute, no need to re-state it
Peter Hutterer [Tue, 23 Aug 2011 23:07:15 +0000 (09:07 +1000)]
Coordinates are always absolute, no need to re-state it

Coordinates in DeviceEvents are always absolute, regardless of the axis
mode. The same is true for touch events, stating it again here just adds to
the confusion.

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>
12 years agoAdd two linebreaks for asciidoc list parsing
Peter Hutterer [Tue, 23 Aug 2011 23:07:14 +0000 (09:07 +1000)]
Add two linebreaks for asciidoc list parsing

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>
12 years agoChanging the touch device mode generates a DeviceChangedEvent
Peter Hutterer [Tue, 23 Aug 2011 23:07:13 +0000 (09:07 +1000)]
Changing the touch device mode generates a DeviceChangedEvent

State it explicitly.

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>
12 years agoXITouchClass' props needs a num_props
Peter Hutterer [Tue, 23 Aug 2011 23:07:11 +0000 (09:07 +1000)]
XITouchClass' props needs a num_props

In XI2 requests, the length field isn't enough to determine the number of
elements since it may vary in future versions.

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>
12 years agospecs: fix two typos in XI2proto.txt
Peter Hutterer [Tue, 23 Aug 2011 05:28:50 +0000 (15:28 +1000)]
specs: fix two typos in XI2proto.txt

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
12 years agospecs: ValuatorClass includes a mode
Peter Hutterer [Wed, 17 Aug 2011 06:02:39 +0000 (16:02 +1000)]
specs: ValuatorClass includes a mode

Documented in the description, but missing in the definition.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
12 years agoSpecify dependent device pointer/touch handling
Chase Douglas [Fri, 5 Aug 2011 22:28:51 +0000 (15:28 -0700)]
Specify dependent device pointer/touch handling

With the added rules, trackpads should be manageable no matter what
occurs (button presses and pointer motion). Gesture and touch semantics
during these actions are not well defined, and cancelling touches cleans
up the protocol and implementation.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoUse the same valuator axes for pointer and touch events
Chase Douglas [Fri, 5 Aug 2011 21:41:59 +0000 (14:41 -0700)]
Use the same valuator axes for pointer and touch events

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoRemove touch "Observe" grabs
Chase Douglas [Fri, 5 Aug 2011 21:49:32 +0000 (14:49 -0700)]
Remove touch "Observe" grabs

The semantics of these grabs doesn't work for all use cases. Raw touch
events will likely work better.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoFix up pointer event emulation section
Chase Douglas [Fri, 5 Aug 2011 21:20:05 +0000 (14:20 -0700)]
Fix up pointer event emulation section

* Wording cleanups for tense and to make some sentences flow better.
* Upon further review, it does seem to make more sense to deliver
  emulated pointer events through the same slave device rather than the
  master device. Thus, slave devices (including floating devices) may
  emit emulated pointer events.
* Peter is correct, it doesn't make sense to set the PointerEmulated
  flag on touch events.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoPeter is right, floating devices can emit touch events
Chase Douglas [Fri, 5 Aug 2011 20:59:05 +0000 (13:59 -0700)]
Peter is right, floating devices can emit touch events

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoPrettyify touch device types
Chase Douglas [Tue, 2 Aug 2011 22:53:35 +0000 (15:53 -0700)]
Prettyify touch device types

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoUpdate device type terminology
Chase Douglas [Tue, 2 Aug 2011 22:29:54 +0000 (15:29 -0700)]
Update device type terminology

Remove IndepedentTouch and SemiMultitouch devices. These may be handled
in an implementation specific manner through the props array of ATOMs in
the touch class information.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoYes, send TouchEnd to owner, TouchPendingEnd to other listeners
Chase Douglas [Tue, 2 Aug 2011 22:23:21 +0000 (15:23 -0700)]
Yes, send TouchEnd to owner, TouchPendingEnd to other listeners

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoSeparate "XI2.x" into "XI 2.x" for readability
Chase Douglas [Tue, 2 Aug 2011 22:22:15 +0000 (15:22 -0700)]
Separate "XI2.x" into "XI 2.x" for readability

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
12 years agoMerge remote-tracking branch 'origin/master' into multitouch
Chase Douglas [Tue, 2 Aug 2011 21:09:11 +0000 (14:09 -0700)]
Merge remote-tracking branch 'origin/master' into multitouch

Conflicts:
XI2.h

12 years agoPut a warning in about not adding any further libXi defines
Peter Hutterer [Tue, 2 Aug 2011 00:20:53 +0000 (10:20 +1000)]
Put a warning in about not adding any further libXi defines

The matching commit in libXi is
    e8531dd6a981c6cf19a1d256c29e886e34e8f51a
    libXi-1.4.2-21-ge8531ddp

    Add XI2 library-internal array offsets to XIint.h

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospecs: add a linebreak for asciidoc parsing
Peter Hutterer [Thu, 17 Mar 2011 06:29:08 +0000 (16:29 +1000)]
specs: add a linebreak for asciidoc parsing

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agoProvide convenience defines for owner_events.
Peter Hutterer [Fri, 3 Jun 2011 05:56:21 +0000 (15:56 +1000)]
Provide convenience defines for owner_events.

No functional effect, just to improve readability of code.

It's not obvious what "True" or "False" stands for in a function with 11
arguments. Compare
    XIGrabButton(dpy, deviceid, button, grab_window, cursor,
                 GrabModeAsync, GrabModeSync, True,
                 event_mask, num_modifiers, &modifiers);

vs.

XIGrabButton(dpy, deviceid, button, grab_window, cursor,
             GrabModeAsync, GrabModeSync, XIOwnerEvents,
             event_mask, num_modifiers, &modifiers);

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
13 years agoAdd XI2-specific defines for grab and property requests
Peter Hutterer [Fri, 3 Jun 2011 05:13:12 +0000 (15:13 +1000)]
Add XI2-specific defines for grab and property requests

XI 2.0 headers forced clients to mix XI2 specific constants with defines for
core input. Most notable here are the grab code which required GrabModeAsync
or GrabModeSync from core, but _not_ AnyModifier (XIAnymodifier !=
AnyModifier). This is a hard-to-debug cause for bugs.

Add defines for grab modes, grab return codes and property modes as well as
a define for the AnyPropertyType. These defines are identical to the ones
defined in core but stop the use of input-related defines from either core
or XI 1.x.

Clients must use the core defines None and CurrentTime where applicable.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
13 years agoClean up and reword multitouch ownership/emulation
Daniel Stone [Tue, 3 May 2011 17:44:53 +0000 (18:44 +0100)]
Clean up and reword multitouch ownership/emulation

Remove 'withheld' indirect section as well.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years agoMostly typographical
Daniel Stone [Tue, 3 May 2011 16:21:34 +0000 (17:21 +0100)]
Mostly typographical

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years agoFurther cleanups and clarifications
Daniel Stone [Thu, 28 Apr 2011 11:02:43 +0000 (12:02 +0100)]
Further cleanups and clarifications

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years agoReword touch introduction, labels for all
Daniel Stone [Tue, 26 Apr 2011 19:30:13 +0000 (20:30 +0100)]
Reword touch introduction, labels for all

Reword the introduction to the multitouch section to try to be a bit
clearer, and go on a mad section-labelling spree.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years agotypo fix
Daniel Stone [Tue, 26 Apr 2011 18:51:41 +0000 (19:51 +0100)]
typo fix

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years agoAdd FIXME sidebars, remove single-grab stipulation
Daniel Stone [Fri, 22 Apr 2011 15:14:54 +0000 (16:14 +0100)]
Add FIXME sidebars, remove single-grab stipulation

Add very visible FIXME sections to more clearly mark what's broken; also
remove the stipulation that only one grab may be active at a time.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years agoAdd inline references, fix usecase bulleting
Daniel Stone [Fri, 22 Apr 2011 14:42:09 +0000 (15:42 +0100)]
Add inline references, fix usecase bulleting

Replace 'see section x.y.z' with better inline links; fix nested
bulleting of XI 2.1 usecases.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years agoDoc note: No seriously, this is WIP
Daniel Stone [Fri, 22 Apr 2011 14:31:52 +0000 (15:31 +0100)]
Doc note: No seriously, this is WIP

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years agoFormatting fixups and minor rewording
Daniel Stone [Fri, 22 Apr 2011 13:27:06 +0000 (14:27 +0100)]
Formatting fixups and minor rewording

No semantic changes.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years agoRequire configure flag to build this proto version.
Daniel Stone [Mon, 11 Apr 2011 00:09:57 +0000 (10:09 +1000)]
Require configure flag to build this proto version.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agoPut a #warning and #error in to avoid unsuspecting XI 2.1 users.
Peter Hutterer [Fri, 8 Apr 2011 03:27:47 +0000 (13:27 +1000)]
Put a #warning and #error in to avoid unsuspecting XI 2.1 users.

The #warning directive is intentionally outside the define to disable the
error. Early adopters of the protocol can't see this warning often enough.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agoXI2.h: Fix off-by-one error in the XIMaskLen definition.
Alexandre Julliard [Tue, 12 Apr 2011 20:39:25 +0000 (22:39 +0200)]
XI2.h: Fix off-by-one error in the XIMaskLen definition.

The previous definition would give the wrong result for events that are
a multiple of 8.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospecs: enable asciidoc parsing for XIproto.txt
Peter Hutterer [Wed, 23 Mar 2011 03:27:02 +0000 (13:27 +1000)]
specs: enable asciidoc parsing for XIproto.txt

The vast majority of this patch are indentation changes, removing preceding
spaces from text.
Header lines  and some linebreaks to enable list parsing were added.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
13 years agospecs: move erroneous Errors: line to where it belongs
Peter Hutterer [Wed, 23 Mar 2011 03:32:42 +0000 (13:32 +1000)]
specs: move erroneous Errors: line to where it belongs

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
13 years agospecs: rewrite pointer emulation section
Peter Hutterer [Fri, 18 Mar 2011 06:17:09 +0000 (16:17 +1000)]
specs: rewrite pointer emulation section

plus a fixme

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospecs: rewrite pointer emulation for indirect devices
Peter Hutterer [Fri, 18 Mar 2011 05:29:25 +0000 (15:29 +1000)]
specs: rewrite pointer emulation for indirect devices

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospecs: Rewrite Touch events delivery section
Peter Hutterer [Fri, 18 Mar 2011 05:10:34 +0000 (15:10 +1000)]
specs: Rewrite Touch events delivery section

And add a fixme

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospecs: Add a fixme for using raw events instead of GrabModeObserve
Peter Hutterer [Fri, 18 Mar 2011 04:48:15 +0000 (14:48 +1000)]
specs: Add a fixme for using raw events instead of GrabModeObserve

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospecs: clean/rewrite touch grab and ownership bits
Peter Hutterer [Fri, 18 Mar 2011 04:16:55 +0000 (14:16 +1000)]
specs: clean/rewrite touch grab and ownership bits

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospec: Move ClientPointer up again.
Peter Hutterer [Fri, 18 Mar 2011 03:58:29 +0000 (13:58 +1000)]
spec: Move ClientPointer up again.

Prep work to have a separate first-class headline for touch processing

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospecs: move warning about out-of-band processing up a bit.
Peter Hutterer [Fri, 18 Mar 2011 03:52:09 +0000 (13:52 +1000)]
specs: move warning about out-of-band processing up a bit.

The out-of-band processing is really only important for pointer emulation.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospecs: move touch sequence handling (owner-only) up a bit.
Peter Hutterer [Fri, 18 Mar 2011 02:12:47 +0000 (12:12 +1000)]
specs: move touch sequence handling (owner-only) up a bit.

This is to restructure to get the simple cases clarified up first before
explaining more complex changes.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospecs: move from "init move destroy" to "begin update end"
Peter Hutterer [Fri, 18 Mar 2011 02:02:21 +0000 (12:02 +1000)]
specs: move from "init move destroy" to "begin update end"

And rewrite that paragraph a bit.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agospecs: add a linebreak for asciidoc parsing
Peter Hutterer [Thu, 17 Mar 2011 06:29:08 +0000 (16:29 +1000)]
specs: add a linebreak for asciidoc parsing

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agoMerge branch 'master' into chase-multitouch
Peter Hutterer [Thu, 17 Mar 2011 04:51:52 +0000 (14:51 +1000)]
Merge branch 'master' into chase-multitouch

Conflicts:
specs/XI2proto.txt

Fixed up (added) asciidoc for touch proto.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agoXIproto.txt: fix whitespace issues
Gaetan Nadon [Wed, 16 Mar 2011 01:37:39 +0000 (21:37 -0400)]
XIproto.txt: fix whitespace issues

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
13 years agoXI2proto.txt: fix whitespace issues
Gaetan Nadon [Wed, 16 Mar 2011 01:29:43 +0000 (21:29 -0400)]
XI2proto.txt: fix whitespace issues

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
13 years agospecs: convert XI2proto.txt to html using asciidoc
Gaetan Nadon [Tue, 15 Mar 2011 19:43:48 +0000 (15:43 -0400)]
specs: convert XI2proto.txt to html using asciidoc

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
13 years agoAdd minimal asciidoc syntax
Peter Hutterer [Tue, 15 Mar 2011 23:57:10 +0000 (09:57 +1000)]
Add minimal asciidoc syntax

Though this protocol description is mainly to be viewed as textfile, a few
minor changes make it parsable for asciidoc to spit out reasonably
nicely-formatted html code.

Changes include:
- underline section headers with the matching lines
- add linebreaks before lists to parse them as lists
- change indentation level for normal text to be left-marging aligned and
  for <pre> text to be indented
- comment out section dividers

It's possible to run asciidoc XI2proto.txt and get some nice html output
now.

Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
13 years agoMany more updates to the XI 2.1 protocol
Chase Douglas [Thu, 10 Mar 2011 16:53:57 +0000 (11:53 -0500)]
Many more updates to the XI 2.1 protocol

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
13 years agoUpdates for pointer emulation and more touch device modes
Chase Douglas [Sun, 20 Feb 2011 21:35:09 +0000 (16:35 -0500)]
Updates for pointer emulation and more touch device modes

Also includes resolutions for dependent devices and implicit grabs and
how to handle slave touch device attachment and touch selections.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
13 years agoAdd touch classes and events, bump to 2.1
Daniel Stone [Mon, 7 Feb 2011 10:19:06 +0000 (10:19 +0000)]
Add touch classes and events, bump to 2.1

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>
13 years agoFix typos in XIproto.txt
Fernando Carrijo [Fri, 28 Jan 2011 00:40:11 +0000 (22:40 -0200)]
Fix typos in XIproto.txt

Signed-off-by: Fernando Carrijo <fcarrijo@freedesktop.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agoInclude stdint.h
Chase Douglas [Fri, 17 Dec 2010 17:11:09 +0000 (17:11 +0000)]
Include stdint.h

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>
13 years agoinputproto 2.0.1 inputproto-2.0.1
Peter Hutterer [Thu, 11 Nov 2010 04:10:26 +0000 (14:10 +1000)]
inputproto 2.0.1

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agoTypo fix: GrabTypeFocusIn -> GrabtypeFocusIn
Peter Hutterer [Mon, 2 Aug 2010 05:53:52 +0000 (15:53 +1000)]
Typo fix: GrabTypeFocusIn -> GrabtypeFocusIn

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agoSpell out event types for XIDeviceEvent.
Peter Hutterer [Thu, 5 Aug 2010 23:52:33 +0000 (09:52 +1000)]
Spell out event types for XIDeviceEvent.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
13 years agoDefine the error cases for XSetDeviceMode better.
Peter Hutterer [Mon, 11 Jan 2010 07:02:55 +0000 (17:02 +1000)]
Define the error cases for XSetDeviceMode better.

Take the error codes as described in the man page for XSetDeviceMode. This
is more likely to be what clients expect, especially since the protocol spec
doesn't actually define when BadMode is to be reported.

This behaviour is the same as specified in the XSetDeviceMode man page.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
13 years agoXI2proto.txt: fix up some request names.
Peter Hutterer [Mon, 23 Nov 2009 00:21:17 +0000 (10:21 +1000)]
XI2proto.txt: fix up some request names.

Leftovers from previous versions of the spec before the requests were
renamed.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
14 years agoconfig: update AC_PREREQ statement to 2.60
Gaetan Nadon [Sun, 28 Mar 2010 23:25:52 +0000 (19:25 -0400)]
config: update AC_PREREQ statement to 2.60

Unrelated to the previous patches, the new value simply reflects
the reality that the minimum level for autoconf to configure
all x.org modules is 2.60 dated June 2006.

ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
14 years agoconfig: remove the pkgconfig pc.in file from EXTRA_DIST
Gaetan Nadon [Sun, 28 Mar 2010 23:00:31 +0000 (19:00 -0400)]
config: remove the pkgconfig pc.in file from EXTRA_DIST

Automake always includes it in the tarball.

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
14 years agoconfig: install and distribute XI2proto.txt XIproto.txt
Gaetan Nadon [Sun, 28 Mar 2010 21:46:57 +0000 (17:46 -0400)]
config: install and distribute XI2proto.txt XIproto.txt

It will now be installed in $docdir in addition
to being distributed in the tarball.

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
14 years agoAdd Red Had Copyright in the COPYING file.
Gaetan Nadon [Tue, 22 Dec 2009 00:00:00 +0000 (19:00 -0500)]
Add Red Had Copyright in the COPYING file.

Refer to XI2.h and XI2proto.h

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
14 years agoMakefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES
Gaetan Nadon [Mon, 23 Nov 2009 00:24:48 +0000 (19:24 -0500)]
Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES

Now that the INSTALL file is generated.
Allows running make maintainer-clean.