I am a big fan of dropdown terminals, like Guake on Linux of ITerm2 on Mac. And I really like having it accessible just by pressing one button. My favorite placement for the Guake hotkey has been the backtick key ( ` - grave assent). The problem is obviously that you loose the backtick, which for many is not a big deal, but it is often used to highlight code snippets in various message boards with markdown and is also used in shell, so it might be inconvenient to have to copy/paste it every time. On the other hand there is arguably the most redundant, useless and frustration-inducing key on the keyboard - the CapsLock. I personally do not need, so it becomes a great candidate for a backtip impersonator.

Goals:

  • have backtick [ ` ] key open a dropdown terminal
  • make CapsLock output the backtick

I have only tested it on Ubuntu, but XKB is used in other distributions too, so give it a try.

Solution:

  • Modify /usr/share/X11/xkb/symbols/pc , section xkb_symbols "pc105":
   //key <CAPS> {  [ Caps_Lock     ]   };
   key <CAPS> {    [ grave, asciitilde ]   };
  • Modify /usr/share/X11/xkb/symbols/us (or whatever default layout you are using), section xkb_symbols "basic":
   //key <TLDE> {    [     grave, asciitilde  ]   };
   key <TLDE> {    [     XF86HomePage, asciitilde  ]   };

The idea is to make CapsLock behave entirely like a backtick/tilde button and to remap backtick to a virtual key that you do not use. I personally never use "HomePage" media key, so this is what my backtick became. You'll then just need to go to Guacke preferences and assign XF86HomePage as it's hotkey.
Those changes are not applied automatically, so you might need to logout/login, rm -rf /var/lib/xkb/* or dpkg-reconfigure xkb-data. That said, there seem to be some caches involved and for me personally rebooting worked most reliably to apply those changes.