MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

commands

Type Object
Obligatoire Non
Exemple
"commands": {
  "toggle-feature": {
    "suggested_key": {
      "default": "Ctrl+Shift+Y",
      "linux": "Ctrl+Shift+U"
    },
    "description": "Send a 'toggle-feature' event"
  }
}

Utilisez la clé commands pour définir un ou plusieurs raccourcis clavier pour votre extension.

Chaque raccourci est défini avec un nom, une combinaison de clés et une description. Une fois que vous avez défini certaines commandes dans manifest.json, vous pouvez écouter les combinaisons de touches associées en utilisant l'API JavaScript commands.

Syntaxe

La clé de command est un objet, et chaque raccourci est une propriété de celui-ci. Le nom de la propriété est le nom du raccourci.

Chaque raccourci est lui-même un objet, qui possède jusqu'à deux propriétés:

  • suggested_key: cela définit la combinaison des clés
  • description: une chaîne qui décrit ce raccourci

La propriété suggested_key est un objet,  qui peut avoir l'une des propriétés suivantes, qui sont toutes les chaînes :

  • "default", "mac", "linux", "windows", "chromeos", "android", "ios"

La valeur de chaque propriété est le raccourci clavier pour la commande sur la plate-forme donnée, sous la forme d'une chaîne contenant les touches séparées par "+". La valeur de "défaut" est utilisée sur toutes les plates-formes qui ne sont pas listées explicitement.

Par exemple:

"commands": {
  "toggle-feature": {
    "suggested_key": {
      "default": "Alt+Shift+U",
      "linux": "Ctrl+Shift+U"
    },
    "description": "Send a 'toggle-feature' event to the extension"
  },
  "do-another-thing": {
    "suggested_key": {
      "default": "Ctrl+Shift+Y"
    }
  }
}

Cela définit deux raccourcis:

  • Une nommée "toggle-feature", accessible à l'aide de Ctrl+Shift+U sur Linux, et Alt+Shift+U sur toutes les autres plates-formes
  • Une nommé "do-another-thing", accesible à l'aide de Ctrl+Shift+Y sur toutes les plates-formes.

Vous pouvez ensuite écouter la première de ces commandes avec le code  suivant :

browser.commands.onCommand.addListener(function(command) {
  if (command == "toggle-feature") {
    console.log("toggling the feature!");
  }
});

Raccourcis spéciaux

Il existe trois raccourcis spéciaux:

  • _execute_browser_action : fonctionne comme un clic d'une action navigateur de l'extension.
  • _execute_page_action : fonctionne comme un clic d'une action de page de l'extension.
  • _execute_sidebar_action : ouvre la barre latérale de l'extension. Uniquement supporté dans Firefox, et uniquement à partir de Firefox version 54.

Par exemple, cela définit une clé de combinaison pour cliquer sur l'action du navigateur d'extension:

"commands": {
  "_execute_browser_action": {
    "suggested_key": {
      "default": "Ctrl+Shift+Y"
    }
  }
}

Les valeurs de raccourci

Il existe deux formats valides pour les touches de raccourci : comme une combinaison de touches ou en tant que clé multimédia.

Combinations de touches

Sur Mac, "Ctrl" est interprété comme "Command", donc si vous avez réellement besoin de "Ctrl", spécifiez "MacCtrl".

Les combinaisons de touches doivent être composées de deux ou trois touches :

  • modificateur (obligatoire, à l'exception des touches de fonction). Il peut s'agir de : "Ctrl", "Alt", "Command", "MacCtrl".
  • second modificateur (optionel). Si fourni, cela doit être "Shift".
  • clé (obligatoire). Ceci peut etre l'un de :
    • les lettres A-Z
    • les chiffres 0-9
    • les touches de fonctions F1-F12
    • Comma, Period, Home, End, PageUp, PageDown, Space, Insert, Delete, Up, Down, Left, Right

Touches médias

Alternativement, le raccourci peut être spécifié comme l'une des clés de médias suivantes:

  • "MediaNextTrack", "MediaPlayPause", "MediaPrevTrack", "MediaStop"

Exemple

Définissez un seul raccourci, en utilisant uniquement la valeur par défaut:

"commands": {
  "toggle-feature": {
    "suggested_key": {
      "default": "Ctrl+Shift+Y"
    },
    "description": "Send a 'toggle-feature' event"
  }
}

Définissez deux raccourcis, un avec une combinaison de touches spécifique à la plate-forme:

"commands": {
  "toggle-feature": {
    "suggested_key": {
      "default": "Alt+Shift+U",
      "linux": "Ctrl+Shift+U"
    },
    "description": "Send a 'toggle-feature' event"
  },
  "do-another-thing": {
    "suggested_key": {
      "default": "Ctrl+Shift+Y"
    }
  }
}

Compatibilité du navigateur

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic supportYesNo48NoYes
F1-F12YesNo53NoYes
_execute_sidebar_actionNoNo54NoNo
globalYesNoNoNoYes
MediaNextTrackYesNoNoNoYes
MediaPlayPauseYesNoNoNoYes
MediaPrevTrackYesNoNoNoYes
MediaStopYesNoNoNoYes

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : hellosct1
 Dernière mise à jour par : hellosct1,