70 lines
2.4 KiB
Diff
70 lines
2.4 KiB
Diff
|
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
|
||
|
|