node package manager

keycode

Convert between keyboard keycodes and keynames and vice versa.

keycode

Simple map of keyboard codes.

$ npm install keycode
$ component install timoxley/keycode
var keycode = require('keycode');
document.addEventListener('keydown', function(e) {
  console.log("You pressed", keycode(e))
})

keycode tries to make an intelligent guess as to what you're trying to discover based on the type of argument you supply.

Returns the name of the key associated with this event.

document.body.addEventListener('keyup', function(e) {
  console.log(keycode(e)) // prints name of key 
})

Due to the keypress event being weird,keycodecurrently does not support the keypress event, but this should not be an issue as keydown and keyup work perfectly fine.

Returns the lowercase name of a given numeric keycode.

keycode(13) // => 'enter' 

Returns the numeric keycode for given key name.

keycode('Enter') // => 13 
 
// keycode is not case sensitive 
keycode('eNtEr') // => 13 

Common aliases are also supplied:

> for (var alias in keycode.aliases) { console.log(alias, keycode(keycode(alias))) }
ctl ctrl
pause pause/break
break pause/break
caps caps lock
escape esc
pgup page up
pgdn page down
ins insert
del delete
spc space

Key code/name maps are available directly as keycode.codes and keycode.names respectively.

keycode.names[13] // => 'enter' 
keycode.codes['Enter'] // => 13 
 project  : keycode
 repo age : 2 years, 4 months
 active   : 19 days
 commits  : 48
 files    : 13
 authors  :
    26 Tim Oxley        54.2%
    10 Tim              20.8%
     4 jkroso           8.3%
     3 Amir Abu Shareb  6.2%
     1 TJ Holowaychuk   2.1%
     1 Nathan Zadoks    2.1%
     1 Kenan Yildirim   2.1%
     1 Yoshua Wuyts     2.1%
     1 Greg Reimer      2.1%

Original key mappings lifted from http://jsfiddle.net/vWx8V/ via http://stackoverflow.com/questions/5603195/full-list-of-javascript-keycodes

MIT