This post provides a workaround for the issue of Unity stealing the super key modifier and hence preventing custom keybindings which use this modifier.
Under the default settings for Unity it seems that pressing the super key can only be used for unity related tasks. This can be problematic if user would like to keep Unity, but,
- User would like to change/disable the default maps for <Super>+S, <Super>+A, <Super>+F, which in Unity are used for particular tasks. Unity does not currently provide a setting to change these bindings, someone should probably file a bug about it.
- In general, user would like to map <Super>+key to a custom command, such as Super+L = lock the screen, Super+n = negative, or Super+scroll = zoom desktop.
The problem with the default settings is that, as soon as <Super> is pressed, an action is taken to pass focus to Unity's interface, and subsequent key presses are muted. This effectively disables Super as a modifier key in most cases.
A possible workaround involves changing the default key to bring up unity's interface.
- Go to ccsm
- unity, behaviour
- Change the "key to show the launcher" to <Super>+anotherModifier (or some other sequence of only modifier kes)
- Press back or exit ccsm to apply changes
- Note, in order to continue to be able to use unity's useful <Super>+[0-9] feature, "anotherModifier" must be a modifier key, such as alt, shift or control.
- I recommend <super>+<alt> since it is close to the Super key and usually both can be pressed with the thumb
- If you want the <Super>+n for "toogle screen negative" and <Super>+mouseScroll for zoom utilities back, simply re enable "Negative" and "Zoom Desktop" from ccsm. They now should work.
Now, previous "unity commands" which were accessible via <Super>+[0-9asf] are accessible via <Super>+anotherModifier+[0-9asf]. This frees up <Super>+nonModifier to any custom action/command.
I have been frustrated with all this for a while, and there have been numerous bugs filed about this, I hope this helps someone.