Chase Douglas has proposed merging lp:~utouch-team/qt/reenable-tablet into lp:~kubuntu-packagers/qt/ubuntu.
Requested reviews: Denis Dzyubenko (shadone) Kubuntu Packagers (kubuntu-packagers) Related bugs: Bug #762938 in pencil (Ubuntu): "Wacom Pressure broken with Qt applications" https://bugs.launchpad.net/ubuntu/+source/pencil/+bug/762938 For more details, see: https://code.launchpad.net/~utouch-team/qt/reenable-tablet/+merge/64244 The patch to enable XInput 2.1 multitouch support disabled XInput 1.x support. The Wacom tablet support depends on XInput 1.x support. The two XInput code paths should be able to work side by side, and with some minor modifications appear to do so without issue. I have tested tablet and multitouch support with this change and verified that they seem to work appropriately. -- https://code.launchpad.net/~utouch-team/qt/reenable-tablet/+merge/64244 Your team Kubuntu Packagers is requested to review the proposed merge of lp:~utouch-team/qt/reenable-tablet into lp:~kubuntu-packagers/qt/ubuntu.
=== modified file 'debian/changelog' --- debian/changelog 2011-06-09 16:33:21 +0000 +++ debian/changelog 2011-06-10 19:43:27 +0000 @@ -1,3 +1,10 @@ +qt4-x11 (4:4.7.3-1ubuntu4) UNRELEASED; urgency=low + + * Re-enable tablet support (LP: #762938) + - Updated kubuntu_28_xi2.1.patch with the fix + + -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Jun 2011 13:09:55 -0400 + qt4-x11 (4:4.7.3-1ubuntu3) oneiric; urgency=low * debian/rules: === modified file 'debian/patches/kubuntu_28_xi2.1.patch' --- debian/patches/kubuntu_28_xi2.1.patch 2011-06-03 13:46:31 +0000 +++ debian/patches/kubuntu_28_xi2.1.patch 2011-06-10 19:43:27 +0000 @@ -148,7 +148,7 @@ $XIY -xinput ............ Compile Xinput support. This also enabled tablet support which requires IRIX with wacom.h and libXi or XFree86 with X11/extensions/XInput.h and libXi. -@@ -5934,7 +5952,23 @@ +@@ -5934,7 +5952,22 @@ fi fi @@ -157,7 +157,6 @@ + if [ "$CFG_XINPUT2" != "no" ]; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput2 "XInput2" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then + CFG_XINPUT2=yes -+ CFG_XINPUT=no + else + if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + echo "XInput2 support cannot be enabled due to functionality tests!" @@ -351,11 +350,12 @@ // ### This should be static but it isn't because of the friend declaration // ### in qpaintdevice.h which then should have a static too but can't have // ### it because "storage class specifiers invalid in friend function -@@ -1659,9 +1678,13 @@ +@@ -1659,9 +1678,14 @@ // XInputExtension X11->use_xinput = false; - X11->xinput_major = 0; ++ X11->use_xinput2 = false; + X11->xinput_opcode = 0; X11->xinput_eventbase = 0; X11->xinput_errorbase = 0; @@ -366,23 +366,24 @@ X11->use_xkb = false; X11->xkb_major = 0; -@@ -2123,14 +2146,25 @@ +@@ -2123,14 +2146,26 @@ #endif // QT_RUNTIME_XINERAMA #endif // QT_NO_XINERAMA -#ifndef QT_NO_XINPUT +#if !defined(QT_NO_XINPUT2) -+ X11->use_xinput = XQueryExtension(X11->display, "XInputExtension", &X11->xinput_opcode, ++ X11->use_xinput2 = XQueryExtension(X11->display, "XInputExtension", &X11->xinput_opcode, + &X11->xinput_eventbase, &X11->xinput_errorbase); -+ if (X11->use_xinput) { ++ if (X11->use_xinput2) { + // we want XInput2 + int ximajor = 2, ximinor = 1; + if (XIQueryVersion(X11->display, &ximajor, &ximinor) == BadRequest) { + // XInput2 not available -+ X11->use_xinput = false; ++ X11->use_xinput2 = false; + } + } -+#elif !defined(QT_NO_XINPUT) ++#endif ++#if !defined(QT_NO_XINPUT) // See if Xinput is supported on the connected display X11->ptrXCloseDevice = 0; X11->ptrXListInputDevices = 0; @@ -409,7 +410,7 @@ break; +#if !defined(QT_NO_XINPUT2) + case GenericEvent: -+ if (X11->use_xinput ++ if (X11->use_xinput2 + && XGetEventData(X11->display, &event->xcookie) + && event->xcookie.extension == X11->xinput_opcode) { + // remember for later @@ -757,15 +758,15 @@ =================================================================== --- qt-everywhere-opensource-src-4.7.2.orig/src/gui/kernel/qt_x11_p.h 2011-02-22 12:03:58.000000000 +0000 +++ qt-everywhere-opensource-src-4.7.2/src/gui/kernel/qt_x11_p.h 2011-03-02 18:15:16.057309732 +0000 -@@ -97,13 +97,14 @@ +@@ -97,13 +97,15 @@ # include <X11/extensions/shape.h> #endif // QT_NO_SHAPE - --#if !defined (QT_NO_TABLET) +#if !defined(QT_NO_XINPUT2) +# include <X11/extensions/XInput2.h> -+#elif !defined (QT_NO_TABLET) ++#endif + #if !defined (QT_NO_TABLET) # include <X11/extensions/XInput.h> -#if defined (Q_OS_IRIX) -# include <X11/extensions/SGIMisc.h> @@ -778,7 +779,7 @@ #endif // QT_NO_TABLET -@@ -434,11 +435,15 @@ +@@ -434,11 +435,16 @@ bool use_mitshm_pixmaps; int mitshm_major; @@ -786,6 +787,7 @@ + // true if Qt is compiled w/ XInput2 or Tablet support and we have a tablet. bool use_xinput; - int xinput_major; ++ bool use_xinput2; + int xinput_opcode; int xinput_eventbase; int xinput_errorbase; @@ -900,7 +902,7 @@ + if (!q->testAttribute(Qt::WA_WState_Created) || q->windowType() == Qt::Desktop) + return; + -+ if (X11->use_xinput) { ++ if (X11->use_xinput2) { + XIEventMask xieventmask; + + const int mask_len = XIMaskLen(XI_LASTEVENT);
-- kubuntu-devel mailing list kubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel