Skip to content
map ev.keyCode to human names
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


virtual keyCode to human name mapping. let's team up to quash all of the keyCode inconsistencies that we can!

var vkey = require('vkey')

document.body.addEventListener('keydown', function(ev) {
}, false)

cobbled together from Benvie's Keyboard and MDN.

contributing / making life better for everyone

EASY MODE, Step 0: Visit the test page. Go to Step 2.

Step 1: get the repo and run the test site.

$ git clone git://
$ cd vkey.git
$ npm install --dev .
$ npm start
$ # open localhost:3030

Step 2: open the site in all the browsers you have at your command! mash keys! note inconsistencies!

Step 3: open an issue with:

  1. your operating system
  2. the browser + version
  3. (as best as you can describe), what kind of keyboard you're using. images welcome! crude drawings of keyboards less welcome, but still a little welcome.
  4. what key you pressed
  5. what result you expected
  6. what result you got

Step 3, HARD MODE: open a pull request with all of the above, and a minimally invasive fix!

deviations thus far

  • meta left and right are reduced to <meta>, because no one really seems to support it correctly.
  • <unk> is coerced to <menu> on OSX, since it has no idea what that button is (using a dell keyboard.)



You can’t perform that action at this time.