El módulo globalShortcut puede registrar (o anular) un atajo de teclado global con el sistema operativo para que pueda personalizar las operaciones para varios atajos para realizar funciones específicas en cada caso; por ejemplo, la famosa combinación de Control/Command + S para guardar el estado de la aplicación, es fácil de capturar en Electron.js:
const { globalShortcut } = require('electron')
globalShortcut.register('CommandOrControl+S', () => {
// TO DO
});
Para anular o desregistrar una combinación:
globalShortcut.unregister('CommandOrControl+X')
Para anular o desregistrar todos los atajos:
globalShortcut.unregisterAll()
Desde el menú en Electron.js, podemos especificar una propiedad llamada accelerator con el cual también podemos especificar los atajos de teclado; por ejemplo:
menu.js
const { app, ipcMain, Menu, shell, BrowserWindow, globalShortcut } = require('electron')
const { open_file, save_file } = require("./editor-options")
const template = [
***
{
label: 'File',
submenu: [
{
label: "Save",
accelerator: 'CommandOrControl+Shift+S',
click() {
const win = BrowserWindow.getFocusedWindow()
win.webContents.send('editorchannel', 'file-save')
}
},
},
***
]
Recuerda que el material anterior forma parte sobre mi curso completo sobre Electron.js
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter