В Electron можно отслеживать события клавиатуры, такие как зажатие и отпускание клавиши, используя модуль electron-localshortcut
. Этот модуль позволяет легко определять глобальные горячие клавиши и реагировать на события клавиатуры как в основном процессе, так и в окнах рендеринга.
Вот пример простого приложения Electron, которое отслеживает зажатие и отпускание клавиши:
1. Установите electron-localshortcut
с помощью npm:
npm install electron-localshortcut
2. Создайте файл main.js
для основного процесса:
const { app, BrowserWindow } = require('electron'); const localShortcut = require('electron-localshortcut'); let mainWindow; app.on('ready', () => { mainWindow = new BrowserWindow({ width: 800, height: 600 }); mainWindow.loadFile('index.html'); // Отслеживаем зажатие клавиши localShortcut.register(mainWindow, 'CommandOrControl+A', () => { console.log('Клавиша A нажата'); }); // Отслеживаем отпускание клавиши localShortcut.register(mainWindow, 'CommandOrControl+A', () => { console.log('Клавиша A отпущена', { isUnregistered: true }); }, { isUnregistered: true }); }); app.on('window-all-closed', () => { app.quit(); });
3. Создайте файл index.html
для окна рендеринга:
<!DOCTYPE html> <html> <head> <title>Electron Keyboard Events</title> </head> <body> <h1>Electron Keyboard Events</h1> </body> </html>
4. Добавьте в ваш файл package.json
скрипт для запуска Electron:
{ "scripts": { "start": "electron ." } }
5. Запустите приложение с помощью команды:
npm start
Теперь ваше Electron-приложение будет отслеживать зажатие и отпускание клавиши "CommandOrControl+A". Вы можете легко модифицировать этот пример для отслеживания других клавиш или комбинаций клавиш, а также добавить дополнительную логику обработки событий клавиатуры по вашему усмотрению.