summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* Port fullscreen shell autotest away from shared_oldDavid Edmundson2021-05-107-75/+123
| | | | | Change-Id: Ic6ef3b46fe6d6abf0f028389174fe4ac09dff60a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Client: Set XdgShell size hints before the first commitDavid Edmundson2021-05-101-1/+1
| | | | | | | | | | | | | propagateSizeHints is only called in QWindow we have platform window and minimumSizeHint is then sent. We also need to send existing hints when we create the shell window. Sending them when we apply configure is too late, we need these hints available for the compositor to correctly configure the window. Change-Id: I6cbb294b11db06ecd87535fa4816bb8ad34a29c6 Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
* Simplify test cmakeDavid Edmundson2021-05-1014-267/+52
| | | | | | | | | | | In each test we were recompiling the shared mock compositor. This led to a lot of difficult to maintain boiler plate as well as slowing down the build. This patch turns the shared component into an object library Change-Id: I2460d3fec312a348fe633ac271f994dd36d564c4 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Client: Make tst_nooutput more robustDavid Edmundson2021-05-101-1/+2
| | | | | | | | | | | We had auto configure on, but also manually configured half of the configure event by hand. This patch changes it to all be manual Change-Id: Id130d71585c0d8a94107702e470de201fe1a189c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Client: Send exposeEvent to parent on subsurface position changesDavid Edmundson2021-03-011-5/+28
| | | | | | | | | | | | | | | | | | When a subsurface is moved, we need the parent window to commit to apply that move. Ideally we want this in sync with any potential rendering on the parent window. Currently the code calls requestUpdate() which acts more like a frame callback; it will only do something if the main QWindow considers itself dirty. We want to force a repaint, which is semantically more similar to an ExposeEvent. Fixes: QTBUG-86177 Pick-to: 5.15 Change-Id: I30bdfa357beee860ce2b00a256eaea6d040dd55c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove QMake project filesJoerg Bornemann2021-02-1139-694/+0
| | | | | | | | | | This includes removal of the corresponding .prev_CMakeLists.txt files. Pick-to: 6.1 Task-number: QTBUG-88742 Change-Id: I57922bff138258f5b35d484caa4b00d84e924a06 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix building QtWayland manual testsAleix Pol2021-01-243-1/+13
| | | | | | | | It was missing a CMakeLists.txt file, this way we can build them if the right variables are enabled. Change-Id: I13e5be9c7c9954c9091c0d140a5af696ae8961b9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Build fixes for GCC 11Ville Voutilainen2021-01-181-0/+1
| | | | | | Task-number: QTBUG-89977 Change-Id: I7e3d0964087865e8062f539f851a61f3df017dae Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Fix some compile warningsEskil Abrahamsen Blomfeldt2020-11-171-2/+2
| | | | | | | | | | | | QTouchEvent::touchPoints() is deprecated and replaced by just points(), and there is a new value in Qt::TouchPointState. normalizedPos() is replaced by normalizedPosition(). And QVariant::type() is deprecated. Change-Id: I4a4eea2775030f67ad12488df25d4859099c1783 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Make texture sharing mechanism hidden and experimentalEskil Abrahamsen Blomfeldt2020-11-1119-0/+864
| | | | | | | | | | | | | | | The texture sharing mechanism has some issues still, and it is not strictly required in Qt 6.0. So we keep the code for now, but hide the feature and document it as experimental and unsupported. This makes it convenient to bring it back later, maybe with a revised API, when have more concrete use cases. The example is moved into manual tests for now, and can easily be brought back later. Change-Id: Icfe4841b329bebcf9d63d1e00a4f6ae613c5092f Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Client: Drop XdgShellV5 and XdgShellV6David Edmundson2020-11-1122-898/+20
| | | | | | | | | | | | Both of these are deprecated given this is now formalised as the final xdg-wm-base. This final release has been out for several years and all main compositors (kwin, sway, mutter) have dropped or are dropping legacy support. tst_nooutput is moved to stable XdgShell. Change-Id: I46a011502dfec6d4a215c3b22d03e8ceebed46c3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Address WlCompositor::compositor_create_region in testsAleix Pol2020-10-201-3/+2
| | | | | | | | It was not properly marked as override and would not get called. Pick-to: 5.15 Change-Id: Ib80c916c65534ddff918ac06bbe52d88e19d9ff4 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Implement CoreProtocol::compositor_create_regionAleix Pol2020-10-151-0/+21
| | | | | | | | Otherwise tests using it crash. Pick-to: 5.15 Change-Id: Id2ce98ed7c975144728be7566e20b6ea08fa9150 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Implement MockRegionAleix Pol2020-10-0913-3/+144
| | | | | | | | | | If we don't mock regions, we get a crash every time that a client calls createRegion. So far regions are untested. Pick-to: 5.15 Change-Id: I83f20b879ece5cefcf2039d369034516df6a6a62 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Fix race condition on frame callbackPaul Olav Tvete2020-10-071-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the frame listener callback is moved to a different queue while the frame event is being processed, the event will not get delivered. (It will not even show up in the WAYLAND_DEBUG output.) This will cause waitForFrameSync() to hang until it times out. To avoid this, perform the move just after the callback has been created. This exposed an issue with single-threaded rendering, where a new update would be started from inside the callback, resetting mWaitingForFrameCallback before waitForFrameSync could react to it. This caused all rendering to freeze. To avoid that problem, do not deliver update requests directly from the frame callback. With the callback always on a separate queue, we then have to make sure that queue is also dispatched during the main event loop, otherwise the events may not be processed. To do this, we need a mutex lock. But it turns out that we no longer need a global mutex lock as long as the frame events are being dispatched on their own queues, but can manage with per-window locks instead. A final thing needed is to make sure the frame callback does not request additional updates while we are already waiting for the main thread to process the last one. This is to avoid flooding the main event loop with events, when the main thread is processing them at a slower pace than the frame rate. Fixes: QTBUG-83263 Pick-to: 5.15 Done-with: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Change-Id: I0db9da64fc8ced147177391c2a7999c4cc7a0d58 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Re-enable tst_nooutputv6.0.0-alpha1Eskil Abrahamsen Blomfeldt2020-10-011-1/+0
| | | | | | | | | The dependencies update has gone through, so the test should now pass again. Fixes: QTBUG-86698 Change-Id: I23babc4a5c3cae0bff5ba371e9703c976536f4ec Reviewed-by: David Edmundson <davidedmundson@kde.org>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-10-0139-45/+45
| | | | | | | | Modify special case locations to use the new API as well. Task-number: QTBUG-86815 Change-Id: I2ba7753b64f3d88332e919dc90c98e252e20dd98 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update dependencies on dev in qt/qtwaylandLars Knoll2020-09-161-0/+1
| | | | | | | | | | | | | | | | | | Add one moc include to make things compile after the changes in qtbase. The nooutput test fails with this update because high-dpi is now enabled by default. When running with a placeholder screen, we get a scale factor of NaN because the default logicalDpi() implementation divides by physical size, which is 0x0 in the case of the placeholder. We temporarily disable the test in order to get the update in. Task-number: QTBUG-86698 Change-Id: I474f6970186e93905332c679f2cec5fea459de64 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* CMake: Make sure test blacklists are foundAlexandru Croitor2020-09-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Some of the qtwayland tests are failing on qemu configs and are thus blacklisted. When the tests were built with CMake, the blacklist file was not found. This is due to the custom QCOMPOSITOR_TEST_MAIN function which does not provide the location of the test source folder, and thus the QTestPrivate::parseBlackList -> QTest::qFindTestData call fails to find black list file. Bring the custom test main function in line with what the other QTest main functions do, which is call QTEST_SET_MAIN_SOURCE_PATH. Note in qmake builds this was not necessary, because the way the source and build folders are computed for tests is slightly different from the CMake way. I don't recall the exact details, but basically CMake builds need this extra information that is set by the QTEST_SET_MAIN_SOURCE_PATH call. Task-number: QTBUG-83968 Change-Id: Ia4742488097a65f18594881c89af48c9d621e6e1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Client: Expose XdgShell native resourcesDavid Edmundson2020-08-261-0/+19
| | | | | | | | | | | | Many new specifications now rely on passing xdg_surface/xdg_toplevel as arguments to other protocols. wl_shell is currently exposed through native resources but xdg-shell related classes were not. Fixes: QTBUG-81479 Change-Id: I2023f39ad6813ff58e8a86d739f307d791794b16 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Client: Fix scroll direction with touchpadsDavid Edmundson2020-08-261-4/+31
| | | | | | | | | | | | | Wayland axis events and QWheelEvents are opposite way rounds. This was handled for the case of discrete events, but not continuous events. This leads to touchpads moving the wrong way round compared to other clients. Change-Id: Iee4f5c620940a491949d4039cb3ac70649d83a2b Pick-to: 5.15 Task-number: QTBUG-85767 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Update to match qtbase changes to platform headersTor Arne Vestbø2020-08-191-8/+0
| | | | | Change-Id: I8e39d87361728c81b526f1ad89b45136500c9913 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* CMake: Prepare for removal of Threads::Threads special casesAlexandru Croitor2020-08-061-1/+7
| | | | | | | | | The Threads::Threads target will automatically be propagated via the Qt6::Platform target. Task-number: QTBUG-85877 Change-Id: I9403f210dddf0921c06d2dd4ac9507fb4659fd70 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Adapt to recent qtbase changes and update dependenciesFriedemann Kleint2020-07-292-10/+10
| | | | | | | | | - moving linuxaccessibility/xkbcommon/eglsupport/glxsupport to QtGui - event refactoring Task-number: QTBUG-83255 Change-Id: Ic82ee6ef5652413781468edb58c601ee7dce2e3b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: Regenerate projectsAlexandru Croitor2020-07-091-1/+0
| | | | | | | | We need the qt_add_tool changes to successfully configure qemu builds. The rest of the changes are just to be in sync with the .pro files. Change-Id: I64e92edc2486a71c88bd964a07adf502481b200d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Move WlShell types into their own importEskil Abrahamsen Blomfeldt2020-07-092-0/+2
| | | | | | | | | | | We want extensions to be in submodules in QML. [ChangeLog][WlShell] Moved WlShell types into QML import QtWayland.Compositor.WlShell rather than QtWayland.Compositor Task-number: QTBUG-68840 Change-Id: I7c3d2d05efdab86ea61affc6a9a0bc3e10835328 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Use wl_surface.damage_buffer on the client sidePaul Olav Tvete2020-07-074-2/+14
| | | | | | | | | Prefer the newer, recommended damage_buffer when the compositor supports it. Fixes: QTBUG-74929 Change-Id: I9107966910b616a666931404a7b41bfac14c22c0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Support wl_surface.damage_bufferPaul Olav Tvete2020-07-074-18/+42
| | | | | | | | | Add compositor support for wl_surface.damage_buffer requests. This also required updating wl_compositor to version 4. Fixes: QTBUG-74927 Change-Id: I887ed04e60fe14ecce7df6a517950b0091e2ad54 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove deprecated codeEskil Abrahamsen Blomfeldt2020-07-077-252/+0
| | | | | | | | | | | | | | | | | XdgShellv5 and XdgShellv6 have been deprecated in the compositor since 5.15, and wl-scaler since 5.13. These are now removed. Since the qwindow-compositor has not been updated for a long time, it depends on the outdated protocols. This change removes it, since it no longer represents best practices. This means we will be missing a proper C++-based compositor for now, so we will have to create a new one later. Change-Id: Icc6ef97c17e553f266c4145abeef26ddd631d6bf Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Add ; to Q_UNUSEDLars Schmertmann2020-06-302-4/+4
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: Ia626b9fbc2e4215cb9232ef9bcb71742d62dff4e Reviewed-by: Liang Qi <liang.qi@qt.io>
* Replace calls to deprecated QEvent accessor functionsShawn Rutledge2020-06-291-1/+1
| | | | | | | | | | | | | | | | | | | | Several event accessors were deprecated in qtbase/24e52c10deedbaef833c0e2c3ee7bee03eacc4f5. Replacements were generated by clazy using the new qevent-accessors check: $ export CLAZY_CHECKS=qevent-accessors $ export CLAZY_EXPORT_FIXES=1 $ ../qt6/configure -platform linux-clang -developer-build -debug -no-optimize-debug -opensource -confirm-license -no-pch QMAKE_CXX=clazy $ make $ cd ../../qt6/qtwayland $ find . -name "*.clazy.yaml" $ clang-apply-replacements . Task-number: QTBUG-20885 Task-number: QTBUG-84775 Change-Id: If822ba409f974f737dc46ac31f6e8e92cc1603cc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adapt to new QPointingDevice APIShawn Rutledge2020-06-263-36/+36
| | | | | | | | | | | | | | QTouchDevice has been replaced with a more general QPointingDevice. All input devices need detailed information and need to be registered via QWindowSystemInterface::registerInputDevice(). This patch is not doing that yet; it's just enough to get qtwayland to compile again. Done-With: Liang Qi <liang.qi@qt.io> Change-Id: Id3a2e475ed07294a1977004fc72b11e466acc216 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-081-1/+1
| | | | | | Task-number: QTBUG-84469 Change-Id: I5af6114797d009490313241f2faf3031ac5a512a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-0819-65/+65
| | | | | | Task-number: QTBUG-84469 Change-Id: I4bc7b2eb2913fc828f09f96e21480b76cabf8656 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-05-141-0/+1
|\ | | | | | | Change-Id: Ie2b6b40e3ad1e753f051a12c0296206cc884352b
| * Blacklist animatedCursor in SLESTony Sarajärvi2020-05-111-0/+1
| | | | | | | | | | | | Task-number: QTBUG-78317 Change-Id: Ic2fdbf98dc744c659091f46b33de8e8a34ed8cb1 Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devLiang Qi2020-04-2934-67/+292
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/client/xdgoutput/tst_xdgoutput.cpp Regenerated CMake projects. Removed duplicate wayland source in tests/auto/client/xdgoutput/xdgoutput.pro. It's still referenced via the included shared.pri file. Regenerated the CMake project to adapt to that. Otherwise the CMake project fails to configure due to duplicate rules with a error like the one below CMake Error at src/compositor/Qt6WaylandCompositorMacros.cmake:13 (add_custom_command): Attempt to add a custom rule to output tests/auto/client/xdgoutput/wayland-xdg-output-unstable-v1-server-protocol.h.rule Also use a workaround fix for configuring CMake standalone tests due to regression introduced by dd7e40b1086020f6a054957f4972720cd684 in qtbase. Change-Id: Ib364b851a1fa828c153efbf8653c9e4ef5e618cd
| * Update connects to QSocketNotifier::activatedMårten Nordheim2020-04-212-2/+2
| | | | | | | | | | | | | | | | | | | | The int-overload will in some cases truncate the descriptor. So it's being replaced. On Linux it won't truncate, so the slot can stay as int, but we still update which signal to connect to. Task-number: QTBUG-70441 Change-Id: I516a453c381e8d29464febabfd69c788e58db5fe Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Client: Delete decoration object when frameless window hint is addedJohan Klokkhammer Helsing2020-02-271-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't want windows with FramelessWindowHint to have a zxdg_toplevel_decoration_v1 object, because that allows the compositor to force server-side window decorations. We already have code in place that avoids creating the decoration object when the window is created. However, if the frameless window hint is added after the window has been shown, then the decoration object has already been created. The protocol states that if a decoration object is destroyed, the window will switch back to a mode without any server-side decorations on the next commit... so this is what we do in this patch. Unfortunately, there is no clean way to handle the case when the hint is removed while the window is visible since the protocol explicitly forbids creating toplevel decoration objects for surfaces with committed buffers. Discussion is ongoing as to whether this should be fixed in the next version of the protocol: https://gitlab.freedesktop.org/wayland/wayland-protocols/issues/9 If we want to work around it, it is perhaps possible to destroy and create a new wl_surface, but ideally, it will be fixed in the next version of the xdg-decoration protocol and we can just wait for that. Task-number: QTBUG-80702 Change-Id: I7e76c05fc3629f1fbbba1d18482808fe588e3878 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Client tests for xdg-output unstable v1 version 3Johan Klokkhammer Helsing2020-02-275-14/+83
| | | | | | | | | | | | Change-Id: If6d7547c14dfaf06532a83ab2fbda4d0198837dc Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Move XdgOutput mocking to shared folderJohan Klokkhammer Helsing2020-02-274-58/+133
| | | | | | | | | | Change-Id: Ia4fe187d33ddfd25a87dac8567143de6466c75a2 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Client: Don't allow decorations for frameless windowsJohan Klokkhammer Helsing2020-02-131-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | This only fixes it for when Qt::FramelessWindowHint is set appropriately before the window is shown. [ChangeLog][QPA plugin] Windows with Qt::FramelessWindowHint no longer create zxdg_toplevel_decoration_v1, as that allowed compositors to force server-side decorations. Fixes: QTBUG-80702 Change-Id: I47a582a59f6682a57128c0c9d4e4b9a6181925a4 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Fix qtwaylandscanner package dependencieswip/cmakeAlexandru Croitor2020-03-261-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new API provided in qtbase, to register a package dependency between the client module and the QtWaylandScannerTools package. Do the same for the compositor module. Also register a dependency between the QtWaylandScannerTools package and the WaylandScanner package. Also fix the tests condition to check the correct _FOUND variable. Change-Id: Id961a365715cef2d7d0b8a54ca9000dc3890ffd7 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | CMake: Regenerate and adjust projects after mergeAlexandru Croitor2020-03-2639-115/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the changes that were needed - adjusted wayland macros due to changed target names for plugins - a few direct moc file includes, to get rid of compilation errors - Threads::Threads linking for a few tests - a few special cases for QT_FOR_PRIVATE handling because pro2cmake doesn't handle those correctly at the moment (they map to PRIVATE_MODULE_INTERFACE rather than PRIVATE_LIBRARIES) - just regenerating all projects Change-Id: I418ce91b1c69c7388d41eb22b94a93a9e80fa732 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2020-03-2623-40/+1215
|\ \ | | | | | | | | | Change-Id: Ia76896a4d06240ccc3d95ba478b6ce273c7a0be2
| * | Fix build after event API changesSimon Hausmann2020-03-161-5/+5
| | | | | | | | | | | | | | | | | | | | | Some deprecated functions were removed in dev. Change-Id: Iad9910051efe0a499f0e0a4f2e151c39ddd0fcd0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | Fix compile errors in testsJohan Klokkhammer Helsing2020-02-192-6/+6
| | | | | | | | | | | | | | | | | | | | | const qualifiers made default assignment operators invalid. Change-Id: I8b22a04f6e2f3b9b76a971b0a59f5fdce589c8e5 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * | Fix build: Add dependency on OpenGL moduleJohan Klokkhammer Helsing2020-01-3010-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several of the QOpenGL* classes we depend on has moved to QtOpenGL, add the dependency and fix the include paths. Task-number: QTBUG-74409 Change-Id: Iab7949dd67befaa71cf2cfa041771e93f4e47160 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Merge remote-tracking branch 'qt/5.15' into devPaul Olav Tvete2020-01-0911-11/+1129
| |\ \ | | |/ | | | | | | Change-Id: Id0bb84667482232cb648f4984e9f9e2ea4c360c6
| | * Client: Add basic support for tablet-unstable-v2Johan Klokkhammer Helsing2020-01-083-0/+926
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Added support for drawing tablets through the tablet-unstable-v2 protocol. Adds support for the basic one tablet, one tool, no pads scenario. Besides the auto tests, I tested with a Huion Kamvas Pro 16 with a simple pressure sensitive pen with two buttons. As far as I can tell, it works the same way as on xcb on Sway and Gnome Shell. Also tested on a Wacom PTZ-630 with a mouse, art pen, airbrush and a stylus. Mapped the distance event to QTabletEvent::Z and slider to QTabletEvent::tangentialPressure. For now we send QTabletEvents even when there's a mouse or finger on the tablet. Those should ideally be sent as QMouseEvents/QTouchEvents, but that's out of scope for this patch, but at least we will send synthesized mouse events if the tablet events are not accepted. Change-Id: I93291ffa5f00fa2bb8533eddd8d873b84a3386b8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>