xorg-server: Changes to 'ubuntu+1'
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.douglas@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.douglas@ubuntu.com> Thu, 22 Dec 2011 12:11:05 -0800
+ -- Chase Douglas <chase.douglas@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.douglas@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.douglas@ubuntu.com> Thu, 22 Dec 2011 11:19:59 -0800
+ -- Chase Douglas <chase.douglas@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.douglas@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.douglas@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.douglas@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.douglas@ubuntu.com> Thu, 22 Dec 2011 11:16:36 -0800
+ -- Chase Douglas <chase.douglas@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.douglas@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.douglas@ubuntu.com> Thu, 22 Dec 2011 11:15:16 -0800
+ -- Chase Douglas <chase.douglas@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.douglas@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 <keithp@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 <keithp@keithp.com>
+ (cherry picked from commit e7df42ab68e30588a5e32ed543b0711821daf009)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 738549e470ea1ae792840bbc50766a017de23cff
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit f75bdf7fbe757f4603e39139acc3c90538a45e15)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit bc282a9a1492137b44486e39f08b2e4cbc34f92b
+Author: Peter Hutterer <peter.hutterer@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 <carlosg@gnome.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 2bb282cd45cb8149b39d72397ef5bbcfebca11d2)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 3fc68a253e8f45bedeebf6d6a5e885cc720b68cf
+Author: Carlos Garnacho <carlosg@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 <carlosg@gnome.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ (cherry picked from commit 475ef5cc8339fac3696fe654ef683f92f0b0cc2c)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit a4d462fa2cdec99ae4444be843cd2eca8b7598ca
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ (cherry picked from commit 4551510f752624592f9201f73db89ac1325a234a)
+
+ Backported swap macros for test_values_XITouchOwnershipEvent.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 4f18583067c194b6e484405752a85708e2a1a00b
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ (cherry picked from commit 0c661dc478b4b436a3e61066d31bc510c7a08456)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit e3a9114e1e31378e96eaacf660e665ed6e50c428
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 8080d785b2c1e5791312ed0975efd1b8aea58d98)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 717ac30a73beac953c6aa5d94ca8df1bce7bb97d
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 8a32c39c00789c16006de61112627722ce548be1)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 0f9cfff4971ba9f2559312e4ab75fe576aec4b1c
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 48547068b115b1f5e5f46a70110454a2175fb9a4)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 73d9c55a86bf1361fcaabb8780fd01ddf5fc5e57
+Author: Daniel Stone <daniel@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 3b1e2035cc4740711360c845cfcdff07f7b60558)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit dcb3ee2ba3f533f2cabbce9c0c94b7acde4d5fa3
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit cd3de8324e8908955a2e4be3000c8ffee8684c68)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit d87933d11530e056181bc13f0ee6724149c3d78c
+Author: Carlos Garnacho <carlosg@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 <carlosg@gnome.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 5b169cb695bd450d7f64e3800f00c9237ee67f96)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 55e1e8691f2aa5f375a9c79bb469a3ad44ccd139
+Author: Peter Hutterer <peter.hutterer@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 <daniel@fooishbar.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 4469430b109fa2da7ba3d2fadf66eca78b7156a0)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 118d0e5841ea025f573df777491ff07abb3a616b
+Author: Peter Hutterer <peter.hutterer@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 <daniel@fooishbar.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit bb0af002dc9ad5b464dc6793aedb6d1ff65d001d)
+
+ Conflicts:
+
+ Xi/xiallowev.c
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 9507e4e1f1562c37b1877f921e288124393d7a6e
+Author: Peter Hutterer <peter.hutterer@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 <daniel@fooishbar.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 209b3d613a7bed126c81daedbad6461e4391e9e6)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 151ecb96cbb5747aa9a58dbf0d5c5afaae553025
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 1894468c2b9788efa70ef4fb5fc911711402f3a7)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 4ef22a181992b7348757f84a49909a7f6a5d12e0
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 753c4dca1e42035e29fb21458a746e484ed93ca3)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit b3af3cbbd525d432f294c1ca2e0c458dd5c41a6d
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit c3843f5498a849920ab68cca3557411ad8ab3454)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit a9b4de42cce42a4185365b449c95b7569b0f45db
+Author: Peter Hutterer <peter.hutterer@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 <daniel@fooishbar.org>
+ Co-authored-by: Chase Douglas <chase.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit e389a19a730055d4550ff708da83c78099a516fd)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 0951b7cc0c573a06600a8b0cb8a8cb423a471d77
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 634b0da9a83076d0e9e0fc44dc5dc77b0c368bc1)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 90814f2ea800c5fa3f7121d4185e47b406565119
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit dbfd7b37a0ba21899d8ebb7e0b324301bd466c49)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 2636f32908aeefeabade64ba1b81b8430cfd6653
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 593c3e2eb3da5c5fb957b68c8025dfdbe1139639)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 83ea5e519c7e233409bcc9a210d7ce74518138e6
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 5d0260cc986e8c1f0907870b851d47fd73bb1b7d)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit dbd4702466dfe0c7b6d5be3942294708dfa0df21
+Author: Chase Douglas <chase.douglas@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 6a68f97ce6704dd2ff2a50f91acd2da72c9995bd)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 125fbadadcd8dbc3dfd88a1bf7f610a5baf7a975
+Author: Daniel Stone <daniel@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 8e58ce73c8b79cb86e890369d0216cdd850c52a5)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit a02a40fd7ac661737d895dc1852c74a8a84e5b26
+Author: Daniel Stone <daniel@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit c18a173cf5f53778356c5e8f25ab132956f8c27d)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 6ca95a9524b0ebd47eab7e0b8b016014ff65ed2f
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 40475261eacabb79a824db1138407a9d0f9fe37f)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 697dfd87140dac9c30d137631869287036bc938c
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Oct 26 09:08:17 2011 +1000
+
+ Support XI 2.2 officially
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit b274c472a5ad700aea5fe651d677e8cb34ffc976)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 88280f374162c8cca3e494226826cbcc27cdec86
+Author: Daniel Stone <daniel@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit d2af968cb65873780a6e61342d5d3c23b9654e2a)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 4bcad5fc184ef3c22a7e0f417dc87ccb453d0791
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit f3df3ad668fcd417ffb5afa3bea79a73a348bc1a)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 61770844df70cffd9611e780f48396bbb929382a
+Author: Daniel Stone <daniel@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.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 9ce8463a3334f76f128bb35b541aa6e67b4e4374)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit c1846423c3f36f3760f733bef69f841ad6417c93
+Author: Daniel Stone <daniel@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit bec51f5ec6575a1971ae5371a4b6d8563933032c)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit f63fb7517d9dc41abb6d666353f84f7b334b00ac
+Author: Peter Hutterer <peter.hutterer@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 <daniel@fooishbar.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 5c63dc6dbcbebbb19d79575a9f1ec9878e6537f1)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit fc1f1f21580d76a2aacdf2fe8d3896e104d307f7
+Author: Peter Hutterer <peter.hutterer@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 <daniel@fooishbar.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 7f8127d203394cae45c3ded0d063030d7c5fdb70)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 5550bcd5b377bf67b2b79ce6f1447b86bdbd98f9
+Author: Peter Hutterer <peter.hutterer@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 <daniel@fooishbar.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 758bc57ba5a89f765d83f0b169aa09e79a89bf89)
+
+ Conflicts:
+
+ test/Makefile.am
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 378fb64a547a6ad2be4451a7aa634a3c91038644
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 1a133eb8b1ddbe0da7c2fbf7f6a686ec4512373e)
+
+ Conflicts:
+
+ hw/xfree86/common/xf86Module.h
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 508df2ddd779504c3fef213e2a2d1a1ed61104c1
+Author: Daniel Stone <daniel@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.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 3fb258ca28850c998097b55884774cb95f476f69)
+
+ Backported swap macros for SwapTouchInfo.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit db04a6a8ea22c43daea1c26892694d89e7644c1c
+Author: Daniel Stone <daniel@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 098b837440e40bbc485368ec9658e12efd6ef581)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 2e040f9bb00c8dbeda5cfbf768c618e23c2a25b1
+Author: Peter Hutterer <peter.hutterer@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 <daniel@fooishbar.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 93c2a1628a9f6e7480d834bf55c080997fd18911)
+
+ Backported swap macros in STouchOwnershipEvent.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit bb67773ce0ee49f80de8828777285780a64ea60d
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 3390d3fc0347947796aa245d70fefecf59b7bfe4)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit e7298a1fefc4b6083d6c5a45bf1f992e4e6c2233
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 84db813b9db34975b5fe288a8a551bb98f0cc1c1)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 1274c19c51b08cb8ad42f1655cf13112c06ad7ca
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 92a5862d0c120b009a688237ec7142b7c21ae272)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 092f816c7f36fd22b5ec09a720327474c9ac5a16
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 956a97487beada8cf5f354550ff779635cc64361)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 73c74a9b5ec4e22698a5ba1e31e84c7305160054
+Author: Peter Hutterer <peter.hutterer@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.hutterer@who-t.net>
+ Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 92c6c0c1d2d6a8882ed97b0e7f2952978ee5ce82)
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 7452df21f4131365efd9fffd7dfff03bb1ad965a
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Dec 14 10:41:17 2011 +1000
+
+ Require inputproto 2.1.99.3
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ (cherry picked from commit 731b1db2fcc82c0a8afd28d7f28363c1db0a20ce)
Reply to: