globalShortcut

さまざまなショートカットの動作をカスタマイズするために、オペレーティングシステムのグローバルのキーボードショートカットをglobalShortcutモジュールは登録したり、解除したりできます。

Note: ショートカットはグローバルです。アプリがキーボードフォーカスを持っていなくても動作します。appモジュールの readyイベントが出力されるまでは使うべきではありません。

const electron = require('electron');
const app = electron.app;
const globalShortcut = electron.globalShortcut;

app.on('ready', function() {
  // Register a 'ctrl+x' shortcut listener.
  var ret = globalShortcut.register('ctrl+x', function() {
    console.log('ctrl+x is pressed');
  });

  if (!ret) {
    console.log('registration failed');
  }

  // Check whether a shortcut is registered.
  console.log(globalShortcut.isRegistered('ctrl+x'));
});

app.on('will-quit', function() {
  // Unregister a shortcut.
  globalShortcut.unregister('ctrl+x');

  // Unregister all shortcuts.
  globalShortcut.unregisterAll();
});

メソッド

globalShortcutモジュールは次のメソッドを持ちます:

globalShortcut.register(accelerator, callback)

acceleratorのグローバルショートカットを登録します。callbackは、ユーザーが登録しているショートカットを押したときにコールされます。

ほかのアプリケーションがすでにacceleratorを使用している時、この呼び出しは静かに失敗します。アプリケーション間でグローバルショートカットの争いをしてほしくないので、オペレーティングシステムはこの挙動を採用しています。

globalShortcut.isRegistered(accelerator)

このアプリケーションがacceleratorに登録されているかどうかを返します。

acceleratorがすでにほかのアプリケーションで取得していると、このコールは、falseを返します。アプリケーション間でグローバルショートカットの争いをしてほしくないので、オペレーティングシステムはこの挙動を採用しています。

globalShortcut.unregister(accelerator)

Unregisters the global shortcut of acceleratorのグローバルショートカットを解除します。

globalShortcut.unregisterAll()

全てのグローバルショートカットを解除します。