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
Acceleratorcallback
Function
accelerator
のグローバルショートカットを登録します。callback
は、ユーザーが登録しているショートカットを押したときにコールされます。
ほかのアプリケーションがすでにacceleratorを使用している時、この呼び出しは静かに失敗します。アプリケーション間でグローバルショートカットの争いをしてほしくないので、オペレーティングシステムはこの挙動を採用しています。
globalShortcut.isRegistered(accelerator)
accelerator
Accelerator
このアプリケーションがaccelerator
に登録されているかどうかを返します。
acceleratorがすでにほかのアプリケーションで取得していると、このコールは、false
を返します。アプリケーション間でグローバルショートカットの争いをしてほしくないので、オペレーティングシステムはこの挙動を採用しています。
globalShortcut.unregister(accelerator)
accelerator
Accelerator
Unregisters the global shortcut of accelerator
のグローバルショートカットを解除します。
globalShortcut.unregisterAll()
全てのグローバルショートカットを解除します。