**Is your feature request related to a problem? Please describe.**
The Caps Lock and Fn keys are useful to some, and not others. I would greatly enjoy being able to use these keys as modifiers for something more useful to me.

**Describe the solution you'd like**
Add global shortcuts support for the cap locks and fn keys. While these keys are not useless and are not proper modifier keys, I feel that the design choice should be left to the app developer.

**Describe alternatives you've considered**
The only alternative would be to use a keypress listener/sender to 'remap' the key to something Electron supports; or substitute electron's shortcut functionality completely.

**Additional context**
Using a 3rd party keypress listener does not feel safe.
atom/common/keyboard_util.cc
bool* shifted) {
  std::string str = base::ToLowerASCII(s);
  if (str == "ctrl" || str == "control") {
    return ui::VKEY_CONTROL;
  } else if (str == "super" || str == "cmd" || str == "command" ||
             str == "meta") {
    return ui::VKEY_COMMAND;
  } else if (str == "commandorcontrol" || str == "cmdorctrl") {
#if defined(OS_MACOSX)
    return ui::VKEY_COMMAND;
#else
    return ui::VKEY_CONTROL;
#endif
  } else if (str == "alt" || str == "option") {
    return ui::VKEY_MENU;
  } else if (str == "shift") {
    return ui::VKEY_SHIFT;
  } else if (str == "altgr") {
    return ui::VKEY_ALTGR;
  } else if (str == "plus") {
    *shifted = true;
    return ui::VKEY_OEM_PLUS;
  } else if (str == "tab") {
    return ui::VKEY_TAB;
  } else if (str == "num0") {