Estoy buscando referencias sobre cómo lograr presionar teclas fuera de la ventana de Electron (incluso cuando la ventana está minimizada). Similar a AutoHotKey. Estaba usando python para lograr esto (usando pynput) pero quería cambiar a Electron por su facilidad para crear UI. Hasta ahora he intentado algo como esto:
window.addEventListener('keydown', (e) => { console.log(e) }) window.dispatchEvent(new KeyboardEvent('keydown', { key: "e", keyCode: 69, code: "KeyE", which: 69, shiftKey: false, ctrlKey: false, metaKey: true }));Aunque estoy escuchando las claves correctamente, esto no parece funcionar como me gustaría. Agradecería recomendaciones para cualquier lectura adicional, tutoriales, etc.
En lugar de tratar de escuchar las pulsaciones de teclas en el subproceso de procesamiento, use el subproceso principal en su lugar.
Consulte GlobalShortcut de Electron para obtener más información.
Para obtener una lista de las combinaciones de atajos disponibles, consulte Acelerador .
Esta funcionalidad funcionará incluso si la ventana está minimizada.
main.js (hilo principal)
const electronApp = require('electron').app const electronGlobalShortcut = require('electron').globalShortcut let window = null; electronApp.on('ready', () => { // Create a window. window = new electronBrowserWindow ({ ... }); // Load the window. window.loadFile('./index.html') // Register your global shortcut(s). electronGlobalShortcut.register('Alt+J', shortcutPressed(); ) // Prove it works. function shortcutPressed() { console.log('Alt+J was pressed.'); } }) app.on('will-quit', () => { // Don't forget to unregister your global shortcut(s). globalShortcut.unregister('Alt+J') })