commit 8640944f4ff193027ce0f21622918b88da910e72
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 16 11:06:13 2011 +1000

    inputproto 2.1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 019a252a59c1d076b07a0162cb3ee6af42ceea14
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 2 15:03:46 2011 +1000

    specs: typo fix
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a9fcea66eb18fab330f3b27b3daedef2b5c9210a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 11 14:33:34 2011 +1000

    specs: smooth scrolling was added in 2.1, say so
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 279524b089c7b42871ee072cfc03a1fad7421b7b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 8 15:36:02 2011 +1000

    specs: scroll events have no specific event type, state so.
    
    This wasn't clear enough in the current spec.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9f2b1a33063b139756e08951affe802e8af39a76
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 8 15:29:24 2011 +1000

    specs: We're up to version 2.1 now, say so
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 463ffaabab506ad6ddb3b55c5781ae91fcccfd04
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 23 08:41:18 2011 +1000

    specs: clarify that Preferred scroll valuators are per scroll direction
    
    Reported-by: Daniel Stone <daniel@fooishbar.org>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9cfdeedd16e96c0e67e70537e97a8f8dd0358244
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 2 16:09:23 2011 +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>

commit 7d5a303cd8976a7eac1b96897c70d5d25c57ecf1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 15 12:33:04 2011 +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>

commit 186aa20619d1720bde49fd92d2834c8f9eadf49b
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Wed Feb 23 17:37:29 2011 +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>

commit 53b58e679f977550301130794c8cb19391ecceb7
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Tue Feb 15 14:27:53 2011 +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>

commit af1fb609beece899188469a81ac9d8c5e07bfa4a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 29 10:09:02 2011 +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>

commit 1e63d01d041108db6fe5be32d033e80419a6ab05
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 12 13:07:53 2011 +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>

commit b35f20b7bd9620710a7a6b63e39758fe83b4dec8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 8 13:26:27 2011 +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>

commit 47a2cc250398648732ba2086ca6ecb21e7dabdc0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 8 12:59:17 2011 +1000

    Bump to 2.0.99
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 94b21b47b51c2c66aa0372dfc323d6aedf12b549
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 23 15:28:50 2011 +1000

    specs: fix two typos in XI2proto.txt
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9f33733fffddd166c64f0bfd293c3de385cf4411
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 17 16:02:39 2011 +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>

commit 2ba875f4f2907bb9735ee3317b7e07c5b9d1304b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 2 10:20:53 2011 +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>

commit ee91dcda461513cdca45160df580841daa6f50e2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 17 16:29:08 2011 +1000

    specs: add a linebreak for asciidoc parsing
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2cd2adb7a454072954704e1a215df49ce9dac410
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 3 15:56:21 2011 +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>

commit bef7648827a0696debdd629472a45508a30144b1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 3 15:13:12 2011 +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>

commit b1149ab782619eaeadf70affd94239184e082d03
Author: Alexandre Julliard <julliard@winehq.org>
Date:   Tue Apr 12 22:39:25 2011 +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>

commit ab930a51047f48c7befd4316a9b116f37075697f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 23 13:27:02 2011 +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>

commit ef7518cc6260e05a00c496c9e0f3a13c8a785b85
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 23 13:32:42 2011 +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>

commit 47901cd142e832eb930166cbfa769e4fbca969c5
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 15 21:37:39 2011 -0400

    XIproto.txt: fix whitespace issues
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 5f43b8b19e6abd00a6295692f3346295bb01b973
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 15 21:29:43 2011 -0400

    XI2proto.txt: fix whitespace issues
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 0ac450f47c55fb2bac394f6377f1aabde1ab8429
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 15 15:43:48 2011 -0400

    specs: convert XI2proto.txt to html using asciidoc
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit f21f00bd9b8e641d639d70d086df1b14faa34e38
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 16 09:57:10 2011 +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>

commit 13baef91f071ee1607f4c3bf6c1fea60e6651b89
Author: Fernando Carrijo <fcarrijo@freedesktop.org>
Date:   Thu Jan 27 22:40:11 2011 -0200

    Fix typos in XIproto.txt
    
    Signed-off-by: Fernando Carrijo <fcarrijo@freedesktop.org>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5c2d5fd99d73ae52aef62376046b5708c58a4271
Author: Chase Douglas <chase.douglas@ubuntu.com>
Date:   Fri Dec 17 17:11:09 2010 +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>

commit 56ffb564712257e0f998170e83071a6ee85aa231
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 11 14:10:26 2010 +1000

    inputproto 2.0.1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 52e92f280c4e065d6a3f040493a0b46d2c8bee1d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 2 15:53:52 2010 +1000

    Typo fix: GrabTypeFocusIn -> GrabtypeFocusIn
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3dc8e70f761f7da338c632a5acb0176bef515b33
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 6 09:52:33 2010 +1000

    Spell out event types for XIDeviceEvent.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 993ca70d7ecfb88037edfd77bccfcb671aea4c7b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 11 17:02:55 2010 +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>

commit 617c4a2db48e98d06f728fa6b8caa18fbbfb66fc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Nov 23 10:21:17 2009 +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>

commit b2e8bd74f0922e742ab41e9ccc202c0fdd9e152f
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Mar 28 19:25:52 2010 -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>

commit 5e22edcb54a29393ffb72e4014010835d1ceab69
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Mar 28 19:00:31 2010 -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>

commit 33bab5091b5c16133d88269744f5305dfd4e4fcb
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Mar 28 17:46:57 2010 -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>

commit 0746aed42e50d7ac10fd1545cf6b89a8bc809884
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Dec 21 19:00:00 2009 -0500

    Add Red Had Copyright in the COPYING file.
    
    Refer to XI2.h and XI2proto.h
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit e0ec5c81eef67a2b98396189b22b439953b616c0
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Nov 22 19:24:48 2009 -0500

    Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES
    
    Now that the INSTALL file is generated.
    Allows running make maintainer-clean.

commit 30c2e875941b1dcce06821fb0c5af6a15ca98d4e
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Nov 16 11:13:30 2009 -0500

    README: file created or updated #24206
    
    Contains a set of URLs to freedesktop.org.

commit 7ddcd9b428797e37c3d362b27975b157647aceeb
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Nov 15 19:45:26 2009 -0500

    Makefile.am: ChangeLog not required: EXTRA_DIST or *CLEANFILES #24432
    
    ChangeLog filename is known to Automake and requires no further
    coding in the makefile.

commit ee09bc24cebbb18c2a2ed81336ab4ead600d2e94
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Nov 15 18:31:28 2009 -0500

    Makefile.am: INSTALL file is missing or incorrect #24206
    
    The standard GNU file on building/installing  tarball is copied
    using the XORG_INSTALL macro contained in XORG_DEFAULT_OPTIONS
    Add INSTALL target

commit 2ee03af19d17c973072bbacaf7ab44a8fd8b64b1
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Nov 15 18:11:36 2009 -0500

    configure.ac: deploy the new XORG_DEFAULT_OPTIONS #24242
    
    This macro aggregate a number of existing macros that sets commmon
    X.Org components configuration options. It shields the configuration file from
    future changes.

commit bf66af595c9b43e4086401a11c5a7b269857f039
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Nov 15 13:55:25 2009 -0500

    configure.ac: AM_MAINTAINER_MODE missing #24238
    
    This turns off maintainer mode build rules in tarballs.
    Works in conjunction with autogen.sh --enable-maintainer-mode

commit 9ad88d954d544db29972144f5a778bb05d9b19ad
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sat Nov 14 18:26:47 2009 -0500

    .gitignore: use common defaults with custom section # 24239
    
    Using common defaults will reduce errors and maintenance.
    Only the very small or inexistent custom section need periodic maintenance
    when the structure of the component changes. Do not edit defaults.

commit 34a9ab1151fb7b35a371cc98a34a20993816f78a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 2 11:38:12 2009 +1000

    inputproto 2.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0470d29c1e690f3784ca1a42f6d27aa322f9b37a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 1 16:47:11 2009 +1000

    Add XIproto.txt
    
    This is the XI protocol specification document that used to be in xorg-docs.
    It's now moved here, and if it ever sees updates, the updates will only
    apply to here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bda99e7e5ac528aaa08664b21f0380db67bd2ac2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 2 11:31:13 2009 +1000

    Require macros 1.3 for XORG_DEFAULT_OPTIONS
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 472309905a66245c9fd420ef64716ec630216323
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 21 14:25:51 2009 +1000

    inputproto 1.9.99.902 (RC 2)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f3f79c0642f33b6a39a0f7fdab2bcb06d9cab0f7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 25 10:04:01 2009 +1000

    Device cursors are deleted once the window or the device disappear.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ae4588ff0c6e5cc7009e4ac78a3f953bc399bd84
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 21 14:24:23 2009 +1000

    XIWarpPointer needs to take FP1616 for positions.
    
    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>

commit 8eccc169c045fcf68b5a0974c49a8e6863894cf3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 21 13:56:11 2009 +1000

    Replace four leftover INT16 with int16_t.

commit 68cdaf8d26e133f700404bca93b18240aa6b8f86
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 21 13:55:52 2009 +1000

    XIQueryPointer only works on master pointers and floating slaves.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d9aa0917b491e9d6ef887ac59fb7a01fb428fa62
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 18 15:05:09 2009 +1000

    XI2proto: XIChangeCursor request requires a master pointer.
    
    State that the server will return BadDevice in this case.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4f9d8d49eca460b24daca2a28a2c644f7edc19bd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 18 15:04:47 2009 +1000

    XI2proto.txt: typo fix
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6719ae1ed024270f7fe1cb6bbee1f84cdaeba90c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 7 10:39:46 2009 +1000

    Remove eventtype field from xXIRawEvent.
    
    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>

commit 1a7eb6de82bd61fc16f2a3f000d4d3b9d418dcd0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 4 10:43:52 2009 +1000

    inputproto 1.9.99.901 (RC 1)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d8a1c1b1aba92e60d2fcad7cdf5abe77f3c9ae10
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 5 14:52:45 2009 +1000

    Revert "XI2proto.txt: grabbing a slave does not detach it anymore."
    
    Detaching a slave device during an explicit grab makes sense from a UI
    perspective. It allows a client to get exclusive access to a device without
    that device's events also feeding into the respective master device.
    
    Thanks to Thomas Jaeger for his contribution.
    
    This reverts commit d0b1e55b876a29a7c820ec12d7b9cb5e081e1944.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b31776bb5b416ffa15235611954e68d386edf674
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 31 08:52:43 2009 +1000

    XI2proto.txt: document ClientPointer in more detail.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 221aed39ac45ce4bf3b28c7956bc00ea3c9dbf57
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 28 11:15:12 2009 +1000

    XI2proto.txt: don't put field names in quotes.
    
    This was done inconsistently anyway so get rid of it alltogether.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5e76f4ca69fedab770280854ab238587eb5e10fb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 28 10:12:06 2009 +1000

    XI2proto.txt: typo fixes and minor clarifications.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 26f244fadc188cc76f53c82c10bc3b308964f20c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 28 11:12:50 2009 +1000

    XI2proto.txt: sourceid on DeviceChanged is the device.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b877309713930f92f04e2485bc40e1b6730d7e77
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 28 11:12:26 2009 +1000

    XI2proto.txt: passive grabs can take XIAll{Master}Devices.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d0b1e55b876a29a7c820ec12d7b9cb5e081e1944
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 28 10:53:08 2009 +1000

    XI2proto.txt: grabbing a slave does not detach it anymore.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9f5d450fda41f936a8e12863aec544d69b30132f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 28 10:38:21 2009 +1000

    XIproto.txt: clarify that the ClientPointer is set, even if implicitly.
    
    It is indistinguishable for the client whether the the server chooses a
    ClientPointer or whether the CP was set through an XISetClientPointer
    request. The only thing that matters is that a device was actually assigned
    and will be used in the future.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7b988fcae5135d064388084ef190966c3e38702c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 28 10:10:10 2009 +1000

    XI2proto.txt: padding bytes must be zero.
    
    Padding bytes zeroed out ensures that future versions of the XI2 protcol may
    use these padding bytes with a defined state. The server should ignore
    padding bytes depending on the client's version anyway but better safe than
    sorry.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4b414dcdbb5641ea528ccc212584f9dac816b571
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 27 15:51:17 2009 +1000

    XI2proto.h: Remove special doxygen tags.
    
    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>

commit 0542581edcef2795c613921e66736871b44408d7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 27 14:29:00 2009 +1000

    XI2proto.txt: Add some XI1 vs. XI2 interoperability descriptions.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7cf46d64e0f2816f76ff3e23a77e5414a8625d10
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 27 14:20:38 2009 +1000

    XI2proto.txt: update list of XI2 event types.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0e7af09fcedc3f6f86306dbf2c683d065fc41f29
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 22 12:11:13 2009 +1000

    inputproto 1.9.99.15
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 006afb766ac1d01ad9d57035af56a5b48c6ec5d3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 20 16:25:08 2009 +1000

    XI2: remove Keysym grabs, use Keycode grabs instead.
    
    Keysym grabs are tricky to get right for applications that are more
    complicated than demo applications. otoh, we know keycode grabs are working.
    So let's go with keycode grabs for now and add keysym grabs later when we've
    sorted out the details.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit aaefb1e12229cc7bed40f6aaec3641db840aa4f2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 13 16:05:07 2009 +1000

    inputproto 1.9.99.14
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1357361d6b2a72a3decd9307ca59cc7678ba3063
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 14 16:15:19 2009 +1000

    Add the enter/leave detail defines, same as the core protocol ones.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2a3dc6c47145356a7c9e1cef59165a7ed2f2e9e2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 14 16:15:06 2009 +1000

    Formatting fix, s/tabs/spaces/

commit 51244a1a4f7165d995c139ba1f0d03d8a1140015
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Mon Jul 13 16:49:33 2009 +1000

    Device{,Raw}Event: Add flags field.
    
    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>

commit c455db2c251770a729d2747e6f05d53c2563b428
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 13 15:30:50 2009 +1000

    XI2: Split up raw events into multiple event types.
    
    Instead of a single XI_RawEvent type with subtypes to represent the actual
    event, split up the event into XI_RawButtonPress, XI_RawButtonRelease, etc.
    This way clients can select for specific raw events only instead of all of
    them at once.
    
    Note that raw events may be selected on master devices too, the server will
    route them through master devices.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f345258bf44e018e04643ccc6f02f5e40267d78c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 13 14:37:13 2009 +1000

    Fix XIMaskLen macro.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6280b53cdbb750ef2363f5b55346a4271678ddef
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sun Jul 12 16:19:19 2009 +1000

    inputproto 1.9.99.13

commit 2367e52404761ab14e0f908432f736cfc0813f8b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 23 21:01:27 2009 +1000

    Add effective group and modifiers to XIGroupInfo/XIModifierInfo.
    
    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>

commit 3f0067b45e66ef8db785b67a36f015fd4e6a9f6c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 18 00:29:44 2009 +1000

    XIDeviceChangedEvents may occur on master devices too.
    
    Prime example is a change in the number of buttons due to the availability
    of a new slave device.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b40f48b15e3362cc7b5aeb800b7de072ce20e4aa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 17 09:09:56 2009 +1000

    inputproto 1.9.99.12
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a6edd59c440cae9cd8ac775bb4d67ab433f2aae3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 17 08:53:26 2009 +1000

    Use the term 'labels' to refer to button and axes labels.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b0f7e24d210cb6d0a1c47cae39b54e56a5e996d8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 16 13:14:47 2009 +1000

    Include valuator value in XIValuatorClasses
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b2fb9f81a2a7af8656309420facd58ab610d5da1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sun Jun 14 08:23:56 2009 +1000

    Include button state in XIButtonClasses.
    
    Without including the state in a button class, it is impossible to know the
    state of a device until this device has pressed or released another button
    (and thus sends an event).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit db98b817355ed12609cff077c4a12948ac41f88d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sun Jun 7 17:51:04 2009 +1000

    Add a source field to the class information.
    
    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>

commit 48cf9a56066c4b5a2136310da3cd6846dcf3b607
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 10 15:13:03 2009 +1000

    Add note that bumping XI_LASTEVENT requires changes to the server.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bac0e02889392534138e8b98e516a0ea3c76847a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 10 15:12:39 2009 +1000

    Ensure XIAnyModifier is an unsigned int.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1d59de593c5aac8e109fcb3c1173d4dc14742dee
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 12 15:50:26 2009 +1000

    XISelectEventsReq should use win (not window), like all requests.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f711dfae6872371ec41aeeecda9570a57d0a746c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 12 15:50:07 2009 +1000

    XI2proto: document XSetClientPointer behaviour on None window, etc.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 17a6ad094266cc14efb75cca36de0b8adff9d35b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 8 15:40:21 2009 +1000

    inputproto 1.9.99.11

commit 03309cfbc19fc16b5ae25f8511b3ef28fcd66818
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 8 14:23:27 2009 +1000

    xXIHierarchyEvent should list num_info, not num_devices.
    
    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>

commit 751f2d6c0fa88a6bfc380b57d72ae41ec790249d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 8 13:31:28 2009 +1000

    Rename XICreateMaster to XIAddMaster for consistency.
    
    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>

commit 44f2419e56b006b8f182ea5746e9b6eef205ff37
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 8 12:35:29 2009 +1000

    Update comment referring to an old naming scheme.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6e20d1fc2517e68b17f9da2e94f78e9d64a8c408
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 8 09:51:53 2009 +1000

    Document BadValue error for XIHierarchyEvents selection on devices.
    
    These events may only be selected on the XIAllDevices fake device.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 56da196866d8c883b9b25b04dd584fbcb159ffd3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 4 13:35:42 2009 +1000

    XIQueryVersion may return a BadValue for major_version less than 2.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0d75208a554577d652ca9e2856a4f12b0d720a1f
Author: Peter Hutterer <peter.hutterer@who-t.net>
