Open
Description
I need the keyboard events to trigger within <input>
fields for certain scopes. I have come up with the following solution:
const registerKeymasterScopeFilter = require('./register-keymaster-scope-filter');
registerKeymasterScopeFilter('input-scope', (e) => (true));
with the register-keymaster-scope-filter.js
module looking as follows:
const keymaster = require('keymaster')
const defaultFilter = keymaster.filter
const scopeFilters = {}
keymaster.filter = (e) => {
let currentScope = keymaster.getScope()
let scopeFilter = scopeFilters[currentScope]
if (typeof scopeFilter === 'function') {
return scopeFilter(e)
}
return defaultFilter(e)
}
module.exports = (scope, filter) => {
scopeFilters[scope] = filter
}
What are your thoughts on this approach?
Metadata
Metadata
Assignees
Labels
No labels