commit e752e92dbdcf01b1cd46a3853f582ff765d19e90
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 12:58:18 2012 +1000

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

commit b02b0b42e266560bd48f7e8f38c8338417394fd0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 29 15:08:01 2012 +1000

    specs: XI 2.2 release date is March 2012
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 950a7a0b2e733d9713a88612b669603b0c155329
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 29 14:55:26 2012 +1000

    specs: Remove work in progress warning
    
    We're close enough to a release now.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 3ac053f2c7ef8d07b4a6dcb64d8ca47edad15716
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 10:31:26 2012 +1000

    specs: remove "since" from TouchOwnershipEvent
    
    It's already in a section "Events introduced in version 2.2"
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit b42e4d24a26fb8467ed54183480c9dacd66fc804
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 10:28:46 2012 +1000

    specs: remove TouchOwnership mention from DeviceEvent
    
    TouchOwnership is described separately below.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit a09ca92ce31ede86b883cb74fb1767f8ed687ca5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 10:26:04 2012 +1000

    specs: whitespace fix to avoid wrong asciidoc formatting
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit b1458f6fa9952365f4ad86dc87b385d467318fb1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 10:25:03 2012 +1000

    specs: fix link to touch ownership section
    
    Introduced in 535a4377ddb4c2680d54b4cbbb273134bb5f58a3
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit b321ea46fbb251970c2d655b73209750f24c0b8e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 10:21:12 2012 +1000

    specs: GrabtypeTouchBegin was added in XI 2.2
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 3773e33579f0b5bd6de9f01481b8608fa3101a2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 10:19:42 2012 +1000

    specs: formatting fix, move AcceptTouch and RejectTouch onto their own line
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 4de6f26a705062343f5b93dd9827a736c721e265
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 10:08:33 2012 +1000

    specs: replace † with ²
    
    † looks too much like a letter and we can't use * and ** because asciidoc
    interprets it as lists.
    
    Use numbers instead, and replace all current * with ¹.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 000a20296a3c52f4232aa466d29faa2e424ca626
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 10:07:21 2012 +1000

    specs: XITouchClass doesn't have properties
    
    Leftover from an earlier version.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 0d7bfc10bffa29de1b7217d6399e8f0d5b24c579
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 09:55:21 2012 +1000

    specs: Formatting fix
    
    asciidoc requires caption to be on one line but this one here is too long.
    Split it up instead.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 883143e3454c7fe44b12b11fc12ff3ec2267ecd1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 2 09:32:18 2012 +1000

    specs: some wording fixes
    
    Button press events are insufficient even on scroll wheels, so don't say
    they are good enough.
    
    Remove duplicate claim of event emulation
    
    Don't claim we send touch events "without delay"
    
    Touch screens hardly ever "physically move" an object.
    
    Hyphenate "implementation-dependent"
    
    Remove unnecessary "however"
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 9a2e10213c996010124a3d58e71140f41202416c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 29 14:56:37 2012 +1000

    specs: fix typos 'hierachy' → 'hierarchy'
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 5e18f74e24a17d6a1f18339600a00f5591dc6a82
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 8 03:17:28 2012 +1000

    Unbreak protocol ABI for XIAllowEvents - inputproto 2.1.99.6
    
    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>

commit 217afacda01b082f39fb6816e62ec20e4791857f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 26 13:56:38 2012 +1000

    specs: explain touch behaviour for dependent devices
    
    Dependent devices don't send touch events until the interaction is a true
    touch interaction (i.e. doesn't just serve to move the pointer). Once that
    happens, all touchpoints send touch events exclusively. Pointer movement
    restarts once we're down to one touch that controls the pointer again.
    
    For clients listening to touch events in addition to pointer events, this
    also means that a two-finger tap looks identical to holding one finger down
    and tapping with a second-finger. Both actions will result in short
    TouchBegin/TouchEnd sequences for both fingers.
    
    The above is the default behaviour we expect from touchpads, the protocol is
    more generically worded to leave more room for drivers to decide when a
    touch only controls the pointer and when it doesn't.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit fc9372868bb772f38a6b17299ef26e3dc9c2ff87
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 26 13:36:24 2012 +1000

    specs: move touch support details to "Touch device support" section
    
    Keep the changelog small.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 92f769675b0e39c51280db9690db4b3d80637069
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 26 13:33:40 2012 +1000

    specs: remove superfluous "Changes introduced by ..."
    
    The line right above says the same thing.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 556ea96060071ab807ece4f77304208e15f25f9b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 26 13:32:33 2012 +1000

    specs: move touch mode explanations to where it belongs
    
    Rather than have two different explanations to the touch modes, remove it
    from the "Changes in version 2.2" section and merge the content into the
    text.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 535a4377ddb4c2680d54b4cbbb273134bb5f58a3
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jan 25 17:03:15 2012 -0500

    specs: replace hard coded number in some "See section" references
    
    The glossary does not accept <<links>> however.
    
    Signed-off-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 f3d2feead483f6637ef8ff004afad55b5bbf2c62
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jan 25 17:03:13 2012 -0500

    specs: fix Appendix A title
    
    This section starts a new numbered sequence.
    
    Signed-off-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 9ff28b092f91ea1d7ff58f54a9404347f517361b
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jan 25 17:03:12 2012 -0500

    specs: remove older manually typed in section number
    
    These would come out in html as 5.2, 6.3 and 6.4.3.4
    
    Signed-off-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 508a360f6530e75d94cd2999e56cb329b315ce5d
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jan 25 17:03:14 2012 -0500

    specs: use subsections to group use cases description
    
    It makes an entry in the appendix for quick navigation.
    It looks more readable with subtitles.
    
    Signed-off-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 08ba2d4e1094fb196d1b7a7b3a3b27a81cb9834c
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jan 25 17:03:11 2012 -0500

    specs: Edit titles for section 3 and 4
    
    In the htlm version, the section number appeared to be 3.2.1 and
    4.2.2 because of the generated section number.
    
    A section title should not begin with a number.
    
    Signed-off-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 1306ccf9f262c0c699bec093ffdc4b6695601599
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 6 13:35:25 2012 +1000

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

commit 997ae0343730c66d581fd147741cbe27fbe55af2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 3 09:26:22 2012 +1000

    Set a flag on the pointer-emulating touch event
    
    Toolkits need to know which touch event emulated a pointer event and which
    ones do not. To quote Carlos Garnacho:
    
        GTK+ does client-side windows by default (GdkWindows without a backing X
        window), for this to work the toplevel window in the client needs to
        select for more events that it wouldn't normally select for in order to
        cater for the event masks in such child "windows". This means that
        ideally GTK+ should set the touch events mask in the toplevel, and then
        find out whether the "window" would receive pointer or touch events for
        the sequence emulating the pointer, and perform the emulation itself.
    
    Reported-by: Carlos Garnacho <carlosg@gnome.org>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5ee845c1bf457159a034111c3d0df584aa600cd6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 3 09:24:38 2012 +1000

    specs: purge leftover TouchAccepted note
    
    This flag does not exist anymore.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit e65ba758c2d4147c3873c63c262db36ec23bba63
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 3 09:23:23 2012 +1000

    specs: only pointer events have a PointerEmulated flag
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit 9611be0a5bc7f4d583d49d51a0e98d3b9b75fc7a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 23 18:03:09 2011 +1000

    specs: Clarify rejection for touch events on current owner
    
    The current owner never gets a TouchUpdate(PendingEnd), that event is
    superfluous for the owner. The owner receives a TouchEnd when the touch
    physically ends. If the touch is still active, the owner receives a
    TouchEnd after rejecting the touch.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

commit b9f1b26f076cdba373e8b7a0b73384b35e8d799c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 21 15:30:22 2011 +1000

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

commit b4da32ed2856fef3e8135f03c9194f9dd0287f66
Merge: 8640944 c508e93
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 21 15:28:44 2011 +1000

    Merge branch 'multitouch-devel'
    
    Conflicts:
    	configure.ac
    	specs/XI2proto.txt

commit c508e9360414f9724cc875a4731a5fd8a3969d2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 21 15:27:47 2011 +1000

    specs: add XI 2.1 release to history section
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5c9a6569e5182a4c4c6ec052bcd76a9ca3b8f645
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 21 15:24:44 2011 +1000

    Remove --enable-unstable-protocol configure option
    
    Protocol is reasonably stable and about to be merged onto the master
    branch. People should be used to stuff on master being a tad unstable, don't
    require any specific configure flags.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit aef700dbac09d3c8a576387be47e5693460f1393
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 21 15:23:23 2011 +1000

    specs: remove parts of the "Work in progress" warning
    
    The protocol is stable enough now that a simple warning should be enough.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9a9746b95f3585bba9730105769e9c74520f6bc4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 20 08:23:55 2011 +1000

    Reinstate libXi's version defines
    
    Realistically, we can't remove these from the protocol without breaking
    older libraries.
    
    Introduced in a02566ca7fd37d279b957037e1251a3b3419866d
    
    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>

commit ee0bc61ee3fd775127f8cd222d83314f66255f2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 20 08:22:52 2011 +1000

    Drop wrong comment for sourceid in TouchOwnershipEvents
    
    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>

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 b701750ee99e1e227ad8baa994b6fd3398949a3a
Author: Cyril Brulebois <kibi@debian.org>
Date:   Thu Dec 15 17:07:54 2011 +0100

    specs: Fix tiny typo.
    
    Signed-off-by: Cyril Brulebois <kibi@debian.org>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8687f155d8072763c2c7d52cb48eb5f46bfaf705
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 14 08:56:59 2011 +1000

    specs: clarify button state in touch events
    
    Emulated pointer events will have button 1 logically down, but touch events
    only represent the actual button state, irrespective of the touches.
    
    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>

commit b1d71fe4cd3871a78e442159443c141193e79a7f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 14 08:56:09 2011 +1000

    specs: drop leftover from active_touches removal
    
    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>

commit 02eadf00f07abb9b0f19a05728b70e42eac08adb
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Dec 13 10:35:18 2011 -0800

    inputproto 2.1.99.3
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit 84c049b6603e370afcd267ce4c53a566f842fd69
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Mon Dec 12 10:50:58 2011 -0800

    State that future touch IDs are indeterminate
    
    This just makes it absolutely clear that clients should not make any
    assumptions about future touch ID values.
    
    I also added "strictly monotonically" increasing to the definition of
    touch IDs. It's a more precise definition of the protocol.
    
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit 7d20c9bf38d3d47adc7fb1a70faa370dda1a390c
Author: Chase Douglas <cndougla@cndougla.(none)>
Date:   Fri Dec 9 13:32:35 2011 -0800

    Touch IDs must be globally unique
    
    XIAllowEvents with a master device and a touch ID must uniquely identify
    a touch sequence. If touch IDs were unique per slave device, multiple
    slave devices could have valid sequences with the same touch ID, and the
    sequences may both be grabbed through the same master device grab.
    
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit c4703fd9d97c962d5c599a7f826a9a11fc91ee70
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 12 10:26:20 2011 +1000

    Remove XI2.1 and XI2.2 warnings and errors
    
    This is too much of a pain, anyone who includes XI headers needs to define
    this. And that affects input and output drivers as well as legacy clients
    that don't even need the new stuff.
    
    Removing the need for defines would be enough but then the warnings clog up
    the output and hide real warnings. Just ditch them and laugh at those that
    use an experimental branch and expect it to work.
    
    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>

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 c9c4e13e8a3eb90b45c5ef65f729089b7f742e6a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 11 14:22:08 2011 +1000

    inputproto 2.1.99.2
    
    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 b289b1c039e36a9440c238ff09dfa3eb67e141e4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 20 15:55:54 2011 +1000

    XI2: Use touchid, not touch_id in XIAllowEvents
    
    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>

commit 86ce2d05e86852d52f5b135ad03288e4cb16d5df
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 3 09:30:20 2011 +1000

    XI2: swap (Raw)TouchUpdate and (Raw)TouchEnd
    
    Not having the event codes in the order begin/update/end does my head in
    when debugging. It also means there's no symmetry between raw and normal
    touch events as the ownership event is wedged in between.
    Rearrange event codes to be Begin/Update/End for both, with the
    OwnershipEvent being in between.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

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 cec7567863c3d363b6b75c707540cfe524f849ba
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Wed Sep 14 22:09:28 2011 -0500

    Revert addition of active_touches to device events
    
    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>

commit 22c06a5ddb1d3be2743a79b78eff3844f457dc5e
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Wed Sep 14 20:15:49 2011 -0500

    Fix Xi 2.x version comment in XI2.h
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit 88410aa51d03dbb5599e979998137ba6558ff677
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Sep 13 16:59:54 2011 -0500

    inputproto 2.1.99.1 (first snapshot of 2.2)
    
    Note that this is built on top of 2.0.99.1, which is a development
    snapshot of 2.1.
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit fa16231f0e5244cdcf77e262647525716f507bdd
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Wed Sep 14 10:10:14 2011 -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>

commit 2ea2f99f4fe1dcd3b8e539ca41c482fc40a0533d
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Wed Sep 14 09:46:18 2011 -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>

commit 3c400af4f98740debd7916ad711cf91124a0f994
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Sep 13 15:47:15 2011 -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>

commit dd9e4bc5f5f2e0eb87b08199ce417849070249ab
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Sep 13 15:30:34 2011 -0500

    Really kill touch valuators
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit 05fc509fdca8d8b414a20f1359b9cb80caf5240a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 14 05:46:43 2011 +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>

commit 94fecdf129d8ab5bece049a26eed03d24affb549
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 14 05:26:54 2011 +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>

commit 4782a76b6e679493f130a53afe158a13628fa504
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 14 05:25:15 2011 +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>

commit dd32802d2e6134cf9c4efd49c56c118ed02e6a2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 14 05:21:31 2011 +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>

commit cfa06b98d50d6892e5961e86f6223b6b096d9ef4
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Sep 13 15:09:57 2011 -0500

    Bump version to 2.1.99 for XI 2.2 multitouch changes
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit 24e7dac91fb919c1668736f6e4309ae522a96d86
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Sep 13 14:27:13 2011 -0500

    Switch multitouch additions to XI 2.2
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit b95adf9b14ff5ba2142e8521f02728dc6d903409
Merge: d6dcfd4 9cfdeed
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Sep 13 14:20:31 2011 -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>

commit d6dcfd4039ede37e9c858ab6e890fdb9582a5a9d
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Mon Sep 12 16:01:53 2011 -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>

commit 42284fa0a233240d365ff2b49cc34c257e2d2bee
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Mon Sep 12 15:55:28 2011 -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>

commit 1b40cc4ff63ebbf0a4b17507762b17fa1e91bea9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 29 09:20:32 2011 +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>

commit b55d236a66a614b2192da6d8a7ed4b7d831976f5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 29 09:20:31 2011 +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>

commit 3d23bf3782c9962b70dfa46ea34c86efee57eeb2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 29 09:20:30 2011 +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>

commit 63f3097d264f790419ce59744e8d2733f9bb1026
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 29 09:20:29 2011 +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>

commit 4329d45d49741aad0e93f8e064042ba83e6a23a0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 29 09:20:28 2011 +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>

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 9e46820e4a206ae48b3e87f6ef7506e583fa3793
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Wed Aug 24 15:10:21 2011 -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>

commit 79c22a2e7b3c2bf73cd8af7eba7182198f13d2e4
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Wed Aug 24 13:34:47 2011 -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>

commit cec253561ab3feaa0a5a57fa8aa47db15662cf3d
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Wed Aug 24 13:32:30 2011 -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>

commit 1cb00433583341b3c52c8d3f62dcd19a55ddca29
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:23 2011 +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>

commit b025106fe8d8aa3043abd48ba3f50bde29527939
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:22 2011 +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>

commit f469fa99ae9ffda806c3e935bbebc73d633f8c10
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:21 2011 +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>

commit d7fd289ee02d7ebc4cac5357edaaac1b55a7d10c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:19 2011 +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>

commit e51dd1b6bd4aa506231a41cbb400a8ece5a6aeaa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:18 2011 +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>

commit 67e06b8f14ac39c6c38e851b94b879024ff806a9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:17 2011 +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>

commit 5b8a8bd0b4e779b947093f9722a2af2568c27118
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:16 2011 +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>

commit ae6ba6b37e47134914b8fedb6524372f0a8119c0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:15 2011 +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>

commit 544ce0cee3cc146ed1df06ed5762d21ecdfe9e8a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:14 2011 +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>

commit 9e46dd35896c2517b1c95224b979fc7126dce49f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:13 2011 +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>

commit 1b0c016d1f7615e3670fa97fc8f24bc6b79e4f7b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:07:11 2011 +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>

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 4adfb5ad6c064981e2c7eb57db4bdd81cc7029ea
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Fri Aug 5 15:28:51 2011 -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>

commit 29cd8aac674b1d831814b48b2ee2f2f7ff16497b
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Fri Aug 5 14:41:59 2011 -0700

    Use the same valuator axes for pointer and touch events
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit b5e357c76dc5d8b2176fa470186688ec943d08e6
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Fri Aug 5 14:49:32 2011 -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>

commit 3172e3c52eb45e4830d85ae53888d0b28c13df62
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Fri Aug 5 14:20:05 2011 -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>

commit b15ad6e0dc1759e514c998eecd7e61b25308add6
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Fri Aug 5 13:59:05 2011 -0700

    Peter is right, floating devices can emit touch events
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit 951cb8314343fcd5cdc392dfc78024fa184fc694
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Aug 2 15:53:35 2011 -0700

    Prettyify touch device types
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit 45387042f8fa767dda610936557548adf76306c5
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Aug 2 15:29:54 2011 -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>

commit 3a2f149b33531d02fff8e46181ffdcfcecb0c8cb
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Aug 2 15:23:21 2011 -0700

    Yes, send TouchEnd to owner, TouchPendingEnd to other listeners
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit 343fd699457483d1572b5229874f8ce6460a9b2d
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Aug 2 15:22:15 2011 -0700

    Separate "XI2.x" into "XI 2.x" for readability
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit 3cbc9b68a314b2986afa811f81f76c941be1973b
Merge: d331251 2ba875f
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Aug 2 14:09:11 2011 -0700

    Merge remote-tracking branch 'origin/master' into multitouch
    
    Conflicts:
    	XI2.h

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 d331251884101c503c533e088bcace6b830b5a95
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Tue May 3 18:44:53 2011 +0100

    Clean up and reword multitouch ownership/emulation
    
    Remove 'withheld' indirect section as well.
    
    Signed-off-by: Daniel Stone <daniel@fooishbar.org>

commit f17598c1beeadbc648588d192d2e7eb616019e2d
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Tue May 3 17:21:34 2011 +0100

    Mostly typographical
    
    Signed-off-by: Daniel Stone <daniel@fooishbar.org>

commit 2d5294cb0b9dc641e0f8ef1ff5f2a1a1803a57ee
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Thu Apr 28 12:02:43 2011 +0100

    Further cleanups and clarifications
    
    Signed-off-by: Daniel Stone <daniel@fooishbar.org>

commit 75790691706447cecc9f7948ea55caba05dc0d7d
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Tue Apr 26 20:30:13 2011 +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>

commit 400365a9bfa9ab3eaaa0bec08e32023f54d04207
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Tue Apr 26 19:51:41 2011 +0100

    typo fix
    
    Signed-off-by: Daniel Stone <daniel@fooishbar.org>

commit 416f077d8747d3d96dd5a71600e1e394226c3dc1
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Apr 22 16:14:54 2011 +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>

commit a500bc990ba61bf32637114d1840db7147a0deaa
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Apr 22 15:42:09 2011 +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>

commit 3a89a5a3003309f810c9273fac8cf5943238df28
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Apr 22 15:31:52 2011 +0100

    Doc note: No seriously, this is WIP
    
    Signed-off-by: Daniel Stone <daniel@fooishbar.org>

commit b46a3bafd95f1bb507e4851aaa6967cf20c4eb8e
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Apr 22 14:27:06 2011 +0100

    Formatting fixups and minor rewording
    
    No semantic changes.
    
    Signed-off-by: Daniel Stone <daniel@fooishbar.org>

commit e19eaef83db9181787a13fa95d642971c33d559b
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Mon Apr 11 10:09:57 2011 +1000

    Require configure flag to build this proto version.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

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

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 ed840d79d3cac60b2fb17448afcc28828236e91b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 18 16:17:09 2011 +1000

    specs: rewrite pointer emulation section
    
    plus a fixme
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 15e76dd365fce4e936a9f468496be3789495103b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 18 15:29:25 2011 +1000

    specs: rewrite pointer emulation for indirect devices
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9c2817fd761bbe6c6da4e2a5638d80fa53975c4b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 18 15:10:34 2011 +1000

    specs: Rewrite Touch events delivery section
    
    And add a fixme
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c883261f2bad6196e5ff1b3c1397300775e55da7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 18 14:48:15 2011 +1000

    specs: Add a fixme for using raw events instead of GrabModeObserve
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 35710924957791e389e10fcc67b75967769f001c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 18 14:16:55 2011 +1000

    specs: clean/rewrite touch grab and ownership bits
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f24c9ae749c84d953ee3b35be1ea937dce7b86d3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 18 13:58:29 2011 +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>

commit 0e4a782339403f270de6e072262680b3a4baec01
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 18 13:52:09 2011 +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>

commit 1d720b30c996a693014f2c70004c9717945b574f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 18 12:12:47 2011 +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>

commit a4583dcd3e1c18e5c0cc616c143aafbf7ec1d88b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 18 12:02:21 2011 +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>

commit fe19202c220ce010a85fe5abc0b5a6a0c314ea9a
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 f9fa8f9a7dc333b45bfac0b0c6f97b8b1a72d260
Merge: a02566c 47901cd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 17 14:51:52 2011 +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>

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 a02566ca7fd37d279b957037e1251a3b3419866d
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Thu Mar 10 11:53:57 2011 -0500

    Many more updates to the XI 2.1 protocol
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

commit db7c0eccc74e95f247d78541e4c4a28cfa87b5b4
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Sun Feb 20 16:35:09 2011 -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>

commit 99f15a2346c882237c78afbd638932f132d6113c
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Mon Feb 7 10:19:06 2011 +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>

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>
Date:   Mon Jun 1 09:12:42 2009 +1000

    Move the XI2 index into versions[] over to XI2.h

commit 8aff0836afaef4397f9df273cc90edeca1ab9641
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri May 29 13:25:32 2009 +1000

    Specify modifier interactions with attached slave devices on passive grabs.

commit e102c504ec58e6bc4620e7cd01ea34de665e5fd9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 27 14:12:58 2009 +1000

    inputproto 1.9.99.10

commit 6b61bef5da91ca24d1bfcf9d314b8b8587c3e4fc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 28 08:20:37 2009 +1000

    Mirror the core enter/focus modes and add the passive grab mode.
    
    If an enter/focus grabs activates (or deactivates), send an extra set of
    enter/focus in (or leave/focus out) events to the grabbing client with mode
    XIPassiveGrabNotify.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1b2dc24bf51a325ea3fafb46768467675b00be52
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 25 15:48:25 2009 +1000

    Add Enter/FocusIn passive grabs.
    
    Same behaviour as button/keysym grabs but triggered on enter/leave and
    focus in/out events.

commit d0c6633f7bc2519c0b6c662a1f39a8ce56ab768a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 27 13:11:49 2009 +1000

    XI2proto.txt: remove one more keycode mentioning, fix typo

commit 31f492bf9471fc593275fb95f97312db21439641
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 25 12:14:12 2009 +1000

    Add XIGetSelectedEvents request and reply.
    
    Counterpart to XISelectEvents, used to retrieve event masks from the server.

commit f065f6c12aa5c2e79f1af38908e86d20a2efdc86
Author: Benjamin Close <Benjamin.Close@clearchain.com>
Date:   Tue May 19 11:27:03 2009 +1000

    XI2proto.h: fix two comments referring to the old naming scheme.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3aca2d6ba53c8ddf5c40ae4b1411e50134b404a5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri May 15 20:14:16 2009 +1000

    inputproto 1.9.99.9

commit 8c2872367765170c37f829d635c97dc3d68861b7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat May 16 11:49:21 2009 +1000

    Document naming conventions for XI2proto.h.

commit b32e5830c0acbdba4798fad107bf8404c978753c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat May 16 11:46:44 2009 +1000

    XI2proto: define Window, Cursor, Atom and Time as uint32_t.
    
    Since we're using stdint in the rest of the file, might as well ignore
    CARD32 here.

commit f4f09d40e0fd94d267b280f2a82385dca1141347
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat May 16 11:31:03 2009 +1000

    XI2.h: remove XI2Mask, add XISetMask and friends.
    
    XISetMask, XIClearMask, XIMaskIsSet serve to set, clear or check a bit in
    the provided array.
    XIMaskLen is a macro to get the minimum length of a mask for a given event
    type.
    
    They are expected to be common ways to deal with event masks, i.e. clients
    will do:
    
    unsigned char mask[XIMaskLen(XI_ButtonRelease)] = {0};
    XISetMask(mask, XI_ButtonPress)
    XISetMask(mask, XI_ButtonRelease)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0ae6581bc62b3b734c84b12e9a92d945d3e98aa7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat May 16 11:25:49 2009 +1000

    Add XIAnyButton and XIAnyKeysym.

commit 4cc6992b08b6c7aed0d1242e3382fb53d51a0fe2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 14 12:09:38 2009 +1000

    XIQueryPointer needs to include sensible button/modifier state.
    
    This includes shuffling the xXIModifierInfo and xXIGroupInfo structs to the
    common structs section.

commit d041f30777c09f07ac79fface61bfbfa654306f2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 14 10:29:49 2009 +1000

    Add an introduction to XI2proto.txt

commit e1138da90235797248f38d7f613566fb8418c396
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 12 19:24:31 2009 +1000

    XI2proto.txt: remove more mentioning of keycode grabs

commit 7aba20ed4c404b80112a0bb28220a2c646f319e4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 12 16:51:05 2009 +1000

    Remove superfluous "Device" from protocol requests and events.
    
    Anything with prefix XI is per-device anyway.

commit 12635cbd4aea0ba3b38b96682d63bb71ba8c737e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 12 16:14:01 2009 +1000

    Add per-device flags to XIDeviceHierarchyEvents

commit 886d2aceb77070292e984ed2b25e31ac9c82aba7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 12 13:45:48 2009 +1000

    Define Cursor as CARD32.
    
    Reported-by: Benjamin Close <benjamin.close@clearchain.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 32277164bcff6b18a498f12886828187e1f96249
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 11 14:35:35 2009 +1000

    XI2proto.h: doxygen-ify

commit e9dfa4015520abd49779e96e7d54da763a54484b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 11 13:46:53 2009 +1000

    XI2proto.h: s/uint32_t/Time/ where appropriate

commit a47a2b50845499e3f9144739db5644952faf8ea2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 7 16:19:47 2009 +1000

    Prefix all XI2 constants with "XI" -> inputproto 1.99.9.8
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2edc35c032c2792d9528a396f596d466d4f10764
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 6 16:33:34 2009 +1000

    Add XI2 property requests.
    
    Basically the same as XI 1.5, save the 16 bit deviceids.

commit 504b480c946fe4c4a96500ef8c5da100b787ab32
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat Apr 25 11:08:21 2009 +1000

    XI2: add passive grabs.
    
    Most notably XI2 provides keysym grabs instead of keycode grabs.

commit 5d60550fdeb375a88ac9da42bcad4ee69b0df64a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat Apr 25 10:43:43 2009 +1000

    XI2 spec: Add some more Grab/Ungrab/AllowEvents documentation.

commit 6d28cb22ada7a1abb6ab11863c82c9834d1a4b00
Author: Benjamin Close <Benjamin.Close@clearchain.com>
Date:   Wed Apr 22 13:10:50 2009 +0930

    Define the Cursor datasize correctly
    
    On 64 bit machines, without Cursor defined Xlib would allocate 64 bits
    rather than 32 to any structs using Cursor. This led to data not
    correctly being available on the wire hence the Xserver would do strange
    things. We hence define Cursor to what it should be and make sure
    we undefine it after we've finished to users of XIproto.h aren't affected
    
    Fix-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 589dc6ffa509c1c7da2d94dc89b2246c3dfdc81d
Author: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
Date:   Wed Apr 22 09:00:14 2009 +1000

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

commit 3380ae0ac0220c7f8fea9df855113819b472a233
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 16 11:37:20 2009 +1000

    Add XIAllowEvents.
    
    Basically the same as the core protocol AllowEvents.

commit 3c273d7145ed5f53b54d2812ad2ac8430d449555
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sun Apr 19 21:33:42 2009 +1000

    Change FP1616 into a single int32_t.

commit 8914a9a2a99e334f66d6040d05b3d5f5b603780f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 10 17:31:05 2009 +1000

    Add GrabDevice and UngrabDevice XI2 requests.

commit 1956df7e45a49464dee2d7beff36f38ea00e9cb8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 10 14:56:20 2009 +1000

    Revert "Add major/minor version as supported by client to GetExtensionVersionReq."
    
    This reverts commit f6e41306f76de966884d4b72c5fb5e5d6d534ce4.
    Sending the supported version hidden in another request is potentially
    dangerous, so let's not do it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 55ee1f97d446403b9c2ed2e3c321afa4d683c93f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 10 14:35:00 2009 +1000

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

commit d5105dc8516dd89cad0cd841081ff85d0a672bae
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 10 14:17:51 2009 +1000

    We don't need to define KeyCode and Mask.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 75daa0db2c87d065e80afdf248965f34f7073cd5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 10 14:17:02 2009 +1000

    Undef Window, Time, etc. after usage again to avoid pollution.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6c9785ea2581924fc748f61160a2faa4ab8eded0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 3 15:15:50 2009 +1000

    Remove IsFloating - we don't need this in XI 1.x anymore.

commit 069880638b1c2af821c6d84fde4119668c533063
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 3 15:13:22 2009 +1000

    Move XI_2_Major/Minor to XI2.h

commit 2570457174fb951d3f5f725f87e8f7f45059158b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 3 16:13:05 2009 +1000

    Move AttachToMaster, Floating to XI2.h

commit 1d933800acfa31f0a8f014224c1708f0076f3db0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 3 15:58:24 2009 +1000

    Move CH_* constants to xi2

commit 5aa07308a10315f9305cd9637c71f98432c75ecf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 4 14:33:57 2009 +1000

    Remove XI2 requests from XIproto.h
    
    All requests been moved to XI2proto.h. Only ExtendedGrabDevice is gone for
    good.

commit 05f997e68921a1443728a9c58050eb82b73eaea8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 26 15:22:55 2009 +1000

    Bump to 1.9.99.7

commit 7a73c3c64b1affa946deb66dd22042ee12fd747d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 12 15:43:26 2009 +1000

    Add XISetDeviceFocus and XIGetDeviceFocus requests

commit 0ca1de737aa5cd714a4df3a45422dce415f9df55
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 11 16:32:06 2009 +1000

    Add focus events

commit da74983b7d18ad06fe828040072d4a985ce4d448
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 11 13:32:09 2009 +1000

    Add buttons + modifier/group information to enter/leave events.

commit c9ebfba4a128f0d0eda920a02af013b795adfec5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 11 12:30:16 2009 +1000

    Define FP1616 as one int16_t, one uint16_t.

commit 2339bc5b0eea89e676ac58a38ac5eb6a8ae6e6f9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 10 15:42:28 2009 +1000

    ValuatorInfo moved to FP3232

commit cac1bcbf6d544f29c3379bc0462bb237e8ff8399
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 10 15:35:04 2009 +1000

    Add FP3232 typedef.

commit fc7f67959ad72c76e852827963d6a42b7d533b89
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 10 12:26:18 2009 +1000

    XI2: remove button state from the RawEvent.
    
    A RawEvent is supposed to represent the state posted by the device. If a
    client needs button state, then the client must keep track of it.

commit d2ba9af0517f54fb58358e41859f5e4ead9b64f2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 26 15:10:28 2009 +1000

    Split CH_ChangeAttachment into CH_AttachSlave and CH_DetachSlave
    
    CH_ChangeAttachment is still there, but won't be for long.

commit 69f5b8a3ff8258cc6d50cca7d5382b0fe9fed893
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 5 15:57:56 2009 +1000

    Add XI2.h and XI2proto.h, and a few required defines to XI.h

commit 27dc5a8313d48a78a628563132142a97f7a47843
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 5 14:18:28 2009 +1000

    Add XI2 protocol specification document.

commit f39d3c8d6035fe65ad788987e291b99ad22448dd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 4 15:21:55 2009 +1000

    Whitespace cleanups.
    
    Yep. Slow day today.

commit c2d426f232f214f24fba2e30766c94e643716a72
Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
Date:   Tue Jan 27 20:06:28 2009 -0200

    Janitor: Correct make distcheck and dont distribute autogen.sh

commit 7203036522ba9d4b224d282d6afc2d0b947711ee
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Fri Oct 31 16:33:25 2008 +1030

    Bump to 1.9.99.6.

commit f8064629496c6061bedb7a99b788fb9d3a170f11
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Fri Oct 31 17:53:39 2008 +1030

    PropertyNotify, move deviceid back to last byte.
    
    This way, it can be type-cast to deviceKeyButtonPointer to extract the
    deviceid, which is (aside from time) the only thing it has in common with
    those anyway.

commit 90a86701e3b9feafa05f44649a8314f06285fab5
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Wed Oct 8 21:39:20 2008 +1030

    Remove window access protocol requests.
    
    This is a bad idea. It didn't provide security and you can get the same
    functionality as you did with normal event registration.

commit 36c8a6f3faf56a8f8ca31455812c9132b379b1b3
Author: Julien Cristau <jcristau@jazzy.liafa.jussieu.fr>
Date:   Wed Oct 15 10:33:51 2008 +0200

    Undef Atom after we're done so we don't pollute users of XIproto.h

commit c919917e375aefaf473570c1b25b3c22231e858d
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Wed Oct 15 10:34:21 2008 +1030

    Make sure Atoms are defined as CARD32.

commit 2166b77ea60bd9cd87f1311a2e7d461db071cb07
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Fri Sep 26 10:11:04 2008 +0930

    Bump to 1.9.99.5.

commit 93c1ea035b46614fd907e33303c6a876d32e2c78
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Fri Sep 26 09:37:48 2008 +0930

    Remove default properties (XI_PROP_MODE, XI_PROP_ENABLED)
    
    These should be defined by the server, not the protocol.

commit 18ef04f8a2026cca5d2d2b796ec2ea1c949bad36
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Thu Sep 18 15:00:54 2008 +0930

    Remove Configure/QueryDeviceProperty.

commit c9454a8e84b2dce54bb346ff1aafb32e3c0ac5b9
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Thu Sep 18 16:28:09 2008 +0930

    Add XI_JOYSTICK type.

commit 20a0c8433ee50ecef1dfdb218674c7729bbacb99
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Thu Sep 18 15:00:01 2008 +0930

    Don't include Xmd.h.

commit 3e7b663e7d5a40a115eba3cabfc173549ff89357
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Fri Aug 15 15:01:16 2008 +0930

    inputproto 1.9.99.4
    
    Backported device properties.

commit fabe087cebb11c6a2600e57c6f7a52fda2efea29
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Fri Aug 15 14:50:23 2008 +0930

    Protect against C++ includes.

commit c2d47b04c55cf72aef6c13a9e2cc4b41abfca673
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Fri Aug 15 14:21:24 2008 +0930

    Remove RCS tags, typo fix.

commit 7c9620d8232e5c05115746055a832363a528ac2d
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Wed Aug 13 10:00:12 2008 +0930

    Back out Device Properties from XI 2, push into XI 1.5.

commit 54465c743354dd138f4ccacc196198e36c2ecdba
Author: Alan Hourihane <alanh@tungstengraphics.com>
Date:   Tue Jul 29 14:15:04 2008 +0100

    bump to 1.99.9.3

commit 0daf8328cfa90b038753fc409c5eb05ba3fac6d5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 29 08:58:53 2008 +0930

    Add DeviceControlChanged define.
    
    This value is used for the devchange field in the DevicePresenceNotify event
    when a device's control has been modified.

commit 0d300ce64c277f4f7c7fe5fd6dca1ed768880af1
Author: Alan Hourihane <alanh@tungstengraphics.com>
Date:   Mon Jul 21 10:33:47 2008 +0100

    Bump to 1.9.99.2 for inputproto

commit fe74239e93e6562ba6c268b50d6cfb36d2426bef
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sun Jul 13 20:49:51 2008 +0930

    Add #defines for XI_PROP_ENABLED, XI_PROP_MODE
    
    These two props are expected to be supported by the server.

commit 5f686651087ac9d1a15b4d8aa631f2d7f2096871
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 9 18:28:26 2008 +0930

    Set IEVENTS back to 18, got set to 8 inadvertantly.

commit bbbe35b3513510afb524e02b8227826dbd5ea87e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 7 15:38:50 2008 +0930

    Add XI device property requests and replies.
    
    New requests:
    ListDeviceProperties ... list all props of a device
    QueryDeviceProperty  ... query meta-information about a property
    ChangeDeviceProperty ... change the content of a property
    DeleteDeviceProperty ... delete a property
    GetDeviceProperty    ... retrieve a property
    
    New event:
    DevicePropertyChangedNotify ... the given property on the device has changed

commit 9f1f3ef7a36fddacf30ecf867ddad90253103b6a
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Wed May 28 17:13:49 2008 +0930

    Bump to 1.9.99.1.

commit 834c9ba8b4a1746a5d87d793f7c40bb882712656
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Mon May 12 17:30:30 2008 +0930

    Remove a leftover typedef, the code that requires it has since been removed.
    
    Was part of the FakeDeviceData request, this request does not exist anymore.

commit c6df1392e52b5edf3f25e0198c06a3a1ae3c0356
Merge: f6e4130 8525689
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Mon May 12 17:30:15 2008 +0930

    Merge branch 'master' into mpx
    
    Conflicts:
    
    	XI.h

commit f6e41306f76de966884d4b72c5fb5e5d6d534ce4
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Sat Apr 26 10:03:19 2008 +0930

    Add major/minor version as supported by client to GetExtensionVersionReq.
    
    This sort-of breaks old clients. Behaviour to be assumed is that if nbytes is
    0, major/minorVersion is set and specifies the version as supported by the
    client.
    If nbytes is non-zero, the request is trailed by the extension name (INAME)
    and major/minorVersion is undefined. This is the behaviour of pre-MPX clients.
    
    And then there may be clients who found that no other extension uses this
    request and supplying a name wasn't actually necessary since it was XI anyway.
    These clients will break. Tough luck. Read the man pages next time.

commit 746f61a86d1fd37216508a3f913bf2a1d1287478
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Fri Apr 25 18:09:32 2008 +0930

    Remove XInput.h. This file is now part of libXi.
    
    XInput.h only belongs to libXi and is should not be part of the protocol
    headers. For future revisions of this file refer to
    git://anongit.freedesktop.org/git/xorg/lib/libXi

commit b762dad06c33a9bdcdedecb9a20d218aa38d05d6
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Fri Apr 25 10:34:01 2008 +0930

    Add #define IREQUESTS 45. Specifies the number of requests in XI.

commit 852568991b251e9366da167f1b746a0a1db6adf0
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Mar 10 09:31:51 2008 -0400

    Typo fix.

commit b5cbe2d93f6c0129b8f29da97778f6d1b15c38f9
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Mar 10 09:08:21 2008 -0400

    C sucks: define XEventClass in terms of unsigned int, not CARD32.
    
    Apparently pulling in Xmd.h here breaks qt, since they both define an
    INT32 type (and incompatible ones even, since Xmd's is unsigned long on
    ILP32 because whoever wrote Xmd.h is a C novice).

commit 3edc1bf23b07ea47d7e1e32047e15c67333c663e
Author: Adam Jackson <ajax@redhat.com>
Date:   Wed Mar 5 22:06:19 2008 -0500

    inputproto 1.4.3

commit 83fe5a31cbba502482ee1f2e720aaed8f4fa86b8
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Tue Mar 4 18:10:00 2008 +1030

    Add deviceid to QueryDevicePointer reply.
    
    Doesn't hurt, we have padding left over anyway.

commit 52e366d845163cdc1ffa8955d36914cd6b5f21f9
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Mon Feb 25 16:51:31 2008 +1030

    Squash opcode range for MPX XI requests.
    
    This removes the opcode holes that were left by the excessive request removal
    of the last weeks.

commit 66ba434bc5c5fd343e558b758a7e0d61dcebb1c4
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Mon Feb 25 16:45:16 2008 +1030

    Remove GetPairedPointer, paired device can be found through ListInputDevices.

commit 1f37b09c99df0890fbf347f3767934cdd4e586c2
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Mon Feb 25 16:28:05 2008 +1030

    Remove "ungrab" from ExtendedGrabDevice request, remove XUngrabExtDevice().
    
    That's what UngrabDevice is for, it does the same anyway.

commit 1f6d53f553e580757d4c7391838a44b659812ab0
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Mon Feb 18 17:21:37 2008 +1030

    Add WindowAccessAllowAll constant.
    
    Not surprisingly the inverse of DenyAll.

commit b512f47795bd125f6b04806d8a831f888febb67d
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Feb 14 18:25:24 2008 +1030

    Change XChangeDeviceHieararchy API.
    
    Single-pointer to changes is enough since we have a union now.
    Provide array first, then number of elements. This at least gives us
    consistency within the MPX-related stuff. The rest of Xlib can't seem to make
    its mind up about that.

commit 330cfbd0ca6e6d1557e08ab0c555fe87acc7be29
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Feb 14 16:33:03 2008 +1030

    Make XAnyDeviceHierarchyChangeInfo a union of the possible types.
    
    Kinda the same as the XEvent union.
    
    Some whitespace fixes too.

commit d5245e8b85deec6f76bec2c9599da59516e50cca
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Feb 14 09:17:34 2008 +1030

    Whitespace fixing and sz_RegisterPairedClient removal.

commit 3c24865ad98557a5bc3e12c954eefaffff01bf36
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Feb 14 09:15:11 2008 +1030

    Remove GrabAccessControl and FakeDeviceData.
    
    Both aren't thought out enough to justify their inclusion in the first version
    of MPX.

commit 6a91ee1bd1d4751d09f2e4aa832913bc66ae4602
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Tue Feb 12 19:19:58 2008 +1030

    Remove RawDeviceEvent - for now anyway.
    
    Wasn't quite as thought-out as it should be. Throwing it out for now, to get
    the rest of MPX more stable.

commit 1d097c26264b657689d74f3f0a77cd1aa4f7e576
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Tue Feb 12 19:17:51 2008 +1030

    Remove pairingChangedNotify event.
    
    I swear I already removed that before... Anyway, we don't need it anymore,
    since pairings can't be changed anyway. Hooray for the device hierarchy.

commit be9e285258b8ea90628bbb5ae65bf74bdc59338b
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Tue Feb 12 15:04:24 2008 +1030

    Remove "shared" field from QueryDevicePointer.
    
    If it's a slave device, it's shared, if it's a master device it has its own
    cursor. No need for this field.

commit bd20f0ebd5e71fd03b3140960c3960bc50bd4273
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Wed Jan 23 15:47:56 2008 +1030

    Add a device id to XiSelectEvent.

commit 096b20bf5492d248b5c8ff0c1c28e221d59db724
Author: Jesse Barnes <jesse.barnes@intel.com>
Date:   Mon Jan 21 15:28:49 2008 -0800

    Use Xmd.h instead of X.h to pull in CARD32 definition
    
    On 64 bit hosts, CARD32 may be undefined unless we use Xmd.h to define it for
    us.  Apparently X.h is no longer sufficient.

commit 640a97d321cdc5fd2f34265cba86da40463f8e48
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Tue Dec 18 15:47:01 2007 +1030

    Move deviceid in XDeviceCrossingEvent up to follow window.
    
    This makes XDeviceCrossingEvents in line with the other events who have the
    same initial ordering of things.

commit 9359e625787761e6b3df15f29bbf842c67a9516d
Author: James Cloos <cloos@jhcloos.com>
Date:   Thu Dec 6 16:39:02 2007 -0500

    Replace static ChangeLog with dist-hook to generate from git log

commit 92f083437f3129bb67cd4599ad776b8b691f0b56
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Tue Nov 13 17:22:21 2007 +1030

    Remove RegisterPairingClient, deprecated with the device hierarchy now.

commit 14e6e7bad06a560ec943654b94e05d4293709f2c
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Tue Nov 13 11:29:06 2007 +1030

    Add DeviceClassesChangedEvent.

commit 685a2dd32736956f5175afb9bc5773c829725fea
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Nov 8 17:26:35 2007 +1030

    Add DeviceHierarchyChangedEvent.
    
    Uses same event type as the now removed PointerKeyboardPairingChangedNotify.
    
    (removing the RandomStringEvent too, should have been gone a while ago)

commit 6037b37a5bf03f0b38db6a83fe1bc48551b8363c
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Fri Oct 19 10:22:51 2007 +0930

    Add XChangeDeviceHierarchy and its components.

commit 52e2f24b3a21741d2fb0614642fd5b12b72c0d3d
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Oct 18 12:23:34 2007 +0930

    Create new XAttachInfo class for attachment info (slave devices).
    
    Thanks to XLibs design we can't just change XDeviceInfo without breaking the
    ABI. So here's a new class that isn't actually a class on the wire.

commit 3c5555544e06f1be70e6981446e2a92dc1e2aecd
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Oct 18 10:39:40 2007 +0930

    Add XI version 2 defines.

commit 6a0ffc2f461bd41a223732551e0ea1f05c293028
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Wed Oct 17 12:38:38 2007 +0930

    xDeviceInfo: add "attached" field (replace previous padding).
    
    If use is set to IsXExtensionPointer/Keyboard/Devices, attached indicates the
    device ID of the master device it is attached to. If the device is floating,
    attached is set to IsFloating.

commit 4b22047f347d8fd65a36b2fc90e1a87dff8e93e3
Author: Eamon Walsh <ewalsh@tycho.nsa.gov>
Date:   Thu Sep 27 12:27:19 2007 -0400

    XI.h needs X.h for CARD32 on 64-bit systems.

commit f033750780b74d72056da93fd9a91140a978891b
Merge: 369dd28 96b0c13
Author: James Cloos <cloos@jhcloos.com>
Date:   Mon Sep 3 06:17:20 2007 -0400

    Merge branch 'master' of ssh://git.freedesktop.org/git/xorg/proto/inputproto

commit 369dd283cfcf006e2cfe3496ebc5157839a3d04e
Author: James Cloos <cloos@jhcloos.com>
Date:   Mon Sep 3 05:54:06 2007 -0400

    Add *~ to .gitignore to skip patch/emacs droppings

commit 96b0c13a5a689b3a6dbc4249ca4ef364f778c003
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Fri Aug 31 17:58:27 2007 +0930

    Bump to 1.4.2.1
    
    No source changes, the 1.4.2 tarball had a busted configure script.

commit 0e9f8468ba15a55ddba7fb8c263a80091e9decde
Author: Paulo Ricardo Zanoni <prz05@c3sl.ufpr.br>
Date:   Tue Jul 10 10:16:06 2007 +0930

    Change some calls to use XID* instead of char* for device id lists.

commit 5e4ff6bf4590d856966f151529d27be0eb070804
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu May 17 20:19:29 2007 +0930

    Move deviceid around in deviceEnterNotify, make room for detail field.

commit 3d164140845c2ff65d84b56977b1722e95882f1c
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu May 17 20:19:02 2007 +0930

    Add event_type to RawDeviceEvent to store matching core event type.

commit 42a6b9b643d22ca8df64757cf497d2c7ac2dee65
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Mon May 14 18:03:53 2007 +0930

    Add ExtendedGrabRequest and the matching reply.

commit ccbe2e63123c58041a3c32ae6a21b05bd8c72b04
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Wed May 2 18:19:11 2007 +0930

    Add xFakeDeviceDataReq

commit b12514254cb1d2b91381b59251440b22e36052fb
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Wed May 2 09:43:48 2007 +0930

    Providing a device id for a RawDeviceEvent may not be a bad idea.

commit ce7bbfb7e0ecaf977c4ec8e760c634cebf8ac167
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Tue May 1 22:31:09 2007 +0930

    Add XGE support and event types for RawDeviceEvent and PairingChanged event.

commit 02c50062d357bc5d43ab4440eb195a33df0ec8b9
Merge: f0baffd 310a93f
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Fri Apr 27 14:43:43 2007 +0930

    Merge branch 'master' into mpx

commit 310a93f8e194aa070b0f1d40c8fd5ae941908dbe
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Apr 26 11:06:18 2007 +0930

    bump to 1.4.2

commit c9bed7d4750c314002c16430a4dd75f95cc2f78d
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Tue Apr 24 22:53:27 2007 +0930

    Add flags to be used for DevicePrensence's devchange field.

commit f0baffd3a04dfe8a09b59667e5dcaa0216a94e65
Merge: a928365 c608d82
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Mon Apr 2 16:42:46 2007 +0930

    Merge branch 'master' into mpx

commit a928365b91a2e25d02291844e430db9a9a62673d
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Mar 22 21:14:11 2007 +1030

    Change XSetClientPointer API to use an XDevice instead of deviceid.

commit 4ed9be75a5d3d75782351269481db5856f7e3f60
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Mar 22 17:27:32 2007 +1030

    add GetClientPointer request and reply.
    add GetPairedPointer request and reply.
    move declaration of _XiGetDevicePresenceNotifyEvent out of the macro and wrap
    it between extern "C". Otherwise C++ code won't be able to find it.

commit 9dd8dcfa7e084d94cf3b7429eae65c93416159e3
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Fri Mar 9 15:51:07 2007 +1030

    add SetClientPointer request.
    fix typos and wrong names for access function declarations.

commit de6f3fcaffe204e8f7c811f8a1599e9ed0999f9c
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Feb 22 20:03:36 2007 +1030

    add access control requests.
    fix wrong field lengths for RegisterPairing request and reply.

commit bb5c144c53fcb03c56b247b439915d72ad284856
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Wed Feb 21 10:03:24 2007 +1030

    add xRegisterPairingClient request and reply

commit c608d82c6b5b87ddc8d14862f528bdd69f5f5b72
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Thu Feb 15 16:33:07 2007 +0200

    bump to 1.4.1

commit 157a7984f1d2e2630191b6d392bc15975a3786db
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Fri Feb 9 11:37:54 2007 +1030

    add missing XWarpDevicePointer declaration

commit 025e4cdde8267d678dc5105e11c7cd66e2ad89b5
Merge: 328cd82 ad2edb6
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Feb 8 10:55:55 2007 +1030

    Merge branch 'master'

commit 328cd827e89424292ca020d0b828154f8e4f2c17
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Thu Feb 8 10:54:34 2007 +1030

    add flags field to deviceEnterNotify struct
    add same_screen, focus to XDeviceCrossingEvent struct

commit 4ab02ccbdad477a0d7a0bee79c947f50826f1a36
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Mon Jan 29 18:18:56 2007 +1030

    add ChangePointerKeyboardPairing request
    add pairingChangedNotify event

commit b50c4424020d1b2b641ce15ee3ffea41a287a160
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Wed Jan 10 14:53:01 2007 +1030

    add deviceEnterNotify event, DeviceEnterNotify, DeviceLeaveNotify support
    add MPX Major/Minor version numbers

commit ad2edb61ffd8baf87b9ab249aa36b0c04a765f79
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Tue Jan 9 13:32:39 2007 +1030

    Fix typo in DevicePresence() macro

commit 3b84ea85ace4dc9fe1caf7d7c45c0c51ee35b4b2
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Mon Jan 8 12:33:41 2007 +1030

    	add ChangeDeviceCursor request

commit cc055ae804f4dfd8b09b8993673b4670e5cf61ce
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Wed Dec 20 13:36:06 2006 +1030

            add QueryDevicePointer request + reply
            add WarpDevicePointer request

commit a0be30da79e35e7d503c6eeb9021c2f63beb2176
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Sun Oct 22 16:40:11 2006 +0300

    DeviceAbs{Area,Calib}: properly align 32-bit types
    Decorate CARD32s and INT32s with B32.

commit b1b3dbfd9b00d47c84c213bc6b7d61c5e8c80466
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Sun Oct 22 16:30:56 2006 +0300

    DevicePresenceNotify: add deviceid field, with explanation
    Add deviceid field, and an explanation of same in XInput.h.
    deviceid is only used if a specific device changed, and control
    is non-zero if a specific control on that device changed.

commit 06ffd1e6b600d4e3f55ce7da69448a284ff5dac6
Author: Zephaniah E. Hull <warp@agamemnon.b5>
Date:   Sat Oct 21 03:58:53 2006 -0400

    DEVICE_TOUCHPAD -> DEVICE_ABS_CALIB.
    
    As it's really calibration for absolute devices, add some stuff.
    
    DEVICE_ABS_AREA
    
    Defines the area of the screen that an absolute device covers if it is sending
    core events.

commit 1fab95863efc2bbf9a5b836b3de31da4a956b4bd
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Oct 20 00:33:13 2006 +0300

    add DEVICE_ENABLE control, add core indication
    Add DEVICE_ENABLE control, which allows specific devices to be
    enabled or disabled at runtime.
    Add 'iscore' flag to DEVICE_CORE, which indicates whether or not the
    device is a virtual core device.

commit 926251a486b57197d735a426887acad6fdfd7dc6
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Tue Jul 18 11:56:37 2006 -0400

    add XExtensionKeyboard and XExtensionPointer classes
    Add two new classes of device, XExtensionKeyboard, and XExtensionPointer.

commit 7a4a2a3e733378abced0a184627adfda4ed387b9
Author: Daniel Stone <daniel.stone@nokia.com>
Date:   Mon Jul 17 19:34:45 2006 -0400

    add DevicePresenceNotify event, clean up
    Add DevicePresenceNotify event, which indicates that something in the device
    list changed (Kristian Høgsberg, Red Hat).
    Add a core event control, which toggles the sending or not of core events by
    an extended device.
    Clean up some random detritus from the MetroLink merge.

commit 6767671f502964d385aa41de3a45fb479c6330c0
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Fri Jul 14 18:56:18 2006 -0700

    renamed: .cvsignore -> .gitignore

commit 4cc2697880ae61723094dacf78ffe77d81f6e0ee
Author: Kevin E Martin <kem@kem.org>
Date:   Thu Dec 15 00:24:37 2005 +0000

    Update package version number for final X11R7 release candidate.

commit 3ade2fe8443f572abeee73b4fa8e986e4a054017
Author: Kevin E Martin <kem@kem.org>
Date:   Wed Oct 19 02:48:14 2005 +0000

    Update package version number for RC1 release.

commit 67498db2df7435d9d59eda4ac444c6560da839b3
Author: Eric Anholt <anholt@freebsd.org>
Date:   Tue Aug 2 19:19:38 2005 +0000

    Add basic .cvsignore files for proto modules.

commit 742a1eb222d662fc9247ab7c1bd337ffef01eafb
Author: Kevin E Martin <kem@kem.org>
Date:   Fri Jul 29 21:22:55 2005 +0000

    Various changes preparing packages for RC0:
    - Verify and update package version numbers as needed
    - Implement versioning scheme
    - Change bug address to point to bugzilla bug entry form
    - Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to
        reenable it)
    - Fix makedepend to use pkgconfig and pass distcheck
    - Update build script to build macros first
    - Update modular Xorg version

commit 9161a356397a07002e03cf1846d212c7154f4c52
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Sat May 21 04:04:21 2005 +0000

    Set version to 1.3.

commit 492f0a9e16bfe9cfb2c7b888b5b5e511db2bf83b
Author: Adam Jackson <ajax@nwnk.net>
Date:   Thu May 19 00:22:39 2005 +0000

    revert last change, didn't do right thing at all, sorry for the noise

commit ec71e17293b90ff5eeaa97566751fc5c3955904a
Author: Adam Jackson <ajax@nwnk.net>
Date:   Thu May 19 00:10:18 2005 +0000

    Require automake 1.7 in AM_INIT_AUTOMAKE

commit 242316c65e53d1bba244e4f35e5a93718b0ea8d0
Author: Josh Triplett <josh@speakeasy.net>
Date:   Mon May 16 03:30:03 2005 +0000

    Add COPYING file for Input.

commit 5c5945a47990b7bc077bcfdbabb6e0003cbf1659
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date:   Mon May 9 18:20:04 2005 +0000

    Change all the protonames from <extension>Ext to <extension>Proto.

commit 518f527ab685d2d082796460113bb7a9ea9bfe15
Author: Kevin E Martin <kem@kem.org>
Date:   Fri May 6 01:46:30 2005 +0000

    Initial build system files for proto module.

commit 4254b2967e3c5f256138f35de1ab49efff87220c
Author: Egbert Eich <eich@suse.de>
Date:   Fri Apr 23 18:43:06 2004 +0000

    Merging XORG-CURRENT into trunk

commit ca910a158bdc060d17cf3c00f93c82c3a6ee6f05
Author: Egbert Eich <eich@suse.de>
Date:   Sun Mar 14 08:31:35 2004 +0000

    Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004

commit 08e413c25f385e51466ef3309d880c1f63bf0a73
Author: Egbert Eich <eich@suse.de>
Date:   Wed Mar 3 12:10:54 2004 +0000

    Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004

commit 1b98dbf2eab5a8ef74afda0c669c9fdfc6461cda
Author: Egbert Eich <eich@suse.de>
Date:   Thu Feb 26 13:35:11 2004 +0000

    readding XFree86's cvs IDs

commit f276a601f272742ea8570fae4326c172cf4b8723
Author: Egbert Eich <eich@suse.de>
Date:   Thu Feb 26 09:22:27 2004 +0000

    Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004

commit 47d36cccfdf0e65848bb2e9595779501a76d6000
Author: Kaleb Keithley <kaleb@freedesktop.org>
Date:   Tue Nov 25 19:28:02 2003 +0000

    XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks

commit 4383a95e0bbc2f09394deefc453c2edd1c813d0f
Author: Kaleb Keithley <kaleb@freedesktop.org>
Date:   Fri Nov 14 16:48:42 2003 +0000

    XFree86 4.3.0.1

commit 51468f1607f0b88576628c89e85d159afbb4628e
Author: Kaleb Keithley <kaleb@freedesktop.org>
Date:   Fri Nov 14 15:54:35 2003 +0000

    R6.6 is the Xorg base-line
