A hotkey api for javascript

npm install lavaK
18 downloads in the last week
36 downloads in the last month
 ___                               __  __     
/\_ \                             /\ \/\ \    
\//\ \      __     __  __     __  \ \ \/'/'   
  \ \ \   /'__`\  /\ \/\ \  /'__`\ \ \ , <    
   \_\ \_/\ \L\.\_\ \ \_/ |/\ \L\.\_\ \ \\`\  
   /\____\ \__/.\_\\ \___/ \ \__/.\_\\ \_\ \_\
   \/____/\/__/\/_/ \/__/   \/__/\/_/ \/_/\/_/

Hotkeys(hot as lava..) for javascript with a simple api.


The spec is simple and not set in stone.

lavaK.add(keycombo, fn)

Takes the keycombo(string) and a associated function to execute on triggering.
Returns a hotkey object, look further down for reference

var findHotkey = lavaK.add('ctrl+alt+f', find);

var computeHotkey = lavaK.add('shift+c', function(){


Takes a keycombo(string) same as add, and removes all associated functions.

var findHotkey = lavaK.add('ctrl+alt+f', find);
var findHotkey2 = lavaK.add('ctrl+alt+f', find2);


Be carefull as this removes ALL associated functions. If you need to add several functions to the same keycombo and enable/disable them according to a specific state; you should use the hotkey.enable() and hotkey.disable().


Creating a new hotkey with lavaK.add() returns a lavaK object with functions for disabling the hotkey and reenabling it. You can assign more than one function to a given key combo, and disable/enable them individually.


Enables the given hotkey

var findHotkey = lavaK.add('ctrl+alt+f', find);


Disables the given hotkey

var findHotkey = lavaK.add('ctrl+alt+f', find);


You can integrate lavaK into your project in several ways.


npm install lavaK


<script type="text/javascript" src="./path/to/lavaK.min.js"></script>

lavaK is then bound directly to the context, in this instance window. And you can access it everywhere in your code. This is the quick and dirty way.

You can require it with and AMD module loader, for example requirejs.

Or you can include it into your ender build by using:

ender build lavaK
ender add lavaK

The lavaK API is then available at the ender global $ or can be required with enders require function.

var lavaK = require('lavaK') //require
npm loves you