12

Any idea how I can get Chrome extension keyboard shortcuts working on a Mac? I have this in my manifest.json

"commands": {
  "trigger_me": {
    "suggested_key": {
      "default": "Ctrl+E"
    },
    "description": "Trigger test"
  }
}

When I look in the Chrome Extensions tab under Keyboard shortcuts I can see the 'Trigger test' entry but the actual shortcut is not set.

How can I set a default shortcut via manifest.json?

MB.
  • 4,167
  • 8
  • 52
  • 79

1 Answers1

47

As the manifest key name implies, suggested_key is only a suggestion for key binding. That suggestion will be taken into consideration only if the key is not already assigned to another command. In a Mac, "Ctrl+E" translates to "Command+E", which is assigned to "Uses selection for find".

You can review the list of commonly assigned shorcuts to find some combination that is unused. For instance, "Ctrl+Shift+K" worked for me.

Another thing to have in mind is that suggested keys are only considered when an extension is first installed. Disabling and enabling, updating, or reloading won't have any effect. So if you just changed the suggested key in your manifest and want to test it, you have to uninstall the extension and install it again.

rsanchez
  • 14,467
  • 1
  • 35
  • 46
  • 20
    +1 How did you find out about the re-installing requirement. That was a nasty one :) – gkalpak Dec 22 '13 at 10:41
  • As of 2014 reinstalling shouldn't be required. As per this: https://code.google.com/p/chromium/issues/detail?id=336420 – Sergej Popov Jun 01 '15 at 07:07
  • 1
    If you have for example DEV and PROD version of a extension, meaning both have same shortcut defined, then only first installed will work even if other is IS disabled. – Gapipro Jan 18 '16 at 13:07
  • 2
    Another caveat: when I change the name of my `command`, Reload is not sufficient for the change to take effect. I need to uninstall and re-install the extension in order for the suggested key action to have any effect. – mark Dec 23 '17 at 03:14
  • 1
    Wow - +1 to having to remove/reload the extension. I wasted an hour on this and could not figure out why the keystrokes worked if I set them via chrome://extensions/shortcuts – empire29 Oct 30 '20 at 13:38