polyfill for `KeyboardEvent.prototype.key`
Switch branches/tags
Clone or download
cvan Merge pull request #6 from qgustavor/patch-2
Set property enumerable and configurable
Latest commit b5fbcc5 Oct 6, 2017



Polyfill for KeyboardEvent.prototype.key.

NOTE: All major browsers now support KeyboardEvent.prototype.key. Firefox already shipped with this for a while; recent versions of Edge, Chrome, and Safari also now have shipped support. This will still enable KeyboardEvent.prototype.key in environments where it may not yet be available.


View Demo

Say goodbye to this:

document.addEventListener('keydown', function (e) {
  console.log('Code of key pressed:', e.which || e.keyCode);  // 39

And hello to this:

document.addEventListener('keydown', function (e) {
  console.log('Name of key pressed:', e.key);  // ArrowRight


From standalone script

Just drop the script on your page and call the polyfill method.

<script src="index.js"></script>

If you're using AMD:


From npm (Node/Browserify/WebPack)

Install from npm:

npm install keyboardevent-key-polyfill

Then require the CommonJS module for use with Browserify/webpack:



All code and content within this source-code repository is licensed under the Creative Commons Zero v1.0 Universal license (CC0 1.0 Universal; Public Domain Dedication).

You can copy, modify, distribute and perform this work, even for commercial purposes, all without asking permission.

For more information, refer to these following links: