nexus4 window mode mouse motion bounded incorrectly with external monitor
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Pocket Desktop |
Fix Released
|
Medium
|
kevin gunn | ||
Mir |
Fix Released
|
Medium
|
Unassigned | ||
mir (Ubuntu) |
Fix Released
|
Medium
|
Daniel d'Andrada | ||
qtmir (Ubuntu) |
Fix Released
|
Medium
|
Daniel d'Andrada |
Bug Description
when connecting a monitor to the Nexus4 during windowed mode, the device is put into landscape mode. the mouse motion appears to not have followed the orientation and is bounded by roughly portrait width instead of landscape width
The problem is that when unity8 configures cloning, it picks the intersection of all displays. While the input subsystem uses the bounding rectangle of all displays. Thus it allows the cursor to move around in (1200x1920) while the only surface is 1080x1920. So there is a dead zone between the display extent and the surface extent. When the cursor hits that area the SurfaceInputDis
We can fix that by extending the behaviour of display_
Related branches
- Gerry Boland (community): Approve
- Michael Zanetti (community): Needs Information
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
- Michał Sawicz: Pending requested
- Lukáš Tinkl: Pending requested
-
Diff: 2478 lines (+1887/-152)33 files modifiedCMakeLists.txt (+1/-1)
debian/control (+6/-4)
debian/copyright (+21/-0)
debian/unity8-private.install (+1/-0)
plugins/CMakeLists.txt (+1/-0)
plugins/Cursor/3rd_party/CMakeLists.txt (+1/-0)
plugins/Cursor/3rd_party/xcursor/CMakeLists.txt (+15/-0)
plugins/Cursor/3rd_party/xcursor/xcursor.c (+968/-0)
plugins/Cursor/3rd_party/xcursor/xcursor.h (+65/-0)
plugins/Cursor/CMakeLists.txt (+28/-0)
plugins/Cursor/Cursor.qml (+12/-0)
plugins/Cursor/CursorImageProvider.cpp (+191/-0)
plugins/Cursor/CursorImageProvider.h (+76/-0)
plugins/Cursor/MousePointer.cpp (+125/-0)
plugins/Cursor/MousePointer.h (+59/-0)
plugins/Cursor/plugin.cpp (+39/-0)
plugins/Cursor/plugin.h (+33/-0)
plugins/Cursor/qmldir (+3/-0)
qml/Greeter/Greeter.qml (+1/-1)
qml/Launcher/Launcher.qml (+1/-0)
qml/Panel/Panel.qml (+1/-0)
qml/Shell.qml (+14/-7)
qml/Stages/DecoratedWindow.qml (+6/-3)
qml/Stages/DesktopStage.qml (+5/-8)
qml/Stages/WindowDecoration.qml (+32/-4)
qml/Stages/WindowResizeArea.qml (+135/-62)
tests/mocks/CMakeLists.txt (+1/-0)
tests/mocks/Cursor/CMakeLists.txt (+1/-0)
tests/mocks/Cursor/Cursor.qml (+20/-0)
tests/mocks/Cursor/qmldir (+2/-0)
tests/qmltests/CMakeLists.txt (+1/-1)
tests/qmltests/Stages/tst_WindowResizeArea.qml (+18/-61)
tests/qmltests/tst_OrientedShell.qml (+4/-0)
tags: | added: pd |
Changed in qtmir (Ubuntu): | |
status: | New → Opinion |
Changed in qtmir: | |
status: | New → Opinion |
no longer affects: | qtmir |
no longer affects: | qtmir (Ubuntu) |
Changed in canonical-pocket-desktop: | |
importance: | Undecided → Critical |
Changed in unity8 (Ubuntu): | |
importance: | Undecided → Critical |
Changed in mir (Ubuntu): | |
assignee: | nobody → Daniel d'Andrada (dandrader) |
status: | New → In Progress |
description: | updated |
no longer affects: | qtmir |
Might be bug 1313610, or closely related.