acceso rápido global
Detecta los eventos del teclado cuando la aplicación no tiene el enfoque en el teclado.
Proceso: principal
El módulo globalShortcut
puede registrar o quitar un atajo del teclado global con el sistema operativo para que se puedan personalizar las operaciones para varios atajos.
[!NOTE] The shortcut is global; it will work even if the app does not have the keyboard focus. This module cannot be used before the
ready
event of the app module is emitted. Please also note that it is also possible to use Chromium'sGlobalShortcutsPortal
implementation, which allows apps to bind global shortcuts when running within a Wayland session.
const { app, globalShortcut } = require('electron')
// Enable usage of Portal's globalShortcuts. This is essential for cases when
// the app runs in a Wayland session.
app.commandLine.appendSwitch('enable-features', 'GlobalShortcutsPortal')
app.whenReady().then(() => {
// 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()
})
Métodos
El módulo globalShortcut
tiene los siguientes métodos:
globalShortcut.register(accelerator, callback)
accelerator
Acceleratorcallback
Function
Devuelve boolean
- Si el acceso fue registrado con éxito.
Registra un atajo global del acelerador
. El callback
es llamado cuando el atajo registrado es presionado por el usuario.
Cuando el acelerador ha sido tomado por otras aplicaciones, esta llamada fallará silenciosamente. Este comportamiento está diseñado por los sistemas operativos, debido a que no desean que las aplicaciones tengan conflictos por los atajos globales.
The following accelerators will not be registered successfully on macOS 10.14 Mojave unless the app has been authorized as a trusted accessibility client:
- "Media Play/Pause"
- "Media Next Track"
- "Media Previous Track"
- "Media Stop"
globalShortcut.registerAll(accelerators, callback)
accelerators
Accelerator[] - an array of Accelerators.callback
Function
Registra un atajo global de todos los elementos acelerador
en aceleradores
. callback
es llamado cuando el usuario presiona alguno de los atajos registrados.
Cuando el acelerador ya ha sido tomado por otras aplicaciones, esta llamada fallará silenciosamente. Este comportamiento está diseñado por los sistemas operativos, debido a que no desean que las aplicaciones tengan conflictos por los atajos globales.
The following accelerators will not be registered successfully on macOS 10.14 Mojave unless the app has been authorized as a trusted accessibility client:
- "Media Play/Pause"
- "Media Next Track"
- "Media Previous Track"
- "Media Stop"
globalShortcut.isRegistered(accelerator)
accelerator
Accelerator
Devuelve boolean
- Si esta aplicación tiene registrado accelerator
.
Cuando el acelerador ha sido tomado por otras aplicaciones, esta llamada aun devolverá false
. Este comportamiento está diseñado por los sistemas operativos, debido a que no desean que las aplicaciones tengan conflictos por los atajos globales.
globalShortcut.unregister(accelerator)
accelerator
Accelerator
Anula el registro del atajo del accelerator
.
globalShortcut.unregisterAll()
Anula el registro todos los atajos globales.