我想知道是否有方法使用Atom Electron創建應用程序,該應用程序在用戶未關注我的應用程序時運行並獲取我的鍵盤事件。即使應用程序未聚焦,Atom電子捕獲所有鍵盤事件
例如,如果他在Chrome上並寫入內容,我的應用將存儲他按下的所有按鍵。我搜索了一下,但沒有找到解決我的問題的東西。
我想知道是否有方法使用Atom Electron創建應用程序,該應用程序在用戶未關注我的應用程序時運行並獲取我的鍵盤事件。即使應用程序未聚焦,Atom電子捕獲所有鍵盤事件
例如,如果他在Chrome上並寫入內容,我的應用將存儲他按下的所有按鍵。我搜索了一下,但沒有找到解決我的問題的東西。
最接近的是你要找的是全球快捷方式:https://github.com/electron/electron/blob/master/docs/api/global-shortcut.md。雖然核心Electron中沒有任何東西支持捕獲所有鍵盤事件,但幸運的是,node.js與native node addons相當可擴展。
對於全局快捷鍵,你可以使用Electron Keyboard-Shortcuts module
const {app, globalShortcut} = require('electron')
app.on('ready',() => {
globalShortcut.register('CommandOrControl+X',() => {
console.log('CommandOrControl+X is pressed')
})
})
但該模塊支持只有快捷鍵。
如果您需要任何鑰匙聽/掛鉤,您應該使用另一個模塊,如iohook
const ioHook = require('iohook');
ioHook.on("keyup", event => {
console.log(event); // {keychar: 'f', keycode: 19, rawcode: 15, type: 'keup'}
});
ioHook.start();