原文:https://github.com/electron/electron/blob/master/docs/api/global-shortcut.md
譯者:Lin
當(dāng)程序沒有鍵盤焦點時刪除鍵盤事件。
線程:主進(jìn)程
globalShortcut
模塊可以注冊/注銷一個操作系統(tǒng)的全局快捷鍵,所以你可以為操作自定義各種各樣的快捷鍵治筒。
注意:快捷鍵是全局的殿衰;甚至這個應(yīng)用沒有鍵盤焦點時也會工作氏堤。你不能使用這個模塊械哟,直到app
模塊的ready
事件被分發(fā)映凳。
const {app, globalShortcut} = require('electron')
app.on('ready', () => {
// 注冊一個'CommandOrControl+X'快捷鍵的監(jiān)聽录别。
const ret = globalShortcut.register('CommandOrControl+X', () => {
console.log('CommandOrControl+X被按下')
})
if (!ret) {
console.log('注冊失敗')
}
// 檢查這個快捷鍵是否被注冊。
console.log(globalShortcut.isRegistered('CommandOrControl+X'))
})
app.on('will-quit', () => {
// 注銷一個快捷鍵拘悦。
globalShortcut.unregister('CommandOrControl+X')
// 注銷所有快捷鍵齿兔。
globalShortcut.unregisterAll()
})
<h2 id="methods">Methods</h2>
globalShortcut
模塊有下面的方法:
<h3 id="globalShortcut-register"><code>globalShortcut.register(accelerator, callback)</code></h3>
-
accelerator
Accelerator類型 -
callback
Function類型
注冊一個accelerator
傳入的全局的快捷鍵。callback
被調(diào)用當(dāng)注冊的快捷鍵被用戶按下的時候础米。
當(dāng)accelerator
已經(jīng)被其他應(yīng)用占用分苇,這個調(diào)用將沒有任何反應(yīng)的失敗。這個行為是操作系統(tǒng)控制屁桑,因為它們(指操作系統(tǒng))不想讓應(yīng)用程序因為全局快捷鍵而產(chǎn)生沖突医寿。
<h3 id="globalShortcut-isRegistered"><code>globalShortcut.isRegistered(accelerator)</code></h3>
-
accelerator
Accelerator類型
返回值為Boolean
類型 - 應(yīng)用是否已經(jīng)注冊accelerator
。
當(dāng)accelerator
已經(jīng)被其他應(yīng)用程序占用蘑斧,這個方法將返回false
靖秩。這個行為是操作系統(tǒng)控制,因為它們(指操作系統(tǒng))不想讓應(yīng)用程序因為全局快捷鍵而產(chǎn)生沖突竖瘾。
<h3 id="globalShortcut-unregister"><code>globalShortcut.unregister(accelerator)</code></h3>
-
accelerator
Accelerator類型
傳入accelerator
來注銷一個全局快捷鍵沟突。
<h3 id="globalShortcut-unregisterAll"><code>globalShortcut.unregisterAll()</code></h3>
注銷所有全局快捷鍵。