Unity8 default mouse wheel increment seen by Mir clients is 7.0 (it should be 1.0)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Fix Released
|
Undecided
|
Daniel van Vugt | ||
gsettings-ubuntu-touch-schemas (Ubuntu) |
Fix Released
|
High
|
Daniel van Vugt | ||
qtmir (Ubuntu) |
Fix Released
|
High
|
Daniel van Vugt | ||
qtubuntu (Ubuntu) |
Fix Released
|
High
|
Daniel van Vugt | ||
ubuntu-system-settings (Ubuntu) |
Fix Released
|
High
|
Daniel van Vugt | ||
unity8 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
xorg-server (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Ubuntu 16.10 + proposed
Xmir 2:1.18.4-1ubuntu4
wheel mouse scrolling is too fast, tried with firefox and geany.
run firefox on mir scroll up/down some random long page using the mouse wheel
TEST CASE:
1. env MIR_CLIENT_
2. Roll your mouse wheel over it and watch the log
Expected: vscroll values of +1/-1
Observed: vscroll values of +7/-7
WORKAROUND:
System Settings > Mouse & Touchpad >
Slide the second (unlabelled) slider all the way left, and then one notch right.
Turns out that unlabelled slider is the wheel scroll speed. Setting it one notch from the left correctly reduces the wheel speed from 7.0 to 1.0 as Mir clients expect.
Related branches
- Daniel d'Andrada (community): Abstain
- Unity8 CI Bot (community): Approve (continuous-integration)
- Lukáš Tinkl (community): Approve
-
Diff: 32 lines (+7/-2)2 files modifiedsrc/modules/Unity/Application/mirsurface.cpp (+5/-1)
src/platforms/mirserver/qteventfeeder.cpp (+2/-1)
- Lukáš Tinkl (community): Approve
- Unity8 CI Bot: Approve (continuous-integration)
-
Diff: 13 lines (+2/-1)1 file modifiedsrc/ubuntumirclient/input.cpp (+2/-1)
- Iain Lane (community): Approve
- Lukáš Tinkl (community): Approve
-
Diff: 25 lines (+2/-4)1 file modifiedaccountsservice/com.ubuntu.AccountsService.Input.xml (+2/-4)
- Jonas G. Drange (community): Approve
- Lukáš Tinkl (community): Approve
-
Diff: 21 lines (+2/-2)1 file modifiedplugins/mouse/Connected.qml (+2/-2)
affects: | mir → xorg-server |
tags: | added: xmir |
affects: | xorg-server → xorg-server (Ubuntu) |
summary: |
- [Xmir] scrolling is too fast (mouse wheel) + [Xmir Firefox scrolling is too fast (mouse wheel) when run under Unity8 + (since Xmir 2:1.18.4-1ubuntu4) |
description: | updated |
Changed in qtmir (Ubuntu): | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | Confirmed → In Progress |
Changed in qtmir: | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | New → In Progress |
tags: | added: unity8-desktop |
Changed in qtmir: | |
importance: | Undecided → High |
Changed in qtmir (Ubuntu): | |
importance: | Undecided → High |
Changed in ubuntu-system-settings (Ubuntu): | |
importance: | Undecided → High |
Changed in qtubuntu: | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
Changed in qtubuntu (Ubuntu): | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
Changed in qtubuntu: | |
importance: | Undecided → High |
Changed in qtubuntu (Ubuntu): | |
importance: | Undecided → High |
Changed in qtubuntu: | |
status: | New → In Progress |
Changed in qtubuntu (Ubuntu): | |
status: | New → In Progress |
Changed in gsettings-ubuntu-touch-schemas (Ubuntu): | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | Confirmed → In Progress |
importance: | Undecided → High |
Changed in ubuntu-system-settings (Ubuntu): | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | Confirmed → In Progress |
Changed in unity8 (Ubuntu): | |
status: | Confirmed → Invalid |
Changed in canonical-devices-system-image: | |
status: | New → In Progress |
summary: |
- Unity8 default mouse wheel speed is 7.0 (it should be 1.0) + Unity8 default mouse wheel speed seen by Mir clients is 7.0 (it should + be 1.0) |
Changed in qtmir: | |
status: | In Progress → Fix Committed |
Changed in qtubuntu: | |
status: | In Progress → Fix Committed |
Changed in qtubuntu (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in qtmir (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in gsettings-ubuntu-touch-schemas (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in canonical-devices-system-image: | |
status: | In Progress → Fix Committed |
assignee: | nobody → Daniel van Vugt (vanvugt) |
Changed in canonical-devices-system-image: | |
milestone: | none → 13 |
Changed in qtmir: | |
status: | Fix Committed → Fix Released |
Changed in qtubuntu: | |
status: | Fix Committed → Fix Released |
summary: |
- Unity8 default mouse wheel speed seen by Mir clients is 7.0 (it should - be 1.0) + Unity8 default mouse wheel increment seen by Mir clients is 7.0 (it + should be 1.0) |
Changed in canonical-devices-system-image: | |
status: | Fix Committed → Fix Released |
no longer affects: | qtubuntu |
no longer affects: | qtmir |
Good news: Confirmed I can reproduce the bug.
Bad news: The bug only happens in Unity8 and not in Mir demo servers.
What changed:
Xmir 2:1.18.4-1ubuntu4 adds accurate vscroll/touchpad support. So instead of synthesising vscroll changes of any magnitude into fake button 4/5 press/releases, it now passes the vscroll float value straight down to the app.
This works well in Mir demo servers (with high-resolution touchpads too), but in Unity8 Xmir ends up sending about 7 button 4/5 events per mouse wheel tick.
It appears the flaw is in Qt/Unity8 code where a vscroll value of 1.0 (which means one mouse wheel tick) is not correctly maintaining the vscroll value of 1.0 after it passes through Unity8.
So the Xmir change is correct, but this is at least the third Unity8/Qt scrolling bug I've seen today. See also bug 1607223 and bug 1605513.