Unity hijacks super combos without informing Compiz

Reported by rwhitehurst on 2011-04-30
86
This bug affects 19 people
Affects Status Importance Assigned to Milestone
Unity
Medium
Andrea Azzarone
unity (Ubuntu)
Medium
Andrea Azzarone

Bug Description

Unity has a large number of non-configurable keyboard shortcuts, and a small number of user-configurable keyboard shortcuts. Standard behavior in Compiz allows for configuration of keyboard shortcuts. When specifying a new keyboard shortcut for an action, Compiz informs the user if the key combination is already in use. However, for the hardcoded keyboard shortcuts (e.g. Super-t to open Trash), Compiz is unaware they are previously bound. Thus Compiz freely allows the user to change a keyboard shortcut to one already hardcoded to a Unity function, which is confusing for the user.

In general, Unity should not hardcode any keyboard shortcuts anyway, instead opting to provide defaults configurable via CCSM, but lacking this, Unity needs to at least reserve the keyboard shortcuts via standard means in Compiz.

Timothy Kross (timkross) on 2011-05-02
Changed in ayatana-design:
status: New → Confirmed
Changed in unity:
status: New → Confirmed
TomasHnyk (sup) wrote :

I second this, a typical usecase (at least the one that got me across this bug) is remapping Ctrl-Alt-Numpad # shortcuts on a laptop (where there is no functioning numpad). In my case, I wanted to to remap it to the grid
7 8 9
U I O
J K L
M
But alas, ctrl+alt+l is taken and cannot be retaken.

From my understanding, this is a separate issue from bug #704231 in that bug #704231 is concerning Unity stealing Super combos from applications outside Compiz, while this issue is that Unity claims certain Super combos without making them available to Compiz. Mark Shuttleworth's first comment on the other issue was that Super should be reserved for window manager functions, which means it should be available to Compiz for reassignment.

Unity reserves certain key combos through standard Compiz means (e.g., Key to show launcher, Key to execute a command) but doesn't reserve others (e.g., Super-t to open the trash), instead opting to override the key. This means if a user tries to register Super-t in another Compiz plugin, Compiz doesn't complain like it normally does. This is bad, and separate from the issue raised in bug #704231.

Didier Roche (didrocks) on 2011-05-30
Changed in unity (Ubuntu):
status: New → Confirmed
Changed in unity (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
Didier Roche (didrocks) on 2011-06-24
Changed in unity:
status: Confirmed → Triaged
Changed in unity:
assignee: nobody → Andrea Azzarone (andyrock)
Changed in unity (Ubuntu):
assignee: nobody → Andrea Azzarone (andyrock)
Changed in unity:
milestone: none → 5.2.0
Changed in unity:
status: Triaged → In Progress
Changed in unity (Ubuntu):
status: Triaged → In Progress
John Lea (johnlea) on 2012-01-30
no longer affects: ayatana-design
Omer Akram (om26er) on 2012-01-30
Changed in unity:
importance: Undecided → Medium
Didier Roche (didrocks) on 2012-02-03
Changed in unity:
milestone: 5.2.0 → 5.4.0
Didier Roche (didrocks) on 2012-02-17
Changed in unity:
milestone: 5.4.0 → 5.6.0
Didier Roche (didrocks) on 2012-03-12
Changed in unity:
milestone: 5.6.0 → 5.8.0
Didier Roche (didrocks) on 2012-03-23
Changed in unity:
milestone: 5.8.0 → 5.10.0
Omer Akram (om26er) wrote :

@Andy still working on this?

Daniel van Vugt (vanvugt) wrote :

This bug is due to Unity completely bypassing Compiz to intercept Super+otherkeys events. It's a design problem with Unity, which I didn't think anyone would be willing to fix very soon. Because it means rewriting all the Super+key handling in unityshell.cpp.

See: UnityScreen::InitHints in unityshell.cpp and ShortcutController.cpp.

Changed in unity:
status: In Progress → Triaged
Changed in unity (Ubuntu):
status: In Progress → Confirmed
Changed in unity:
milestone: 5.10.0 → backlog
Tim Penhey (thumper) on 2012-09-14
Changed in unity:
milestone: backlog → none
Tim Penhey (thumper) on 2012-09-14
tags: added: exbacklog
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers