64 lines
2.6 KiB
Markdown
64 lines
2.6 KiB
Markdown
# globalShortcut
|
|
|
|
さまざまなショートカットの動作をカスタマイズするために、オペレーティングシステムのグローバルのキーボードショートカットを`globalShortcut`モジュールは登録したり、解除したりできます。
|
|
|
|
**Note:** ショートカットはグローバルです。アプリがキーボードフォーカスを持っていなくても動作します。`app`モジュールの `ready`イベントが出力されるまでは使うべきではありません。
|
|
|
|
```javascript
|
|
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` [Accelerator](accelerator.md)
|
|
* `callback` Function
|
|
|
|
`accelerator`のグローバルショートカットを登録します。`callback`は、ユーザーが登録しているショートカットを押したときにコールされます。
|
|
|
|
ほかのアプリケーションがすでにacceleratorを使用している時、この呼び出しは静かに失敗します。アプリケーション間でグローバルショートカットの争いをしてほしくないので、オペレーティングシステムはこの挙動を採用しています。
|
|
|
|
### `globalShortcut.isRegistered(accelerator)`
|
|
|
|
* `accelerator` [Accelerator](accelerator.md)
|
|
|
|
このアプリケーションが`accelerator`に登録されているかどうかを返します。
|
|
|
|
acceleratorがすでにほかのアプリケーションで取得していると、このコールは、`false`を返します。アプリケーション間でグローバルショートカットの争いをしてほしくないので、オペレーティングシステムはこの挙動を採用しています。
|
|
|
|
### `globalShortcut.unregister(accelerator)`
|
|
|
|
* `accelerator` [Accelerator](accelerator.md)
|
|
|
|
Unregisters the global shortcut of `accelerator`のグローバルショートカットを解除します。
|
|
|
|
### `globalShortcut.unregisterAll()`
|
|
|
|
全てのグローバルショートカットを解除します。
|