Make tablet detection work with new wacom drivers

This commit is contained in:
Than Ngo 2010-03-05 13:59:37 +00:00
parent 9d4b9accf8
commit 20d70c201a
2 changed files with 75 additions and 2 deletions

View File

@ -0,0 +1,69 @@
From f1e39e7dea8634695263435f0bf912ce19c43195 Mon Sep 17 00:00:00 2001
From: Thomas Zander <t.zander@nokia.com>
Date: Thu, 4 Mar 2010 13:16:09 +0100
Subject: [PATCH] Make tablet detection work with new wacom drivers
wacom driver fixed a bug in assigning atom names where it messed
up the device names. Their solution apparently renamed the atoms
The type names used now are "STYLUS", "CURSOR", "ERASER", "PAD"
and "TOUCH" for each respective device. This change detects
those as our tablet input devices.
Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
Task-number: QTBUG-8599
---
src/gui/kernel/qapplication_x11.cpp | 9 +++++++--
src/gui/kernel/qt_x11_p.h | 3 +++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index 121e9ec..25a7750 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -320,9 +320,14 @@ static const char * x11_atomnames = {
"_XEMBED\0"
"_XEMBED_INFO\0"
+ // Wacom old. (before version 0.10)
"Wacom Stylus\0"
"Wacom Cursor\0"
"Wacom Eraser\0"
+
+ // Tablet
+ "STYLUS\0"
+ "ERASER\0"
};
Q_GUI_EXPORT QX11Data *qt_x11Data = 0;
@@ -2366,12 +2371,12 @@ void qt_init(QApplicationPrivate *priv, int,
gotStylus = true;
}
#else
- if (devs->type == ATOM(XWacomStylus)) {
+ if (devs->type == ATOM(XWacomStylus) || devs->type == ATOM(XTabletStylus)) {
deviceType = QTabletEvent::Stylus;
if (wacomDeviceName()->isEmpty())
wacomDeviceName()->append(devs->name);
gotStylus = true;
- } else if (devs->type == ATOM(XWacomEraser)) {
+ } else if (devs->type == ATOM(XWacomEraser) || devs->type == ATOM(XTabletEraser)) {
deviceType = QTabletEvent::XFreeEraser;
gotEraser = true;
}
diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h
index d110084..14e04bb 100644
--- a/src/gui/kernel/qt_x11_p.h
+++ b/src/gui/kernel/qt_x11_p.h
@@ -675,6 +675,9 @@ struct QX11Data
XWacomCursor,
XWacomEraser,
+ XTabletStylus,
+ XTabletEraser,
+
NPredefinedAtoms,
_QT_SETTINGS_TIMESTAMP = NPredefinedAtoms,
--
1.6.1

View File

@ -13,7 +13,7 @@ Summary: Qt toolkit
Name: qt
Epoch: 1
Version: 4.6.2
Release: 4%{?dist}
Release: 5%{?dist}
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
License: LGPLv2 with exceptions or GPLv3 with exceptions
@ -72,7 +72,7 @@ Patch207: 0007-When-using-qmake-outside-qt-src-tree-it-sometimes-ge.patch
Patch208: 0008-This-patch-makes-the-raster-graphics-system-use-shar.patch
Patch209: 0009-Restore-a-section-of-the-file-that-got-removed-due-t.patch
Patch212: 0012-Add-context-to-tr-calls-in-QShortcut.patch
Patch213: qt-x11-opensource-src-4.6.2-tablet-wacom-QTBUG-8599.patch
Source10: http://gstreamer.freedesktop.org/data/images/artwork/gstreamer-logo.svg
Source11: hi16-phonon-gstreamer.png
@ -415,6 +415,7 @@ Qt libraries used for drawing widgets and OpenGL items.
%patch206 -p1 -b .kde-qt-0006
%patch207 -p1 -b .kde-qt-0007
%patch212 -p1 -b .kde-qt-0012
%patch213 -p1 -b .tablet-wacom-QTBUG-8599
# drop -fexceptions from $RPM_OPT_FLAGS
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
@ -1009,6 +1010,9 @@ fi
%changelog
* Fri Mar 05 2010 Than Ngo <than@redhat.com> - 4.6.2-5
- Make tablet detection work with new wacom drivers (#569132)
* Mon Mar 01 2010 Rex Dieter <rdieter@fedoraproject.org> - 4.6.2-4
- fix 64bit platform logic, use linux-g++-64 everywhere except x86_64 (#569542)