davidedmundson added inline comments. INLINE COMMENTS
> drm_output.cpp:109 > + QMatrix4x4 matrix; > + if (m_orientation == Qt::InvertedLandscapeOrientation) { > + matrix.translate(pixelSize().width() /2, pixelSize().height() / 2); > for all variants of scaled, rotated and differently positioned outputs. "by all variants of rotated" do you mean just this one? > drm_output.cpp:116 > + matrix.translate(-m_globalPos.x(), -m_globalPos.y()); > + const QPoint p = matrix.map(globalPos) - > m_backend->softwareCursorHotspot(); > drmModeMoveCursor(m_backend->fd(), m_crtc->id(), p.x(), p.y()); I'm 95% sure you need to rotate your softwareCursorHotspot. It's something hard to see, becuase you'll only be off by a few px. The only reason I'm not scaling the offset is because we're not scaling the contents of the cursor planet (which is arguably wrong), you are rotating it. REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D8627 To: graesslin, #kwin, #plasma Cc: davidedmundson, plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart