Hardcoded Unity shortcuts responsible for several problems

Bug #1022743 reported by MC Return
92
This bug affects 20 people
Affects Status Importance Assigned to Milestone
Compiz
Opinion
Low
MC Return
Unity
Opinion
Low
MC Return
unity (Ubuntu)
Opinion
Low
MC Return

Bug Description

1. All the hardcoded Unity shortcuts (like Alt+Space, Ctrl+Tab or Super+Tab for example) are not shared with Compiz and the CCSM, so it is possible to double-bind the same keycombinations already used by Unity to other functions without CCSM even showing a warning about it...

2. There are conflicts with hardcoded Unity keycombinations, which are still adjustable via CCSM.
Example: You are unable to change the shortcut for the Window Menu (Alt+Space), although the option is there (CCSM->General->Key Bindings->Window Menu)
Changing the shortcut to anything else makes it snap back to Alt+Space. It is not possible to change the Mouse-shortcut, nor to use Alt+Button3 (Alt+rightMouseButton) for anything else than showing the window menu. Disabling the shortcut is also not possible.

3. If one can not assign hardcoded keybindings/key-mousebindings to anything else and is not able to disable them either, and one wants to use any program that utilizes the same keycombinations/key-mousecombinations (e.g. a game), it would not be possible to play it, because it would always bring up the hardcoded functions, no matter what...
Examples: Alt+Space will always bring up the window menu (window accessibility), Alt+Button3 (RMB) also

Revision history for this message
Bilal Akhtar (bilalakhtar) wrote :

1 isn't an issue, since Ctrl+Space and Ctrl+Tab aren't Unity shortcuts. Points 2 and 3 are still valid though.

Changed in unity:
status: New → Confirmed
importance: Undecided → Wishlist
milestone: none → backlog
importance: Wishlist → Low
Changed in unity (Ubuntu):
status: New → Confirmed
importance: Undecided → Low
MC Return (mc-return)
description: updated
MC Return (mc-return)
description: updated
Revision history for this message
MC Return (mc-return) wrote :

bilalakhtar, Ctrl+Space was a typo, I was meant to write Alt+Space, which is corrected now.
I would not consider this bugreport to be category "wishlist" as those are quite major bugs I am describing here:

Code-wise you can find those problems in unityshell.cpp, line 2990ff and in StandaloneShortcuts.cpp - you can find stuff like that there:

StandaloneShortcuts.cpp, line 41ff:
  // FIXME: Implemstd::shared_ptr<shortcut::AbstractHint>(ent it...
  hints.push_back(std::shared_ptr<shortcut::AbstractHint>(new shortcut::MockHint(_("Launcher"), "", "", _("Switch application via Launcher."), shortcut::HARDCODED_OPTION, "Super + Tab")));

line 53ff:
  hints.push_back(std::shared_ptr<shortcut::AbstractHint>(new shortcut::MockHint(_("Dash"), "", "", _("Switches between Lenses."), shortcut::HARDCODED_OPTION, "Ctrl + Tab")));
  hints.push_back(std::shared_ptr<shortcut::AbstractHint>(new shortcut::MockHint(_("Dash"), "", "", _("Moves the focus."), shortcut::HARDCODED_OPTION, _("Cursor Keys"))));
  hints.push_back(std::shared_ptr<shortcut::AbstractHint>(new shortcut::MockHint(_("Dash"), "", "", _("Open currently focused item."), shortcut::HARDCODED_OPTION, _("Enter / Return"))));

line 59ff (Note: Alt is not hardcoded anymore):
  // Is it really std::shared_ptr<shortcut::AbstractHint>(hard coded?
  hints.push_back(std::shared_ptr<shortcut::AbstractHint>(new shortcut::MockHint(_("Menu Bar"), "", "", _("Reveals application menu."), shortcut::HARDCODED_OPTION, "Alt")));

line 62:
  hints.push_back(std::shared_ptr<shortcut::AbstractHint>(new shortcut::MockHint(_("Menu Bar"), "", "", _("Moves focus between indicators."), shortcut::HARDCODED_OPTION, _("Cursor Left & Right"))));

line 68:
  hints.push_back(std::shared_ptr<shortcut::AbstractHint>(new shortcut::MockHint(_("Switching"), "", "", _("Moves the focus."), shortcut::HARDCODED_OPTION, _("Cursor Left & Right"))));

line 72ff:
  hints.push_back(std::shared_ptr<shortcut::AbstractHint>(new shortcut::MockHint(_("Workspaces"), "", "", _("Switch workspaces."), shortcut::HARDCODED_OPTION, _("Cursor Keys"))));
  //hints.push_bacstd::shared_ptr<shortcut::AbstractHint>(k(new shortcut::MockHint(_("Workspaces"), "", "", _("Move focused window to other workspace."), ...)

line 78ff:
  // I don't know std::shared_ptr<shortcut::AbstractHint>(if it is really hardcoded, but I can't find where this option is stored.
  hints.push_back(std::shared_ptr<shortcut::AbstractHint>(new shortcut::MockHint(_("Windows"), "", "", _("Open window accessibility menu."), shortcut::HARDCODED_OPTION, "Alt+Space")));

line 85:
  hints.push_back(std::shared_ptr<shortcut::AbstractHint>(new shortcut::MockHint(_("Windows"), "", "", _("Places window in corresponding positions."), shortcut::HARDCODED_OPTION, "Ctrl + Alt + Num")));

Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

I think this might be a compiz problem. As unity doesn't use the General options....soo Im adding compiz to this.

summary: - Hardcoded Unity shortcuts create multiple Compiz problems
+ Shortcuts in CCSM reset after getting changed.
MC Return (mc-return)
Changed in compiz:
assignee: nobody → MC Return (mc-return)
Changed in unity:
assignee: nobody → MC Return (mc-return)
Changed in unity (Ubuntu):
assignee: nobody → MC Return (mc-return)
Changed in compiz:
status: New → In Progress
Changed in unity:
status: Confirmed → In Progress
Changed in unity (Ubuntu):
status: Confirmed → In Progress
Omer Akram (om26er)
Changed in compiz:
importance: Undecided → Low
Changed in compiz:
milestone: none → 0.9.8.0
Changed in compiz:
milestone: 0.9.8.0 → 0.9.8.1
Changed in compiz:
milestone: 0.9.8.2 → 0.9.8.4
Tim Penhey (thumper)
Changed in unity:
milestone: backlog → none
Changed in compiz:
milestone: 0.9.8.4 → 0.9.9.0
Revision history for this message
MC Return (mc-return) wrote : Re: Shortcuts in CCSM reset after getting changed.

A small part of this has already been fixed, for example you now can configure the shortcut "Alt+Space" to show the window-menu without it snapping back.

A few hardcoded shortcuts are still left - I am listing those here to have them summarized in one place:

Dash:

                                                    _("Switches between Lenses."),
                                                    shortcut::HARDCODED_OPTION,
                                                    _("Ctrl + Tab")));

                                                    _("Moves the focus."),
                                                    shortcut::HARDCODED_OPTION,
                                                    _("Arrow Keys")));

                                                    _("Opens the currently focused item."),
                                                    shortcut::HARDCODED_OPTION,
                                                    _("Enter")));

Menu bar:

                                                    _("Reveals the application menu."),
                                                    shortcut::HARDCODED_OPTION,
                                                    "Alt"));

                                                    _("Moves focus between indicators."),
                                                    shortcut::HARDCODED_OPTION,
                                                    _("Cursor Left or Right")));

Switching:

                                                    _("Moves the focus."),
                                                    shortcut::HARDCODED_OPTION,
                                                    _("Cursor Left or Right")));

Windows:

                                                    _("Places the window in corresponding position."),
                                                    shortcut::HARDCODED_OPTION,
                                                    _("Ctrl + Alt + Num")));

Revision history for this message
MC Return (mc-return) wrote :

I had to change the title, because it does not reflect the most important problems and pointed to the one problem that already has been fixed.

summary: - Shortcuts in CCSM reset after getting changed.
+ Hardcoded Unity shortcuts responsible for several problems
Revision history for this message
IRIE Shinsuke (irie) wrote :

Alt+RMB is very important shortcut in Blender, so Unity is still useless for me (and Blender users)... Please fix it!

Revision history for this message
MC Return (mc-return) wrote :

@irie: The possibility to change Alt+RMB or remove this shortcut completely has already been fixed in trunk. Which version of Compiz/Unity/Ubuntu are you using ?

The fix has been merged into lp:unity @ revision 2664, please see here: https://code.launchpad.net/~mc-return/unity/unity.merge.fix-hardcoded-keys-part1/+merge/121545

The fix is available in the unity-team staging PPA for Quantal and Raring: https://launchpad.net/~unity-team/+archive/staging

I am not sure, if/when it gets backported to stable Precise/Quantal Unity versions.

Revision history for this message
IRIE Shinsuke (irie) wrote :

@mc-return:

Thanks for letting me know! Will test it later.

I'm using:

Ubuntu quantal + quantal-updates + quantal-backports
Unity 6.10.0-0ubuntu2
Compiz 1:0.9.8.4+bzr3407-0ubuntu1

Revision history for this message
Vaclav Cermak (disnel) wrote :

I have this problem "sometimes" with 12.10. I noticed, that shortcuts for window moving and resizing are bad as well when this bug is "active" (I have mapped initiate window move a resize window to Super+mouse button, it sometimes switches to Alt+mouse button). When I tried to change "Initiate window move" to Super+LMB in CCSM, the problem with Alt+RMB disappeared as well.

Changed in compiz:
milestone: 0.9.9.0 → 0.9.9.2
Revision history for this message
IRIE Shinsuke (irie) wrote :

I moved to Ubuntu 13.04, but Alt+RMB still is not configurable...

unity: 6.12.0daily13.03.13.1-0ubuntu1
compiz: 1:0.9.9~daily13.03.08-0ubuntu1

Changed in compiz:
milestone: 0.9.9.2 → 0.9.10.0
Changed in compiz:
milestone: 0.9.10.0 → 0.9.10.2
MC Return (mc-return)
Changed in compiz:
milestone: 0.9.10.2 → 0.9.11.0
Revision history for this message
darklight_ (clod) wrote :

With the next LTS release coming up and being the last bundle unity7 I think it's time to resurrect this bug and find a proper solution to either make the shortctus costumizable or at least to disable the hardcoded ones, the latter of which shouldn't be too hard.

MC Return could you provide a status update ?

Changed in compiz:
status: In Progress → Opinion
Changed in unity:
status: In Progress → Opinion
Changed in unity (Ubuntu):
status: In Progress → Opinion
Stephen M. Webb (bregma)
Changed in compiz:
milestone: 0.9.11.0 → none
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.