summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (from parent 1: 364b38f)
raw | patch | inline | side by side (from parent 1: 364b38f)
author | Chase Douglas <chase.douglas@ubuntu.com> | |
Wed, 4 Apr 2012 02:04:01 +0000 (19:04 -0700) | ||
committer | Xavier Boudet <x-boudet@ti.com> | |
Wed, 4 Apr 2012 11:39:21 +0000 (11:39 +0000) |
debian/changelog | patch | blob | history | |
debian/patches/505_query_pointer_touchscreen.patch | [new file with mode: 0644] | patch | blob |
debian/patches/series | patch | blob | history |
diff --git a/debian/changelog b/debian/changelog
index bd2be2cef5da58c7bc78ca13b89f199195431a8f..8453b8e5168ffd9c1899f1288d18f4767cbe4b9c 100644 (file)
--- a/debian/changelog
+++ b/debian/changelog
+xorg-server (2:1.11.4-0ubuntu9) precise; urgency=low
+
+ * Report button press when touchscreen touch is active (LP: #972985)
+ - Add temporary patch 505_query_pointer_touchscreen.patch
+ - Fixes some compiz/unity touchscreen issues
+
+ -- Chase Douglas <chase.douglas@ubuntu.com> Tue, 03 Apr 2012 19:04:01 -0700
+
xorg-server (2:1.11.4-0ubuntu8) precise; urgency=low
[ Chase Douglas ]
diff --git a/debian/patches/505_query_pointer_touchscreen.patch b/debian/patches/505_query_pointer_touchscreen.patch
--- /dev/null
@@ -0,0 +1,32 @@
+From 3d6bd9fd8bd565f4c0513b2649a678109f60bd27 Mon Sep 17 00:00:00 2001
+From: Chase Douglas <chase.douglas@canonical.com>
+Date: Tue, 3 Apr 2012 17:18:43 -0700
+Subject: [PATCH] Use touch state when querying pointer through core protocol
+
+QueryPointer is part of the core protocol. As such, it knows nothing
+about touch devices. Touches are converted to button 1 press, pointer
+motion, and button 1 release for core clients, so we should ensure the
+pointer state mask has button 1 set when XQueryPointer is used.
+
+Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+---
+ dix/events.c | 3 +--
+ 1 files changed, 1 insertions(+), 2 deletions(-)
+
+diff --git a/dix/events.c b/dix/events.c
+index 4470947..b9f9cfa 100644
+--- a/dix/events.c
++++ b/dix/events.c
+@@ -5098,8 +5098,7 @@ ProcQueryPointer(ClientPtr client)
+ memset(&rep, 0, sizeof(xQueryPointerReply));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+- rep.mask = mouse->button ? (mouse->button->state) : 0;
+- rep.mask |= XkbStateFieldFromRec(&keyboard->key->xkbInfo->state);
++ rep.mask = event_get_corestate(mouse, keyboard);
+ rep.length = 0;
+ rep.root = (GetCurrentRootWindow(mouse))->drawable.id;
+ rep.rootX = pSprite->hot.x;
+--
+1.7.9.1
+
diff --git a/debian/patches/series b/debian/patches/series
index 50bfb358b99fe0fa2ebbe553818e5369062ec3ac..120a81a351b4d83ef751bd2e039be417c15b8e4f 100644 (file)
--- a/debian/patches/series
+++ b/debian/patches/series
502_indirect_touch_window_set.patch
503_fix_mouse_warp.patch
504_implement_passive_touch_ungrab.patch
+505_query_pointer_touchscreen.patch