Keys.js - Introduction
▻http://bitwalker.github.io/keys.js
Define bindings with a name, and assign one or more keys or combinations of keys
Attach behavior to a binding
Execute one or more behaviors for a single binding
Execute toggle-like behavior for a binding using a simple API for that use case
Enable/disable bindings by name, or all at once
Use a simple API based on objects instead of strings to catch errors early on (spelling mistakes are caught immediately). This also allows Keys.js to help prevent creating invalid key combinations.
Serialize bindings for persistance using localStorage, or uploading to a server for personalized keybindings in your web application. Deserialize them easily using the same API.