Unity/compiz intercepts Super and Alt keypresses from grabbed windows like VMs.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ayatana Design |
Fix Committed
|
High
|
John Lea | ||
Compiz |
Won't Fix
|
High
|
Unassigned | ||
Compiz Core |
Triaged
|
High
|
Unassigned | ||
OEM Priority Project |
Won't Fix
|
High
|
Unassigned | ||
Precise |
Won't Fix
|
High
|
Unassigned | ||
Unity |
Fix Released
|
High
|
Marco Trevisan (Treviño) | ||
7.2 |
Fix Released
|
High
|
Marco Trevisan (Treviño) | ||
compiz (Ubuntu) |
Won't Fix
|
High
|
Unassigned | ||
Trusty |
Confirmed
|
Undecided
|
Unassigned | ||
unity (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Trusty |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
After upgrading from Maverick to Natty, I can no longer use the Super (windows) key in Virtual Machine Manager. Previously, as long as I had the Virtual Machine Manager console window in the foreground, I could press the Super key and the start menu would pop up. Since upgrading to Natty, this no longer works, and the search box appears in the upper left.
Also see bug #934921
[Test Case]
(1) Install virtualbox or virt-manager and qemu-system, create and boot a virtual machine
(2) while in the virtual machine (and it should grab the keyboard), press the Super key
Expected Result: the super key acts inside the VM (check by install unity on it or using xev)
Buggy Result: the super key acts in the host and the Unity Dash is displayed
[regression Potential]This patch plays with key grabs and ungrabs: the most likely potential for regression is (a) the existing grabs continue and no fix obtains or (2) the grab is not resumed when returning control from the VM and the Super key does not invoke the Unity Dash.
Related branches
- PS Jenkins bot (community): Approve (continuous-integration)
- Brandon Schaefer (community): Approve
-
Diff: 332 lines (+81/-54)6 files modifieddash/DashController.cpp (+30/-25)
dash/DashController.h (+3/-5)
dash/DashView.cpp (+2/-2)
launcher/LauncherController.cpp (+0/-12)
plugins/unityshell/src/unityshell.cpp (+45/-10)
plugins/unityshell/src/unityshell.h (+1/-0)
- PS Jenkins bot (community): Approve (continuous-integration)
- Brandon Schaefer (community): Approve
-
Diff: 42 lines (+17/-3)2 files modifiedlockscreen/LockScreenController.cpp (+2/-2)
unity-shared/PluginAdapter.cpp (+15/-1)
- Marco Trevisan (Treviño): Approve
-
Diff: 3472 lines (+1152/-478)54 files modifiedUnityCore/GnomeSessionManager.cpp (+32/-0)
UnityCore/GnomeSessionManagerImpl.h (+4/-0)
UnityCore/SessionManager.h (+4/-0)
dash/DashController.cpp (+3/-1)
debian/changelog (+59/-0)
hud/HudController.cpp (+1/-0)
launcher/AbstractLauncherIcon.h (+3/-2)
launcher/ApplicationLauncherIcon.cpp (+20/-19)
launcher/ApplicationLauncherIcon.h (+0/-1)
launcher/Launcher.cpp (+26/-10)
launcher/LauncherIcon.cpp (+7/-3)
launcher/LauncherIcon.h (+2/-1)
launcher/SwitcherView.cpp (+54/-31)
launcher/SwitcherView.h (+3/-4)
launcher/TrashLauncherIcon.cpp (+1/-0)
launcher/VolumeLauncherIcon.cpp (+1/-0)
lockscreen/LockScreenAbstractShield.h (+0/-1)
lockscreen/LockScreenController.cpp (+2/-3)
lockscreen/LockScreenShield.cpp (+0/-6)
lockscreen/LockScreenShield.h (+0/-1)
lockscreen/UserPromptView.cpp (+8/-99)
lockscreen/UserPromptView.h (+1/-13)
panel/PanelIndicatorEntryView.cpp (+7/-0)
plugins/unityshell/src/GesturalWindowSwitcher.cpp (+3/-0)
plugins/unityshell/src/GesturalWindowSwitcher.h (+1/-0)
plugins/unityshell/src/unityshell.cpp (+57/-50)
plugins/unityshell/src/unityshell.h (+2/-0)
po/POTFILES.in (+1/-0)
po/unity.pot (+70/-3)
shortcuts/ShortcutController.cpp (+4/-6)
shortcuts/ShortcutView.cpp (+113/-48)
shortcuts/ShortcutView.h (+9/-3)
shutdown/SessionButton.cpp (+30/-5)
shutdown/SessionButton.h (+5/-0)
shutdown/SessionController.cpp (+2/-0)
shutdown/SessionView.cpp (+68/-27)
shutdown/SessionView.h (+5/-0)
tests/test-gestures/LockScreenControllerMock.h (+43/-0)
tests/test-gestures/sed_script_switcher (+2/-0)
tests/test-gestures/unityshell_mock.h (+8/-1)
tests/test_lockscreen_controller.cpp (+0/-1)
tests/test_switcher_view.cpp (+1/-2)
tests/test_unity_window_view.cpp (+9/-9)
unity-shared/EMConverter.cpp (+2/-2)
unity-shared/IMTextEntry.cpp (+7/-0)
unity-shared/IMTextEntry.h (+2/-0)
unity-shared/PluginAdapter.cpp (+43/-10)
unity-shared/RawPixel.cpp (+1/-1)
unity-shared/TextInput.cpp (+178/-4)
unity-shared/TextInput.h (+19/-4)
unity-shared/UnityWindowStyle.cpp (+135/-62)
unity-shared/UnityWindowStyle.h (+35/-20)
unity-shared/UnityWindowView.cpp (+53/-25)
unity-shared/UnityWindowView.h (+6/-0)
- Unity Team: Pending requested
-
Diff: 1674 lines (+1380/-30) (has conflicts)7 files modifiedCMakeLists.txt (+5/-0)
ChangeLog (+1162/-0)
debian/changelog (+77/-26)
debian/control (+1/-1)
po/unity.pot (+70/-3)
shutdown/SessionView.cpp (+55/-0)
shutdown/SessionView.h (+10/-0)
Changed in unity: | |
status: | New → Confirmed |
importance: | Undecided → Low |
Changed in unity (Ubuntu): | |
importance: | Undecided → Low |
status: | New → Confirmed |
Changed in compiz: | |
milestone: | 0.9.8.0 → 0.9.8.1 |
Changed in compiz: | |
milestone: | 0.9.8.2 → 0.9.8.4 |
tags: | added: rls-q-incoming |
Changed in oem-priority: | |
importance: | Undecided → High |
Changed in oem-priority: | |
status: | New → Incomplete |
Changed in compiz: | |
milestone: | 0.9.8.4 → 0.9.9.0 |
Changed in oem-priority: | |
status: | Incomplete → Confirmed |
description: | updated |
tags: | added: udp |
Changed in ayatana-design: | |
assignee: | nobody → John Lea (johnlea) |
importance: | Undecided → High |
Changed in compiz: | |
importance: | Medium → High |
Changed in compiz-core: | |
importance: | Medium → High |
Changed in compiz (Ubuntu): | |
importance: | Medium → High |
status: | Confirmed → Triaged |
Changed in compiz: | |
status: | Confirmed → Triaged |
Changed in compiz-core: | |
status: | Confirmed → Triaged |
Changed in ayatana-design: | |
status: | New → Fix Committed |
Changed in compiz: | |
milestone: | 0.9.9.0 → 0.9.9.2 |
Changed in compiz: | |
milestone: | 0.9.9.2 → 0.9.10.0 |
Changed in compiz: | |
milestone: | 0.9.10.0 → 0.9.10.2 |
Changed in compiz: | |
milestone: | 0.9.10.2 → 0.9.11.0 |
Changed in ayatana-design: | |
status: | Fix Committed → Fix Released |
Changed in ayatana-design: | |
status: | Fix Released → Fix Committed |
Changed in unity: | |
importance: | Undecided → High |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
milestone: | none → 7.2.1 |
status: | New → In Progress |
description: | updated |
Changed in unity: | |
milestone: | 7.2.1 → 7.3.0 |
description: | updated |
Changed in unity (Ubuntu): | |
importance: | Undecided → High |
Changed in unity: | |
status: | Fix Committed → Fix Released |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
tags: | added: rls-w-incoming |
Changed in compiz (Ubuntu): | |
status: | Triaged → Won't Fix |
Changed in compiz: | |
milestone: | 0.9.11.0 → none |
status: | Triaged → Won't Fix |
Further information:
You will need virt-manager installed to replicate this.
I am also noting similar (though not *exactly* the same) behaviour in vinagre. If I press the Super key when connected to a vnc session, the key press is registered, however, if I then click on any application on my second desktop, and click on an application on my first desktop, the menu pops up again. Again, this is not something that was ever a problem before unity became my desktop.