globalShortcut
Обнаружение событий клавиатуры, когда приложение не имеет фокуса на клавиатуре.
Процесс: Главный
Модуль globalShortcut может регистрировать/удалять глобальный ярлык клавиатуры в операционной системе, позволяя настроить действия для различных ярлыков.
Примечание: Ярлык глобальный; он будет работать даже если приложение не имеет фокуса на клавиатуре. Этот модуль нельзя использовать до того, как будет испущен ready события модуля приложения.
const { app, globalShortcut } = require('electron')
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()
})
Методы
Модуль globalShortcut имеет следующие методы:
globalShortcut.register(accelerator, callback)
-
acceleratorУскоритель -
callbackФункция
Возвращает boolean — успешно ли зарегистрирован ярлык.
Регистрирует глобальный ярлык accelerator. Функция callback вызывается, когда пользователь нажимает зарегистрированный ярлык.
Если ускоритель уже занят другими приложениями, этот вызов будет безмолвно проигнорирован. Это поведение задумано операционными системами, так как они не хотят, чтобы приложения конкурировали за глобальные ярлыки.
Следующие ускорители не будут успешно зарегистрированы в macOS 10.14 Mojave, если приложение не авторизовано как доверенный клиент доступности:
- "Воспроизведение/пауза медиа"
- "Следующий трек медиа"
- "Предыдущий трек медиа"
- "Стоп медиа"
globalShortcut.registerAll(accelerators, callback)
-
acceleratorsstring[] — массив ускорителей. -
callbackФункция
Регистрирует глобальный ярлык для всех accelerator элементов в accelerators. Функция callback вызывается, когда пользователь нажимает любой из зарегистрированных ярлыков.
Если ускоритель уже занят другими приложениями, этот вызов будет безмолвно проигнорирован. Это поведение задумано операционными системами, так как они не хотят, чтобы приложения конкурировали за глобальные ярлыки.
Следующие ускорители не будут успешно зарегистрированы в macOS 10.14 Mojave, если приложение не авторизовано как доверенный клиент доступности:
- "Воспроизведение/пауза медиа"
- "Следующий трек медиа"
- "Предыдущий трек медиа"
- "Стоп медиа"
globalShortcut.isRegistered(accelerator)
-
acceleratorУскоритель
Возвращает boolean — зарегистрировано ли этим приложением accelerator.
Если ускоритель уже занят другими приложениями, этот вызов всё равно вернёт false. Это поведение задумано операционными системами, так как они не хотят, чтобы приложения конкурировали за глобальные ярлыки.
globalShortcut.unregister(accelerator)
-
acceleratorУскоритель
Удаляет глобальный ярлык accelerator.
globalShortcut.unregisterAll()
Удаляет все глобальные ярлыки.
© GitHub Inc.
Licensed under the MIT license.
https://www.electronjs.org/docs/latest/api/global-shortcut