Registry / keyname

keyname

JSON →
library0.6.0jsnpmunverified

keyname is a JavaScript utility designed to translate numeric keyboard event key codes into more human-readable string names. For instance, it can convert a key code of `27` to "esc" or `65` to "a". Released as version `0.1.0` and last updated approximately 11 years ago, this package originates from the 'component' ecosystem, which was a frontend package manager system that predated or competed with the widespread adoption of npm for browser-side modules. Consequently, the package is considered abandoned, with no active development, bug fixes, or new features. While it serves its original function of mapping legacy `KeyboardEvent.keyCode` values, its relevance has significantly diminished due to the broad browser support for the native `KeyboardEvent.key` and `KeyboardEvent.code` properties, which directly provide string representations of pressed keys, handling variations in keyboard layouts and modifier states. This means developers typically no longer need a utility like `keyname` for new projects or modern browser targets. It reports having zero runtime dependencies and a minimal number of downstream dependents (8 projects), reflecting its specialized and now largely superseded role.

npm install keyname
INSTALL
IMPORT
SIG · KEYNAME
K
keyname
javascriptv0.6.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

keyname
const keyname = require('keyname');
import keyname from 'keyname';
This package is CommonJS-only and does not support ES Modules. Using 'import' will result in an error.

Demonstrates basic usage of `keyname` to convert numeric key codes to string names, also noting modern alternatives.

const keyname = require('keyname'); // Get name for Escape key code console.log(keyname(27)); // => "esc" // Get name for 'A' key code console.log(keyname(65)); // => "a" // Get name for '1' key code console.log(keyname(49)); // => "1" // Unknown key codes return undefined console.log(keyname(23123123)); // => undefined // In modern browsers, consider using KeyboardEvent.key directly: // document.addEventListener('keydown', (event) => { // console.log('Pressed key:', event.key); // });
Debug
Known issues
deprecatedThe package `keyname` is abandoned and has not been updated in over a decade. Its functionality, which relies on `KeyboardEvent.keyCode`, is superseded by the widely supported `KeyboardEvent.key` and `KeyboardEvent.code` properties available natively in modern browsers.
fix
For new projects or modern browser support, prefer `KeyboardEvent.key` or `KeyboardEvent.code`. If targeting very old browsers where `KeyboardEvent.key` is unavailable, consider a more actively maintained polyfill or a library that provides graceful degradation.
affects: >=0.1.0
gotchaThis package is CommonJS-only (uses `require()`) and does not provide ES Module (`import`) exports. Attempting to import it using `import` syntax in an ESM context will lead to runtime errors.
fix
Ensure your project or file uses CommonJS (`const keyname = require('keyname');`) or configure your bundler (e.g., Webpack, Rollup, Parcel) to handle CJS modules in an ESM environment. However, migration to native `KeyboardEvent.key` is strongly recommended.
affects: >=0.1.0
gotchaThe package is unmaintained, meaning it will not receive security updates, bug fixes, or new features. Relying on unmaintained code can introduce security vulnerabilities or compatibility issues with newer JavaScript runtimes or browser environments.
fix
Avoid using this package in new development. For existing projects, evaluate the risk and consider migrating to native browser APIs or a actively maintained alternative.
affects: >=0.1.0
Errors
Common errors & fixes
ReferenceError: require is not defined
Attempting to use `require('keyname')` in an ES Module context (e.g., a modern browser environment or Node.js module with `"type": "module"` in package.json) where `require` is not available.
fix
This package is CJS-only. If you must use it, ensure your environment supports CommonJS modules. However, the recommended fix is to migrate away from `keyname` and use `KeyboardEvent.key` directly on the event object.
event.keyCode is deprecated
While `keyname` processes `keyCode` values, the `keyCode` property itself on `KeyboardEvent` objects is deprecated by modern web standards and browsers.
fix
Access `event.key` directly on the `KeyboardEvent` object instead of using `event.keyCode`. This provides a more robust and localized string representation of the pressed key.
Upgrade
Version history
0.6.0latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
4 hits · last 30 days
node
4
Resources
keyname — npm install keyname · libregistry