Skip to content

Repository files navigation

keycode

Simple map of keyboard codes.

Build Status

Installation

npm

$ npm install keycode

component

$ component install timoxley/keycode

Example

varkeycode=require('keycode');document.addEventListener('keydown',function(e){console.log("You pressed",keycode(e))})

API

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

keycode(keycode:Event)

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,keycode currently does not support the keypress event, but this should not be an issue as keydown and keyup work perfectly fine.

keycode(keycode:Number)

Returns the lowercase name of a given numeric keycode.

keycode(13)// => 'enter'

keycode(name:String)

Returns the numeric keycode for given key name.

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

Name Aliases

Common aliases are also supplied:

>for(varaliasinkeycode.aliases){console.log(alias,keycode(keycode(alias)))}ctlctrlpausepause/breakbreakpause/breakcapscapslockescapeescpguppageuppgdnpagedowninsinsertdeldeletespcspace

keycode.isEventKey(event: Event, nameOrCode: String | Number)

Tests if an keyboard event against a given name or keycode. Will return true if the event matches the given name or keycode, false otherwise.

// assume event is an keydown event with key 'enter'keycode.isEventKey(event,'enter')// => truekeycode.isEventKey(event,'down')// => falsekeycode.isEventKey(event,13)// => truekeycode.isEventKey(event,40)// => false

Maps

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

keycode.names[13]// => 'enter'keycode.codes['enter']// => 13

Credit

 project : keycode
repo age : 3 years, 8 months
active : 29 days
commits : 66
files : 13
authors :
49	Tim Oxley 74.3%
4	jkroso 6.1%
3	Amir Abu Shareb 4.5%
1	Greg Reimer 1.5%
1	Kenan Yildirim 1.5%
1	Abel Toledano 1.5%
1	Sam 1.5%
1	TJ Holowaychuk 1.5%
1	Yoshua Wuyts 1.5%
1	Nathan Zadoks 1.5%
1	Brenton Simpson 1.5%
1	Brian Noguchi 1.5%
1	Gilad Peleg 1.5%

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

License

MIT

About

Convert between keyboard keycodes and keynames and vice versa.

Resources

Stars

459 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages