Detect keyboard events when the application does not have keyboard focus.
Process: Main
The globalShortcut
module can register/unregister a global keyboard shortcut
with the operating system so that you can customize the operations for various
shortcuts.
Note: The shortcut is global; it will work even if the app does
not have the keyboard focus. You should not use this module until the ready
event of the app module is emitted.
const {app, globalShortcut} = require('electron')
app.on('ready', () => {
// Register a 'CommandOrControl+X' shortcut listener.
const ret = globalShortcut.register('CommandOrControl+X', () => {
console.log('CommandOrControl+X is pressed')
})
if (!ret) {
console.log('registration failed')
}
// Check whether a shortcut is registered.
console.log(globalShortcut.isRegistered('CommandOrControl+X'))
})
app.on('will-quit', () => {
// Unregister a shortcut.
globalShortcut.unregister('CommandOrControl+X')
// Unregister all shortcuts.
globalShortcut.unregisterAll()
})
The globalShortcut
module has the following methods:
globalShortcut.register(accelerator, callback)
accelerator
Acceleratorcallback
FunctionRegisters a global shortcut of accelerator
. The callback
is called when
the registered shortcut is pressed by the user.
When the accelerator is already taken by other applications, this call will silently fail. This behavior is intended by operating systems, since they don't want applications to fight for global shortcuts.
globalShortcut.isRegistered(accelerator)
accelerator
AcceleratorReturns Boolean
- Whether this application has registered accelerator
.
When the accelerator is already taken by other applications, this call will
still return false
. This behavior is intended by operating systems, since they
don't want applications to fight for global shortcuts.
globalShortcut.unregister(accelerator)
accelerator
AcceleratorUnregisters the global shortcut of accelerator
.
globalShortcut.unregisterAll()
Unregisters all of the global shortcuts.