ChangeLog | 840 +++++++++++++++++++++++++++ Xi/exevents.c | 951 ++++++++++++++++++++++++++++++ Xi/extinit.c | 28 Xi/xiallowev.c | 53 + Xi/xipassivegrab.c | 27 Xi/xiquerydevice.c | 41 + Xi/xiquerydevice.h | 1 Xi/xiselectev.c | 48 + configure.ac | 2 debian/changelog | 10 debian/control | 4 debian/patches/220_test-loop.patch | 36 + debian/patches/series | 1 debian/serverminver | 2 dix/Makefile.am | 1 dix/devices.c | 87 ++ dix/eventconvert.c | 63 +- dix/events.c | 64 +- dix/getevents.c | 352 ++++++++++- dix/grabs.c | 3 dix/inpututils.c | 5 dix/touch.c | 982 ++++++++++++++++++++++++++++++++ dix/window.c | 9 hw/xfree86/common/xf86Module.h | 2 hw/xfree86/common/xf86Xinput.c | 24 hw/xfree86/common/xf86Xinput.h | 3 include/dix.h | 7 include/events.h | 1 include/eventstr.h | 30 include/exevents.h | 12 include/input.h | 87 ++ include/inputstr.h | 55 + include/misc.h | 4 include/protocol-versions.h | 2 mi/mieq.c | 37 - test/Makefile.am | 3 test/input.c | 17 test/touch.c | 270 ++++++++ test/xi2/protocol-eventconvert.c | 106 +++ test/xi2/protocol-xipassivegrabdevice.c | 2 test/xi2/protocol-xiselectevents.c | 38 - 41 files changed, 4208 insertions(+), 102 deletions(-)
New commits: commit 81152a3e25371e7b6b8e6402fb8714f1fedd1d2f Author: Chase Douglas <chase.doug...@canonical.com> Date: Thu Dec 22 12:21:18 2011 -0800 releasing version 2:1.11.3-0ubuntu1 diff --git a/debian/changelog b/debian/changelog index 1f2189e..92ca608 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xorg-server (2:1.11.3-0ubuntu1) UNRELEASED; urgency=low +xorg-server (2:1.11.3-0ubuntu1) precise; urgency=low * New upstream bugfix release * Merge in input changes from upstream master through commit e7df42a @@ -7,7 +7,7 @@ xorg-server (2:1.11.3-0ubuntu1) UNRELEASED; urgency=low * Add temporary patch for fixing a test case loop - Add 220_test-loop.patch - -- Chase Douglas <chase.doug...@ubuntu.com> Thu, 22 Dec 2011 12:11:05 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Thu, 22 Dec 2011 12:11:39 -0800 xorg-server (2:1.11.2.902-1ubuntu1) precise; urgency=low commit 23f19def5b75148cee93305c19ba3d320beb2a83 Author: Chase Douglas <chase.doug...@canonical.com> Date: Thu Dec 22 12:11:37 2011 -0800 Add temporary patch for fixing a test case loop * Add temporary patch for fixing a test case loop - Add 220_test-loop.patch diff --git a/debian/changelog b/debian/changelog index c478499..1f2189e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,8 +4,10 @@ xorg-server (2:1.11.3-0ubuntu1) UNRELEASED; urgency=low * Merge in input changes from upstream master through commit e7df42a * Bump input ABI * Bump x11proto-input-dev build dependency version + * Add temporary patch for fixing a test case loop + - Add 220_test-loop.patch - -- Chase Douglas <chase.doug...@ubuntu.com> Thu, 22 Dec 2011 11:19:59 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Thu, 22 Dec 2011 12:11:05 -0800 xorg-server (2:1.11.2.902-1ubuntu1) precise; urgency=low diff --git a/debian/patches/220_test-loop.patch b/debian/patches/220_test-loop.patch new file mode 100644 index 0000000..476e165 --- /dev/null +++ b/debian/patches/220_test-loop.patch @@ -0,0 +1,36 @@ +From 5750b6dbd015529e2c7b03755c8235ee3c9e6ff7 Mon Sep 17 00:00:00 2001 +From: Chase Douglas <chase.doug...@canonical.com> +Date: Thu, 22 Dec 2011 11:55:34 -0800 +Subject: [PATCH] test/xi2: Really fix infinite loop in + test_convert_XITouchOwnershipEvent + +long i; +for (i = 1; ; i <<= 1) + if (i == (1 << 31)) + break; + +(1 << 31) is compiled as an int, and thus is equal to -2147483648. We +are trying to compare it against a long, which on 64-bit machines is +2147483648. This results in an infinite loop. + +Signed-off-by: Chase Douglas <chase.doug...@canonical.com> +--- + test/xi2/protocol-eventconvert.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/test/xi2/protocol-eventconvert.c b/test/xi2/protocol-eventconvert.c +index faa9f40..bf1493c 100644 +--- a/test/xi2/protocol-eventconvert.c ++++ b/test/xi2/protocol-eventconvert.c +@@ -1005,7 +1005,7 @@ test_convert_XITouchOwnershipEvent(void) + { + in.touchid = i; + test_XITouchOwnershipEvent(&in); +- if (i == (1 << 31)) ++ if (i == ((long)1 << 31)) + break; + } + } +-- +1.7.5.4 + diff --git a/debian/patches/series b/debian/patches/series index a37033e..aef2d0d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -27,3 +27,4 @@ 208_switch_on_release.diff 209_add_legacy_bgnone_option.patch 214_glx_dri_searchdirs.patch +220_test-loop.patch commit 55e89ebdfe50e6bda5cf4756642435ec4e9e5d0a Author: Chase Douglas <chase.doug...@canonical.com> Date: Thu Dec 22 11:20:22 2011 -0800 Bump x11proto-input-dev build dependency version diff --git a/debian/changelog b/debian/changelog index 1a3fdf0..c478499 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,8 +3,9 @@ xorg-server (2:1.11.3-0ubuntu1) UNRELEASED; urgency=low * New upstream bugfix release * Merge in input changes from upstream master through commit e7df42a * Bump input ABI + * Bump x11proto-input-dev build dependency version - -- Chase Douglas <chase.doug...@ubuntu.com> Thu, 22 Dec 2011 11:16:36 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Thu, 22 Dec 2011 11:19:59 -0800 xorg-server (2:1.11.2.902-1ubuntu1) precise; urgency=low diff --git a/debian/control b/debian/control index b2c0298..e334140 100644 --- a/debian/control +++ b/debian/control @@ -41,7 +41,7 @@ Build-Depends: x11proto-xf86vidmode-dev (>= 2.2.99.1), xtrans-dev (>= 1.2.2), libxau-dev (>= 1:1.0.5-2), - x11proto-input-dev (>= 2.0.1-1ubuntu1), + x11proto-input-dev (>= 2.1.99.4), x11proto-dri2-dev (>= 2.6), libxdmcp-dev (>= 1:0.99.1), libxfont-dev (>= 1:1.4.2), @@ -159,7 +159,7 @@ Architecture: any Depends: libpixman-1-dev (>= 0.21.8), x11proto-core-dev (>= 7.0.22), - x11proto-input-dev (>= 2.0.1-1ubuntu1), + x11proto-input-dev (>= 2.1.99.4), x11proto-xext-dev (>= 7.1.99), x11proto-video-dev, x11proto-randr-dev (>= 1.2.99.3), commit 1b94b9ebc65cf15f4ec5d8e7973bdbc8a1de6f9c Author: Chase Douglas <chase.doug...@canonical.com> Date: Thu Dec 22 11:16:45 2011 -0800 Bump input ABI diff --git a/debian/changelog b/debian/changelog index c9ed0a2..1a3fdf0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,8 +2,9 @@ xorg-server (2:1.11.3-0ubuntu1) UNRELEASED; urgency=low * New upstream bugfix release * Merge in input changes from upstream master through commit e7df42a + * Bump input ABI - -- Chase Douglas <chase.doug...@ubuntu.com> Thu, 22 Dec 2011 11:15:16 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Thu, 22 Dec 2011 11:16:36 -0800 xorg-server (2:1.11.2.902-1ubuntu1) precise; urgency=low diff --git a/debian/serverminver b/debian/serverminver index 771188c..9a618f9 100644 --- a/debian/serverminver +++ b/debian/serverminver @@ -1,3 +1,3 @@ 2:1.10.99.901 ABI_VIDEODRV_VERSION:11.0 -ABI_XINPUT_VERSION:15.0 +ABI_XINPUT_VERSION:16.0 commit d20a5de6aea1106503d5cd4222894307a591833d Author: Chase Douglas <chase.doug...@canonical.com> Date: Thu Dec 22 11:15:54 2011 -0800 Merge in input changes from upstream master through commit e7df42a diff --git a/ChangeLog b/ChangeLog index 374b066..c1fd54b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,843 @@ +commit 0c292448ebcfcc6e5072efada55f8135b60b7795 +Author: Keith Packard <kei...@keithp.com> +Date: Thu Dec 22 09:35:51 2011 -0800 + + test/xi2: Fix infinite loop in test_convert_XITouchOwnershipEvent + + The touchid test was using a loop like: + + for(i = 1; i < 0xffffffff; i <<= 1) + + When 'i' is a 32-bit variable, this infinite loops as it goes from + 0x80000000 to 0. 'i' is declared as 'long', which is 32-bit in 32-bit mode. + + Signed-off-by: Keith Packard <kei...@keithp.com> + (cherry picked from commit e7df42ab68e30588a5e32ed543b0711821daf009) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 738549e470ea1ae792840bbc50766a017de23cff +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Dec 22 10:00:15 2011 +1000 + + test: fix grab mode value tests for new XIGrabModeTouch + + This test checks that last-valid-mode + 1 returns a BadValue. With the + addition of XIGrabModeTouch, that value has changed - sync it up again. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit f75bdf7fbe757f4603e39139acc3c90538a45e15) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit bc282a9a1492137b44486e39f08b2e4cbc34f92b +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 21 14:45:27 2011 +1000 + + Xi: only activate the device grab if we don't already have one + + If the device is already grabbed, don't activate the passive grab, it screws + with our event masks. Just deliver to the grabbing client instead. + + Reported-by: Carlos Garnacho <carl...@gnome.org> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 2bb282cd45cb8149b39d72397ef5bbcfebca11d2) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 3fc68a253e8f45bedeebf6d6a5e885cc720b68cf +Author: Carlos Garnacho <carl...@gnome.org> +Date: Wed Dec 21 01:08:40 2011 +0100 + + dix: fix xi2 mask/filter when delivering grabbed events + + Signed-off-by: Carlos Garnacho <carl...@gnome.org> + Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit 475ef5cc8339fac3696fe654ef683f92f0b0cc2c) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit a4d462fa2cdec99ae4444be843cd2eca8b7598ca +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Mon Dec 19 09:08:05 2011 +1000 + + test: add a basic test for ownership event values + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit 4551510f752624592f9201f73db89ac1325a234a) + + Backported swap macros for test_values_XITouchOwnershipEvent. + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 4f18583067c194b6e484405752a85708e2a1a00b +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Mon Dec 19 08:31:37 2011 +1000 + + test: drop printfs from protocol-eventconvert.c + + The test outputs are noisy enough, no need having these here too. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit 0c661dc478b4b436a3e61066d31bc510c7a08456) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit e3a9114e1e31378e96eaacf660e665ed6e50c428 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 21 11:11:48 2011 +1000 + + dix: remove requirement for client_id be the first element + + Leftover code from an earlier version of GetTouchEvents. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 8080d785b2c1e5791312ed0975efd1b8aea58d98) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 717ac30a73beac953c6aa5d94ca8df1bce7bb97d +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Dec 15 07:59:06 2011 +1000 + + mi: handle screen switching on pointer emulated touch events + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 8a32c39c00789c16006de61112627722ce548be1) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 0f9cfff4971ba9f2559312e4ab75fe576aec4b1c +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Dec 15 07:57:47 2011 +1000 + + mi: split move to new screen logic to a helper function + + No functional changes. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 48547068b115b1f5e5f46a70110454a2175fb9a4) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 73d9c55a86bf1361fcaabb8780fd01ddf5fc5e57 +Author: Daniel Stone <dan...@fooishbar.org> +Date: Thu Dec 15 07:52:28 2011 +1000 + + dix: Remove touch grabs if the grab disappears + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 3b1e2035cc4740711360c845cfcdff07f7b60558) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit dcb3ee2ba3f533f2cabbce9c0c94b7acde4d5fa3 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Dec 15 07:48:49 2011 +1000 + + dix: hook up passive grabs and pointer emulated passive grabs + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit cd3de8324e8908955a2e4be3000c8ffee8684c68) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit d87933d11530e056181bc13f0ee6724149c3d78c +Author: Carlos Garnacho <carl...@gnome.org> +Date: Tue Dec 13 15:41:23 2011 +0100 + + Xi: assign correct grab_mode/other_device_mode in XI2 passive grabs + + CreateGrab() expects the keyboard mode to be stored in grab_mode, and the + pointer mode in other_device_mode, so respect this in passive XI2 grabs, + and switch modes if needed. + + Signed-off-by: Carlos Garnacho <carl...@gnome.org> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 5b169cb695bd450d7f64e3800f00c9237ee67f96) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 55e1e8691f2aa5f375a9c79bb469a3ad44ccd139 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Dec 15 07:42:12 2011 +1000 + + Xi: add the hooks for passive touch grabs + + Co-authored-by: Daniel Stone <dan...@fooishbar.org> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 4469430b109fa2da7ba3d2fadf66eca78b7156a0) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 118d0e5841ea025f573df777491ff07abb3a616b +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Dec 15 07:21:38 2011 +1000 + + Xi: handle grab accept/reject requests + + Consists mostly of generating an ownership event and processing it. + + Co-authored-by: Daniel Stone <dan...@fooishbar.org> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit bb0af002dc9ad5b464dc6793aedb6d1ff65d001d) + + Conflicts: + + Xi/xiallowev.c + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 9507e4e1f1562c37b1877f921e288124393d7a6e +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Tue Dec 20 16:34:43 2011 -0800 + + Xi: hook up touch ownership handling + + Ownership changes don't get processed directly when they happen, instead the + DIX submits an ownership event which goes through ProcessTouchEvents and + ProcessTouchOwnershipEvents. + Then on the required events are generated and sent to clients. + + Co-authored-by: Daniel Stone <dan...@fooishbar.org> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 209b3d613a7bed126c81daedbad6461e4391e9e6) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 151ecb96cbb5747aa9a58dbf0d5c5afaae553025 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Tue Dec 20 16:33:33 2011 -0800 + + Xi: hook up pointer emulation for emulating touches + + Includes a hack for implicit grab activation, because integrating this + requires a larger rewrite and I'm not sleeping enough as it is. + Right now, we deliver the event and check before/after if there is an + implicit grab on. If one activated, then store the event in the grab and + switch the listener type to a grab listener. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 1894468c2b9788efa70ef4fb5fc911711402f3a7) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 4ef22a181992b7348757f84a49909a7f6a5d12e0 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 17:04:38 2011 +1000 + + dix: add touch to pointer event conversion helper + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 753c4dca1e42035e29fb21458a746e484ed93ca3) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit b3af3cbbd525d432f294c1ca2e0c458dd5c41a6d +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 17:02:30 2011 +1000 + + dix: add real_event parameter to ActivatePassiveGrab + + For touch events with pointer emulation, the event that triggers the grab + (the pointer event) is not the same as the actual event (the touch event). + For replaying, we need to store the real event then. + + No effective changes at this point, for the current caller event and + real_event are identical. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit c3843f5498a849920ab68cca3557411ad8ab3454) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit a9b4de42cce42a4185365b449c95b7569b0f45db +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Tue Dec 20 16:32:52 2011 -0800 + + Process and deliver touch events + + Does not include pointer emulation handling. + Does include partial ownership handling but not the actual processing of + ownership events. + + Note: this commit is a retroactive commit extracted from a series of ~50 + commits and may thus appear a bit more complicated than what you'd write out + from scratch. + + Pointer processing tree is roughly: + - ProcessOtherEvents + - ProcessTouchEvents + - DeliverTouchEvents + - DeliverTouchBeginEvent|DeliverTouchEndEvent|... + - DeliverOneTouchEvent + + Also hooks up the event history playing to the right function now. + + Co-authored-by: Daniel Stone <dan...@fooishbar.org> + Co-authored-by: Chase Douglas <chase.doug...@canonical.com> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit e389a19a730055d4550ff708da83c78099a516fd) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 0951b7cc0c573a06600a8b0cb8a8cb423a471d77 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Dec 15 07:53:19 2011 +1000 + + dix: set core and button state based on the touch state + + If a pointer-emulating touch caused a button to be logically down, set that + state in the input events. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 634b0da9a83076d0e9e0fc44dc5dc77b0c368bc1) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 90814f2ea800c5fa3f7121d4185e47b406565119 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 16:33:05 2011 +1000 + + Xi: make UpdateDeviceState aware of touch events + + Update the logical button state for pointer-emulating events. Button state + must be kept separate from the ButtonClassRec to avoid clearing the button + state on a touch end if there is a physical button still down. + + And obviously don't change the button state if we're currently replaying the + event history for some client. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit dbfd7b37a0ba21899d8ebb7e0b324301bd466c49) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 2636f32908aeefeabade64ba1b81b8430cfd6653 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 16:30:05 2011 +1000 + + dix: add TouchResourceIsOwner helper function + + The first listener in the sequence is the owner of the touch sequence. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 593c3e2eb3da5c5fb957b68c8025dfdbe1139639) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 83ea5e519c7e233409bcc9a210d7ce74518138e6 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 16:24:17 2011 +1000 + + dix: add helper functions for adding/removing touch listeners + + The DIX will call TouchSetupListeners once for a new touch. After that + the listener list remains static, with listeners only dropping out when they + either reject the grab or disappear. + + Exception: if grabs activate they are prefixed to the listeners. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 5d0260cc986e8c1f0907870b851d47fd73bb1b7d) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit dbd4702466dfe0c7b6d5be3942294708dfa0df21 +Author: Chase Douglas <chase.doug...@canonical.com> +Date: Wed Dec 14 16:26:04 2011 +1000 + + dix: add TouchGetPointerEventType helper function + + Returns the respective pointer event type for a given touch event type. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 6a68f97ce6704dd2ff2a50f91acd2da72c9995bd) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 125fbadadcd8dbc3dfd88a1bf7f610a5baf7a975 +Author: Daniel Stone <dan...@fooishbar.org> +Date: Wed Dec 14 16:53:04 2011 +1000 + + dix: when a window disappears, remove it from the touch sprite trace + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 8e58ce73c8b79cb86e890369d0216cdd850c52a5) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit a02a40fd7ac661737d895dc1852c74a8a84e5b26 +Author: Daniel Stone <dan...@fooishbar.org> +Date: Wed Dec 14 16:03:01 2011 +1000 + + dix: add helper functions to build up/verify the sprite trace + + Touch events' sprite trace stays the same for the duration of the touch + sequence. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit c18a173cf5f53778356c5e8f25ab132956f8c27d) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 6ca95a9524b0ebd47eab7e0b8b016014ff65ed2f +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 15:56:05 2011 +1000 + + dix: add touch event history helper functions + + If touch client has not registered for ownership events and a grab above + that client is rejected, the client needs to receive the complete event + history. + + The history currently doesn't really do fancy overflow handling. We assume + that the first TOUCH_HISTORY_SIZE events are the important ones and anything + after that is dropped. If that is a problem, fix the client that takes > 100 + event to decide whether to accept or reject. + + Events marked with TOUCH_CLIENT_ID or TOUCH_REPLAYING must not be stored in + the history, they are events created by the DIX to comply with the protocol. + Any such event should already be in the history anyway. + + A fixme in this patch: we don't have a function to actually deliver the + event yet. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 40475261eacabb79a824db1138407a9d0f9fe37f) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 697dfd87140dac9c30d137631869287036bc938c +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Oct 26 09:08:17 2011 +1000 + + Support XI 2.2 officially + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit b274c472a5ad700aea5fe651d677e8cb34ffc976) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 88280f374162c8cca3e494226826cbcc27cdec86 +Author: Daniel Stone <dan...@fooishbar.org> +Date: Wed Dec 14 15:45:19 2011 +1000 + + Xi: allow selecting for touch events + + Selecting for any of XI_TouchBegin/Update/End/Ownership requires the three + bits for begin/update/end to be set. + + Only one client at a time may select for XI_TouchBegin event + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit d2af968cb65873780a6e61342d5d3c23b9654e2a) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 4bcad5fc184ef3c22a7e0f417dc87ccb453d0791 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 16:45:04 2011 +1000 + + dix: handle DIX-submitted touch events + + The DIX needs to submit touch events for e.g. TouchEnd after an + acceptance/rejection. These have the TOUCH_CLIENT_ID flag set. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit f3df3ad668fcd417ffb5afa3bea79a73a348bc1a) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 61770844df70cffd9611e780f48396bbb929382a +Author: Daniel Stone <dan...@fooishbar.org> +Date: Wed Dec 14 15:41:07 2011 +1000 + + dix: generate touchpoints from driver-submitted data + + The touchpoints are generated, enqueued but not processed since we don't + handle them in the event processing yet. + + Co-authored-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 9ce8463a3334f76f128bb35b541aa6e67b4e4374) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit c1846423c3f36f3760f733bef69f841ad6417c93 +Author: Daniel Stone <dan...@fooishbar.org> +Date: Wed Dec 14 15:29:48 2011 +1000 + + dix: add GetTouchOwnership event API + + No callers yet. This API is not to be used by drivers, it's an API for the + DIX which will create ownership events mainly on touch acceptance/rejection. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit bec51f5ec6575a1971ae5371a4b6d8563933032c) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit f63fb7517d9dc41abb6d666353f84f7b334b00ac +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 14:57:46 2011 +1000 + + dix: add DIX API to create touchpoints + + The DIX touchpoints are the ones used for event processing. + + Co-authored-by: Daniel Stone <dan...@fooishbar.org> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 5c63dc6dbcbebbb19d79575a9f1ec9878e6537f1) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit fc1f1f21580d76a2aacdf2fe8d3896e104d307f7 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 14:53:52 2011 +1000 + + dix: if we run out of space for new touch events, resize the queue + + The SIGIO handler forces us to drop the current touch and schedule the + actual resize for later. Should not happen if the device sets up the + TouchClassRec with the correct number of touchpoints. + + Co-authored-by: Daniel Stone <dan...@fooishbar.org> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 7f8127d203394cae45c3ded0d063030d7c5fdb70) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 5550bcd5b377bf67b2b79ce6f1447b86bdbd98f9 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 14:48:56 2011 +1000 + + dix: add helper functions to create DDX touch recs + + DDX touch points are the ones that keep records of the driver-submitted + touchpoints. They're unaffected by the grab state and terminate on a + TouchEnd submitted by the driver. + + The client ID assigned is server-global. + + Since drivers usually submit in the SIGIO handler, we cannot allocate in the + these functions. + + Co-authored-by: Daniel Stone <dan...@fooishbar.org> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 758bc57ba5a89f765d83f0b169aa09e79a89bf89) + + Conflicts: + + test/Makefile.am + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 378fb64a547a6ad2be4451a7aa634a3c91038644 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Dec 15 08:30:02 2011 +1000 + + xfree86: bump the input ABI for the touch changes + + New additions to the API: + - InitTouchClassDeviceStruct + - xf86PostTouchEvent + + Changes to the ABI: + - DeviceIntRec now contains a TouchClassPtr + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 1a133eb8b1ddbe0da7c2fbf7f6a686ec4512373e) + + Conflicts: + + hw/xfree86/common/xf86Module.h + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 508df2ddd779504c3fef213e2a2d1a1ed61104c1 +Author: Daniel Stone <dan...@fooishbar.org> +Date: Wed Dec 14 12:46:40 2011 +1000 + + input: add a TouchClassRec to the devices + + These structs will be used to store touch-related data, events and + information. + + Drivers must call InitTouchClassDeviceStruct to set up a multi-touch capable + device. + + Touchpoints for the DDX and the DIX are handled separately - touchpoints + submitted by the driver/DDX will be stored in the DDXTouchPointInfoRec. Once + the touchpoints are processed by the DIX, new TouchPointInfoRecs are created + and stored. This process is already used for pointer events with the + last.valuators field. + + Note that this patch does not actually add the generation of touch events, + only the required structs. + + TouchListeners are (future) recipients of touch or emulated pointer events. + Each listener is in a state, depending which event they have already + received. The type of listener defines how the listener got to be one. + + Co-authored-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 3fb258ca28850c998097b55884774cb95f476f69) + + Backported swap macros for SwapTouchInfo. + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit db04a6a8ea22c43daea1c26892694d89e7644c1c +Author: Daniel Stone <dan...@fooishbar.org> +Date: Wed Dec 14 14:41:48 2011 +1000 + + Add the touch input API stubs + + xf86PostTouchEvent is the driver API to submit touch events to the server. + This API doesn't do anything yet though but now we can at least bump the + API. + + For valuators, drivers should use the existing xf86InitValuatorAxisStruct + function. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 098b837440e40bbc485368ec9658e12efd6ef581) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 2e040f9bb00c8dbeda5cfbf768c618e23c2a25b1 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 13:51:12 2011 +1000 + + Hook up the ownership events + + This patch applies most of the protocol conversions and the internal event + type for ownership events. + + Note that ownership events are generated by the DIX only, they do not pass + through the event queue. + + Co-authored-by: Daniel Stone <dan...@fooishbar.org> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 93c2a1628a9f6e7480d834bf55c080997fd18911) + + Backported swap macros in STouchOwnershipEvent. + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit bb67773ce0ee49f80de8828777285780a64ea60d +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 13:21:59 2011 +1000 + + Xi: process raw touch events + + No-one can generated them yet, but if they could, we'd be processing them + like there was no tomorrow. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 3390d3fc0347947796aa245d70fefecf59b7bfe4) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit e7298a1fefc4b6083d6c5a45bf1f992e4e6c2233 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 12:45:28 2011 +1000 + + Hook up TouchBegin/Update/End events + + The are the same as device events internally but require the touch ID + separately from the detail.button field (the protocol uses the detail field + for the touch id). + For simpler integration of pointer emulation we need to set the + detail.button field while keeping the touchid around. + + Add the three new touch event types to the various places in the server + where they need to be handled. The actual handling of the events is somewhat + more complicated in most places. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 84db813b9db34975b5fe288a8a551bb98f0cc1c1) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 1274c19c51b08cb8ad42f1655cf13112c06ad7ca +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 15:00:33 2011 +1000 + + include: add a bunch of flags for GetTouchEvent processing + + TOUCH_CLIENT_ID is set if the touch was generated from a client ID instead + of a DDX/driver touch ID. i.e. submitted by the dix. + + TOUCH_END is a special flag that's required to force the touch to end. + Since the protocol with grab replaying and pointer emulation is rather + complex, it's quite hard to know otherwise when a touch sequence should + really die. + + The others do what it says on the imaginary box. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 92a5862d0c120b009a688237ec7142b7c21ae272) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 092f816c7f36fd22b5ec09a720327474c9ac5a16 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 12:19:27 2011 +1000 + + include: RawTouchEnd is the last event now + + Plus, use the actual definition from the protocol instead of the numeric + values. Turns out not everyone knows the protocol event IDs by heart. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 956a97487beada8cf5f354550ff779635cc64361) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 73c74a9b5ec4e22698a5ba1e31e84c7305160054 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 12:15:29 2011 +1000 + + tests: update for touch support + + Touch event mask must be set for all three event types. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 92c6c0c1d2d6a8882ed97b0e7f2952978ee5ce82) + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + +commit 7452df21f4131365efd9fffd7dfff03bb1ad965a +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Dec 14 10:41:17 2011 +1000 + + Require inputproto 2.1.99.3 + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com> + Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + (cherry picked from commit 731b1db2fcc82c0a8afd28d7f28363c1db0a20ce) -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1rdpea-00050e...@vasks.debian.org