globalShortcut
當應用程式沒有鍵盤焦點時,偵測鍵盤事件。
進程:主進程
globalShortcut
模組可以向作業系統註冊/取消註冊全域鍵盤快捷鍵,以便您可以自訂各種快捷鍵的操作。
注意: 快捷鍵是全域的;即使應用程式沒有鍵盤焦點,它也能運作。在發出 app 模組的 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)
註冊 accelerators
中所有 accelerator
項目的全域快捷鍵。當使用者按下任何已註冊的快捷鍵時,會呼叫 callback
。
當給定的加速器已被其他應用程式佔用時,此呼叫會靜默失敗。此行為是作業系統的預期行為,因為它們不希望應用程式爭奪全域快捷鍵。
除非應用程式已授權為受信任的輔助功能客戶端,否則在 macOS 10.14 Mojave 上無法成功註冊以下加速器
- 「媒體播放/暫停」
- 「媒體下一曲」
- 「媒體上一曲」
- 「媒體停止」
globalShortcut.isRegistered(accelerator)
accelerator
加速器
傳回 boolean
- 此應用程式是否已註冊 accelerator
。
當加速器已被其他應用程式佔用時,此呼叫仍將傳回 false
。此行為是作業系統的預期行為,因為它們不希望應用程式爭奪全域快捷鍵。
globalShortcut.unregister(accelerator)
accelerator
加速器
取消註冊 accelerator
的全域快捷鍵。
globalShortcut.unregisterAll()
取消註冊所有全域快捷鍵。