I've moved the general accuracy problem that's specific to Unity8 into
bug 1607223.
This bug is all about certain apps only, and is reproducible in Untiy7.
** Package changed: qtmir (Ubuntu) => qtdeclarative-opensource-src
(Ubuntu)
** No longer affects: qtmir
** Summary changed:
- Touchpad
Interestingly webbrowser-app under Unity7 behaves much better (same
findings as bug 1523823).
So whatever the problem is in our QML app scrolling is not a problem in
webbrowser-app.
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is
That's weird. The problem persists even in System Settings under Unity7.
So not a bug in QtMir but more a bug in the toolkit layer (!?)
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
Come to think of it, the core of this bug might be outside of QtMir.
That is whatever eventually receives handleWheelEvent is failing to
scroll proportionately to the magnitude of angleDelta, and instead is
scrolling just proportionately to the number of calls to
handleWheelEvent.
** Changed in:
To solve _this_bug_ as the description states it is probably much simpler:
We should scale the number of integer wheel events sent to Qt according to the
float magnitude of the Mir vscroll axis. So QtMir should accumulate vscroll
values as a float and only emit them to Qt each time that value
Actually I think this bug might be tangential to the precision problem
in QtMir.
QtMir appears to maintain a little smooth scrolling to a precision of
roughly 0.067 mouse wheel ticks. But touchpads commonly have a precision
of more like 0.00025 equivalent mouse wheel ticks.
So both problems are
That's an idea but we have a problem with libinput/Mir I think... It
hides two-finger events from the client during a scroll, and only
delivers vscroll events instead.
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in
Ah no, I'm reading the API wrong (kudos to faenil for correcting me):
QPoint pixelDelta
is in integers, as are all QWheelEvent calculations. So that's not going to
work without breaking Qt APIs, which is unlikely.
An alternative option might be to us Qt's support for native gesture
events - this
Are you looking at the right code? I see this from Qt5.4 source
(qtbase/src/gui/kernel/qwindowsysteminterface.h)
static void handleWheelEvent(QWindow *w, const QPointF & local, const
QPointF & global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers
mods = Qt::NoModifier,
Bad news: The broken handleWheelEvent syntax is one we have inherited
from QWindowSystemInterface so we can't just fix it in QtMir to use
QPointF and libinput-style smooth scrolling :(
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is
Found the problem:
void handleWheelEvent(ulong timestamp, QPoint angleDelta,
Qt::KeyboardModifiers mods) override
QPoint is a pair of integers, but touchpad scroll values are floats.
** Changed in: unity8 (Ubuntu)
Status: New => Invalid
--
You received this bug notification because
11 matches
Mail list logo