Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-105843

Broken cursor changing on Wayland with tablet input

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2: Important P2: Important
    • 6.8.1, 6.9.0 FF
    • 5.15.2, 6.3.0
    • None
    • Fedora 36 KDE 5.25.4 Wayland and Ubuntu 22.04 LTS Gnome 42 Wayland
    • Linux/Wayland
    • 3c49641f0 (dev), e3d44cc78 (6.8)

      When running Qt applications under Wayland, the QGuiApplication::setOverrideCursor and QGuiApplication::changeOverrideCursor have no effect when the input device is a tablet (e.g. a Wacom tablet). In fact, a Qt application running under Wayland is unable to change the default cursor altogether. For example, when hovering a the edge of a Window, Linux DEs display a "Resize" icon, but this doesn't happen when using a tablet with Wayland.

      I've tested this under two different environments: KDE Plasma 5.25.4 Fedora 36 and Gnome 42 on Ubuntu 22.04 LTS. On both DEs, when a tablet input device is used the cursor of the application is unchangeable (I've tested with a simple timer that periodically changes the application cursor using the APIs provided by QGuiApplication). GTK applications (e.g. Firefox) in the same environment were unaffected by this bug.

      It seems that all KDE applications running under Wayland (e.g. Dolphin) are affected by this bug (see https://bugs.kde.org/show_bug.cgi?id=426585).

      On X11, things behave as one would expect and cursor changing is no problem.

      After briefly debugging, I can see that when QWaylandInputDevice::Pointer::updateCursor() is called, the value of mEnterSerial is always zero when using a tablet.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            srutledg Shawn Rutledge
            daljit97 Daljit Singh
            Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes