**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
case '~':
      *shifted = true;
      FALLTHROUGH;
    case '`':
      return ui::VKEY_OEM_3;
    case '{':
      *shifted = true;
      FALLTHROUGH;
    case '[':
      return ui::VKEY_OEM_4;
    case '|':
      *shifted = true;
      FALLTHROUGH;
    case '\\':
      return ui::VKEY_OEM_5;
    case '}':
      *shifted = true;
      FALLTHROUGH;
    case ']':
      return ui::VKEY_OEM_6;
    case '"':
      *shifted = true;
      FALLTHROUGH;
    case '\'':
      return ui::VKEY_OEM_7;
    default:
      return ui::VKEY_UNKNOWN;
  }
}
ui::KeyboardCode KeyboardCodeFromStr(const std::string& str, bool* shifted) {