Much as I like Unity and Gnome, getting global keyboard shortcuts and mouse clicks "right" is a source of continual frustration. We have:

  • The "settings" dialogs for keyboard and mouse
  • The ccsm tool with chainsaw-like ability to shred your system
  • Unity tweaks (another obscure application)
  • gconf-editor
  • Kernel configuration to access consoles through Ctrl-Alt-Fx
  • I don't know what else.

Recently, I tried to re-assign Super-L to lower a window rather than lock the screen for my 14.04 setup. We already have Ctrl-Alt-L to lower the screen anyway, I don't need a second shortcut. But after trying several tools to re-assign the key, I just gave up. Several layers of assignment all implemented the "same" shortcut, but it isn't easy to figure out which one(s) are actually causing the system to respond as it is. Without that information, it is hard to reconfigure.

This is a crazy-making setup that makes Linux harder to use than Windows for the average user: Too many arcane ways to set things up, and then a tangle of confusion trying to figure out why anything happens as it does. How I long for the good old days of fvwm, the simple window manager that could assign any key or mouse click combination to do anything in any context, and the entire configuration was in a single .fvwmrc file! Using Fvwm as the only holder of system-wide shortcuts make life simple, but the multi-layer approach makes Microsoft's regedit seem simple!

It would be wonderful if there were a simple script that could search all the system and user-specific files for a keyword, and report where keypress and mouse-click events matching a pattern are configured. Ideally, it would support a "universal" keypress and mouse-click description syntax or a GUI, and parse and match that in each of the many configuration files. A bonus would be if the script could print out a suggestion how to manage the setting with the least potential for inadvertent misconfiguration (for example, helping the user avoid using ccsm when it isn't needed).

  • Fn× handled by BIOS/Firmware or driver.

    Some vendors provide a way to customize them with limited options. If you are comparing with MS Windows, some vendors supplies tools with their binary drivers that can talk to BIOS some how.

    If it's handled by driver, See How do Fn keys work? or precisely Linux And Samsung Series 9 Laptop Fn Keys. Dell laptops uses dell_wmi kernel module. Look for other driver in the same folder.

  • CtrlAlt are console keys that need to be handled in the early boot stage. Try January's answer in Change Default TTY shortcut.

  • General Window Manager shortcuts like CtrlAltDel and Media keys Print. Most are handled by media-keys plugin from unity-setting-daemon package. They are stored in dconf database.

    gsettings list-recursively org.gnome.desktop.wm.keybindings
    gsettings list-recursively org.gnome.settings-daemon.plugins.media-keys


    dconf dump /org/gnome/desktop/wm/keybindings/
    dconf dump /org/gnome/settings-daemon/plugins/media-keys/

    I used to search dconf blindly, example looking for Print key:

    gsettings list-recursively | grep -i -e print
  • Unity shortcuts Super and other window management key. Currently, Ubuntu using Unity as a Compiz plugin. So its key bindings are stored within Compiz settings.

    ccsm → Advanced Search → Check Settings value: key name ex. super

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.