w3c-keys

keyboardEvent.key compatible key codes with Typescript Definitions. Edit

Usage no npm install needed!

<script type="module">
  import w3cKeys from 'https://cdn.skypack.dev/w3c-keys';
</script>

README

w3c-keys

Build Status npm version npm

w3c-keys

keyboardEvent.key compatible key codes with Typescript Definitions.

Read https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key

Compatible with IE/Edge/Safari Key idiosyncrasies.

Super Lightweight: ~900 Bytes Gzipped (Potentially smaller when combined gzipped with a bigger app)

Usage

import { Key } from 'w3c-keys';

// To dispatch Events.
let evt = new KeyboardEvent('keydown', {
    key: Key.Space
});
document.body.dispatchEvent(evt);

// To check event keys.
document.body.on('keydown', (e) => {
    if(e.key === Key.Backspace) {
        // Do some shiz...
    }
});

Why not use evt.which keyCodes ?

  • evt.which keycodes are a deprecated standard.
  • Ability to create synthetic key events is not possible with evt.which.