Some add-ons may wish to define keyboard shortcuts for certain operations. This module exposes an API to create those.


// Define keyboard shortcuts for showing and hiding a custom panel.
var { Hotkey } = require("hotkeys");

var showHotKey = Hotkey({
  combo: "accel-shift-o",
  onPress: function() {
var hideHotKey = Hotkey({
  combo: "accel-alt-shift-o",
  onPress: function() {

API Reference



Module exports Hotkey constructor allowing users to create a hotkey for the host application.


Creates a hotkey who's onPress listener method is invoked when key combination defined by hotkey is pressed.

Please note: If more than one hotkey is created for the same key combination, the listener is executed only on the last one created

options : Object

Options for the hotkey, with the following keys:

combo : String

Any function key: "f1, f2, ..., f24" or key combination in the format of 'modifier-key':


Modifier keynames:

  • shift: The Shift key.
  • alt: The Alt key. On the Macintosh, this is the Option key. On Macintosh this can only be used in conjunction with another modifier, since Alt-Letter combinations are reserved for entering special characters in text.
  • meta: The Meta key. On the Macintosh, this is the Command key.
  • control: The Control key.
  • accel: The key used for keyboard shortcuts on the user's platform, which is Control on Windows and Linux, and Command on Mac. Usually, this would be the value you would use.
onPress : Function

Function that is invoked when the key combination hotkey is pressed.


Stops this instance of Hotkey from reacting on the key combinations. Once destroyed it can no longer be used.