50 lines
1.7 KiB
Markdown
50 lines
1.7 KiB
Markdown
|
|
keycharm
|
||
|
|
========
|
||
|
|
|
||
|
|
Easy and free library for binding keys.
|
||
|
|
|
||
|
|
Keycharm is on npm so you can install it with:
|
||
|
|
```
|
||
|
|
npm install keycharm
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
Example:
|
||
|
|
|
||
|
|
```
|
||
|
|
var keys = keycharm(options);
|
||
|
|
|
||
|
|
keys.bind("a", function () {}, 'keydown'); // key, callback function, 'keydown' or 'keyup'
|
||
|
|
```
|
||
|
|
|
||
|
|
Available options (all are optional):
|
||
|
|
```
|
||
|
|
{
|
||
|
|
container: document.getElementById("element"), // optional div to bind keycharm to. It will NEED a tabindex. When not supplied, this defaults to window.
|
||
|
|
preventDefault: true/false // default value: false;
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
Supported keys:
|
||
|
|
|
||
|
|
```
|
||
|
|
'a'-'z', 'A'-'Z', '0'-'9', 'F1'-'F12', 'space', 'enter', 'ctrl', 'alt', 'tab', 'shift',
|
||
|
|
'delete', 'esc', 'backspace', '-','=', '[', ']', 'left', 'up', 'right', 'down', 'pageup', 'pagedown'
|
||
|
|
|
||
|
|
numpad: 'num0'-'num9', 'num/', 'num*', 'num-', 'num+', 'num.'
|
||
|
|
```
|
||
|
|
|
||
|
|
Each initiation of keycharm has its own bindings to the key events.
|
||
|
|
|
||
|
|
Available methods:
|
||
|
|
|
||
|
|
```
|
||
|
|
.bind(key, callback, [type]); // bind key, type = 'keydown' or 'keyup', default type = keydown.
|
||
|
|
.unbind(key, [callback], [type]); // unbind key, type = 'keydown' or 'keyup', default type = keydown. No callback deletes all bound callbacks from key
|
||
|
|
.reset(); // remove all bound keys
|
||
|
|
.destroy(); // remove all bound keys and the event listeners of keycharm
|
||
|
|
.getKey(event); // get the key label of the event
|
||
|
|
.bindAll(function, 'keydown' or 'keyup'); // bind all keys to this function, could be used for testing or demos.
|
||
|
|
```
|
||
|
|
|
||
|
|
Keycharm is Dual-licensed with both the Apache 2.0 license as well as the MIT license. I'll leave it up to the user to pick which one they prefer.
|