@koding/keyconfig
v0.8.0
Published
stores keyboard shortcut definitions
Downloads
8
Readme
keyconfig
stores keyboard shortcut definitions.
usage
var keyconfig = new Keyconfig({
x: [
{
name: 'foo',
binding: [ [ 'ctrl+z' ], [ 'command+z' ] ]
}
]
});
keyconfig
.on('change', function (collection, model) { });
.find({ name: 'x '})
.find({ name: 'foo' })
.update({ binding: ['command+d'] });
spec
Below is an example of a collection:
{
"editor":
[
{
"name": "save",
"description": "Save",
"binding": [
[ "ctrl+s" ],
[ "command+s" ]
],
"options": {
"enabled": true
}
}
]
}
### fields
name
must be uniquebinding
is an array of two arrays that defines win and mac shortcuts respectivelydescription
is description textoptions
is always extended when you doupdate
api
keyconfig(collections={})
Collection(name, models=[])
.add(model)
.update(name, value={}, silent=false)
.toJSON()
.getCollidingWin()
.getCollidingMac()
Keyconfig
and Collection
instances also proxy underscore methods.
Model(value={})
.update(value={}, silent=false)
.getWinKeys()
.getMacKeys()
.getWinChecksum()
.getMacChecksum()
.toJSON()
Updating a model triggers a change
event that bubble up.
license
mit