What is w3c-keyname?
The w3c-keyname package is a utility library that helps in converting keyboard event key names to strings that are consistent with the W3C key names specification. This is particularly useful for handling keyboard interactions in web applications in a way that is consistent across different browsers and platforms.
What are w3c-keyname's main functionalities?
Convert key event to W3C key name
This feature allows you to pass a keyboard event object to the `keyName` function, which returns the W3C-compliant key name as a string. This is useful for identifying keys in a standardized manner.
"import { keyName } from 'w3c-keyname';\n\nconst event = new KeyboardEvent('keydown', {key: 'ArrowLeft'});\nconsole.log(keyName(event)); // 'ArrowLeft'"
Other packages similar to w3c-keyname
keycode
The 'keycode' package translates keyboard codes and key names to and from numeric key codes. It is similar to w3c-keyname in that it helps with keyboard event handling, but it focuses on key codes rather than standardized W3C key names.
keyboardjs
KeyboardJS is a library for binding keyboard combos without the pain of key codes and key names. It allows for complex key combinations and sequences, offering a higher-level abstraction compared to w3c-keyname. While w3c-keyname standardizes key names, KeyboardJS focuses on creating comprehensive keyboard interaction experiences.
W3C keyname
Tiny library that exports a function keyName
that takes a keyboard event and
returns a
KeyboardEvent.key
-style
string. Will use the actual key
property of the event if available,
and fall back to a value synthesized from the keyCode
otherwise.
Probably often wrong on non-US keyboards, since the correspondence
between a key code and the character it produces when shift is held is
predicted based on a hard-coded table. Meant as a fallback for
KeyboardEvent.key
, not a replacement.
The lookup tables from key codes (event.keyCode
) to names are
exported as base
(when Shift isn't held) and shift
(when Shift is
held).
License: MIT