Default global hotkeys break application functionality

Bug #1196164 reported by manfreed
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Unity
Opinion
Undecided
Unassigned
unity (Ubuntu)
Opinion
Undecided
Unassigned

Bug Description

Some applications provide a lot of keyboard shortcuts for the advanced users. Many times theese shortcuts are already binded by the desktop environment. The corresponding functionality usually not lost, still accessible by other, more difficult method (like the menu bar)

Examples:
- In one of the commercial IDEs Alt-F7 would find variable usages. But since this shortcut is already handled by the WM a window resize starts instead. This is not what the user might expect, so it's confusing, and makes the desired function harder to access.

- Alt-clicking on a link in Chrome would save the link's target immediatey (without "save file as" dialog), but instead Alt-click initiates window move, this function afaik not accessible otherwise.

I'd suggest re-mapping the desktop environment level global hotkeys so they would use the Super key as modifier instead of alt, ctrl-alt.

Reasons:
- The "Super" key afaik is not used in any application as modifier, so less or no application level functionality would be broken.
- Modifying the current layout could be as easy as replacting "Ctrl-Alt-" with "Super-", since currenty the Super- counterpart of the current shortcuts are not used for anything. For example instead of locking the screen with Ctrl-Alt-L, Super-L could lock the screen. Super+drag coul move a window instead of Alt-drag, etc. This changes would be easy to assume to the users who might be familiar with the current shortcuts.
- It would make sense to use a different modifier for the functions provided by the desktop environment. The Super (Windows) key can easily suggest that the function has something to do with windows, or at least the desktop environment, and not the applications.

Revision history for this message
asmoore82 (asmoore82) wrote :

Alt+click to move a window is almost universal across FOSS desktops and has been for ages. IMHO Chrome should be embarrassed about that one.
Alt+F4 to close a window works across most FOSS and non-FOSS desktops.
Alt+F[789] have been the norm in Gnome and now Unity for quite some time.

Changing Alt+F4 would probably be the toughest sell of all because it bridges into non-FOSS compatibility and user expectations. I don't see how keeping Alt+F4 but making F[789] inconsistent with it could be anything but a step backwards.

Revision history for this message
manfreed (manfreed) wrote :

I agree with you that key bindings like Alt-F4 should not be changed. They are universal, not just across FOSS desktops. Not sure about Alt-F4, but even Android supports Alt-Tab when a keyboard is connected. So they are expected to work the way we got used to it by everyone.

Not changing these seems logical, because they work everywhere, no sensible developer would use alt-f4 for anything in their application.

The current bindings work great on FOSS desktops with FOSS applications that are designed specially for this environment. But what about big, multiplatform applications? What about appliations that we expect to be multiplatform some day?

It is easy to blame Chrome that they use a key binding that is not expected on FOSS desktop, but Chrome was originally a Windows application. We should be happy that they support Linux, not telling them to be embarrassed just because they are consistent with themselves.

Also for Chrome devs it would be easy to just assign a different modifier to that function, but what about big software that heavily use keyboard combinations? What about Adobe Photoshop where (afaik) every possible combination of click + alt, shift and/or ctrl are already used for something? How would they avoid using Alt?

I guess there is no inconsistency in changing only the keyboard shortcuts that (can) cause trouble with third party appliations, and leaving the universally known ones alone. Also I don't feel that it would be a step backwards, because the purpouse of these changes I proposed it to be more compatible with appications, which is a good thing. It would be a clear advantage, and a step towards logic.

Also I'm not suggesting huge, sudden and confusing changes. For example just use Super+L for screen lock instead of Ctrl+Alt+L. This is simple to follow because the main key remains the same. The choice for the modifier is understandable, because it is not used for anything, and it is used for similar purpouses on other desktops, it would even be consistent with Windows key bindings. Similarly with Alt-drag. How hard would be to learn to use Super+Drag instead? It might be an annoyance for a few times, but following a simple rule like "just use super instead of ctrl+alt" it shouldn't be that hard.

I'd like to add that Ubuntu already made more serious and more noticable changes. This wouldn't be as big as changing a whole desktop environment.

Revision history for this message
asmoore82 (asmoore82) wrote :

"The current bindings work great on FOSS desktops with FOSS applications that are designed specially for this environment. But what about big, multiplatform applications? What about appliations that we expect to be multiplatform some day?"

If it already works "great", but there is an issue with external "big" applications, then the bug belongs with the external applications, not with Unity.

Super does OS-level actions. Alt does window-level actions. Ctrl is available to the application. That is the consistency. Note that Locking the Screen has recently been changed to Super+l to support this consistency. But changing Alt breaks this consistency.

Andrea Azzarone (azzar1)
Changed in unity:
status: New → Opinion
Changed in unity (Ubuntu):
status: New → Opinion
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.