Details
-
Bug
-
Resolution: Done
-
P2: Important
-
None
-
5.3.0
-
Linux
-
cb37ab82982569ef316d4948e0f13a9bfa6b3f55
Description
This happens due to this code in qxcbconnection_xi2.cpp:
// If we have found the valuators which we expect a tablet to have, assume it's a tablet.
if (tabletData.valuatorInfo.contains(QXcbAtom::AbsX) && tabletData.valuatorInfo.contains(QXcbAtom::AbsY) && tabletData.valuatorInfo.contains(QXcbAtom::AbsPressure)) { tabletData.deviceId = devices[i].deviceid; tabletData.pointerType = QTabletEvent::Pen; if (QByteArray(devices[i].name).toLower().contains("eraser")) tabletData.pointerType = QTabletEvent::Eraser; m_tabletData.append(tabletData); isTablet = true; if (Q_UNLIKELY(debug_xinput_devices)) qDebug() << " it's a tablet with pointer type" << tabletData.pointerType; }
The point is, the touch part of this device also has pressure, proximity and absolute axes.
The valuators have the following limits:
# Adding a tablet device: Wacom Intuos5 touch M Finger touch
Device Type: "NoDevice"
# Axes limits data
X: 0 4096
Y: 0 4096
Z: 0 0
Pressure: 0 2048
Rotation: 0 1
T. Pres: 0 0
The output of xinput:
dmitry@linux-frm9:/home/devel/kde-src/qt5/qtbase>xinput list-props 16 Device 'Wacom Intuos5 touch M Finger touch': Device Enabled (133): 1 Coordinate Transformation Matrix (135): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (256): 0 Device Accel Constant Deceleration (257): 1.000000 Device Accel Adaptive Deceleration (258): 1.000000 Device Accel Velocity Scaling (259): 10.000000 Device Node (252): "/dev/input/event19" Wacom Tablet Area (854): 0, 0, 4096, 4096 Wacom Rotation (855): 0 Wacom Pressurecurve (856): 0, 0, 100, 100 Wacom Serial IDs (857): 39, 0, 3, 0, 0 Wacom Serial ID binding (858): 0 Wacom Pressure Threshold (859): 0 Wacom Sample and Suppress (860): 2, 4 Wacom Enable Touch (861): 1 Wacom Enable Touch Gesture (862): 1 Wacom Touch Gesture Parameters (863): 180, 80, 250 Wacom Tool Type (864): "TOUCH" (832) Wacom Button Actions (865): "Wacom button action 0" (866), "Wacom button action 1" (867), "Wacom button action 2" (868) Wacom button action 0 (866): 1572865 Wacom button action 1 (867): 1572866 Wacom button action 2 (868): 1572867 Device Product ID (251): 1386, 39 Wacom Debug Levels (869): 0, 0 dmitry@linux-frm9:/home/devel/kde-src/qt5/qtbase>
Attachments
Issue Links
- relates to
-
QTBUG-39570 Rotation has different scale and direction on different platforms/tablets
- Closed
-
QTBUG-51618 Android: the stylus sends QTabletEvent but not QMouseEvent
- Closed
-
QTBUG-39624 X11: use xcb instead of xlib for xinput features
- Closed
For Gerrit Dashboard: QTBUG-39572 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
87238,5 | xcb: distinguish Wacom touch devices from tablets | dev | qt/qtbase | Status: ABANDONED | -2 | 0 |
87378,12 | xcb: support Wacom touch devices; distinguish from tablets | 5.3 | qt/qtbase | Status: ABANDONED | 0 | 0 |
92523,4 | xcb: support Wacom touch devices; distinguish from tablets | 5.4 | qt/qtbase | Status: MERGED | +2 | 0 |