{"_id":"keyboard-key","_rev":"410305","name":"keyboard-key","description":"A simple utility for determining the KeyboardEvent.key property from a keyboard event.","dist-tags":{"latest":"1.1.0"},"maintainers":[{"name":"levithomason","email":"me@levithomason.com"}],"time":{"modified":"2021-08-04T05:06:05.000Z","created":"2017-09-05T01:26:50.418Z","1.1.0":"2020-01-16T01:21:07.365Z","1.0.4":"2019-01-18T01:43:18.752Z","1.0.2":"2018-08-04T06:00:07.602Z","1.0.1":"2017-09-18T05:31:21.273Z","1.0.0":"2017-09-05T01:26:50.418Z"},"users":{"johniexu":true},"author":{"name":"Levi Thomason"},"repository":{"type":"git","url":"git+ssh://git@github.com/levithomason/keyboard-key.git"},"versions":{"1.1.0":{"name":"keyboard-key","version":"1.1.0","description":"A simple utility for determining the KeyboardEvent.key property from a keyboard event.","main":"src/keyboardKey.js","typings":"index.d.ts","author":{"name":"Levi Thomason"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/levithomason/keyboard-key.git"},"bugs":{"url":"https://github.com/levithomason/keyboard-key/issues"},"scripts":{"lint":"prettier --list-different \"**/*.js?(on|x)\" && eslint \"**/*.js?(on|x)\"","lint:fix":"prettier --write \"**/*.js?(on|x)\" && eslint --fix \"**/*.js?(on|x)\"","toc":"markdown-toc -i README.md","precommit":"yarn toc && lint-staged","prerelease":"yarn lint && yarn test","release:major":"yarn prerelease && ta-script npm/release major","release:minor":"yarn prerelease && ta-script npm/release minor","release:patch":"yarn prerelease && ta-script npm/release patch","test":"jest","test:watch":"yarn jest -- --watchAll"},"jest":{"collectCoverage":true,"collectCoverageFrom":["src/**/*.js","!**/node_modules/**","!**/test/**"],"coverageDirectory":"coverage","coverageThreshold":{"global":{"branches":50,"functions":50,"lines":50,"statements":50}},"roots":["./src","./test"],"testMatch":["**/*.spec.js"],"testEnvironment":"node"},"lint-staged":{"*.js?(on|x)":["prettier --write","eslint --fix","git add"]},"devDependencies":{"babel-eslint":"^8.0.0","eslint":"^4.4.1","eslint-config-prettier":"^2.3.0","eslint-plugin-json":"^1.2.0","eslint-plugin-prettier":"^2.2.0","greenkeeper-lockfile":"^1.8.1","husky":"^0.14.3","jest":"^22.1.3","lint-staged":"^6.0.1","markdown-toc":"^1.1.0","prettier":"^1.6.1","ta-scripts":"^2.5.2"},"gitHead":"9f856f11b2a0bda6ecb7d36bd255634b9a39fae6","homepage":"https://github.com/levithomason/keyboard-key#readme","_id":"keyboard-key@1.1.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"shasum":"6f2e8e37fa11475bb1f1d65d5174f1b35653f5b7","size":7535,"noattachment":false,"key":"/keyboard-key/-/keyboard-key-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/keyboard-key/download/keyboard-key-1.1.0.tgz"},"maintainers":[{"name":"levithomason","email":"me@levithomason.com"}],"_npmUser":{"name":"levithomason","email":"me@levithomason.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/keyboard-key_1.1.0_1579137667157_0.7716042757670023"},"_hasShrinkwrap":false,"publish_time":1579137667365,"_cnpm_publish_time":1579137667365},"1.0.4":{"name":"keyboard-key","version":"1.0.4","description":"A simple utility for determining the KeyboardEvent.key property from a keyboard event.","main":"src/keyboardKey.js","author":{"name":"Levi Thomason"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/levithomason/keyboard-key.git"},"bugs":{"url":"https://github.com/levithomason/keyboard-key/issues"},"scripts":{"lint":"prettier --list-different \"**/*.js?(on|x)\" && eslint \"**/*.js?(on|x)\"","lint:fix":"prettier --write \"**/*.js?(on|x)\" && eslint --fix \"**/*.js?(on|x)\"","toc":"markdown-toc -i README.md","precommit":"yarn toc && lint-staged","prerelease":"yarn lint && yarn test","release:major":"yarn prerelease && ta-script npm/release major","release:minor":"yarn prerelease && ta-script npm/release minor","release:patch":"yarn prerelease && ta-script npm/release patch","test":"jest","test:watch":"yarn jest -- --watchAll"},"jest":{"collectCoverage":true,"collectCoverageFrom":["src/**/*.js","!**/node_modules/**","!**/test/**"],"coverageDirectory":"coverage","coverageThreshold":{"global":{"branches":50,"functions":50,"lines":50,"statements":50}},"roots":["./src","./test"],"testMatch":["**/*.spec.js"],"testEnvironment":"node"},"lint-staged":{"*.js?(on|x)":["prettier --write","eslint --fix","git add"]},"devDependencies":{"babel-eslint":"^8.0.0","eslint":"^4.4.1","eslint-config-prettier":"^2.3.0","eslint-plugin-json":"^1.2.0","eslint-plugin-prettier":"^2.2.0","greenkeeper-lockfile":"^1.8.1","husky":"^0.14.3","jest":"^22.1.3","lint-staged":"^6.0.1","markdown-toc":"^1.1.0","prettier":"^1.6.1","ta-scripts":"^2.5.2"},"gitHead":"ca84aa1e53f197aa8ff631a94bb4fc8125fec5cb","homepage":"https://github.com/levithomason/keyboard-key#readme","_id":"keyboard-key@1.0.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"levithomason","email":"me@levithomason.com"},"dist":{"shasum":"52d8fa07b7e17757072aa22a67fb4ae85e4c46b0","size":49434,"noattachment":false,"key":"/keyboard-key/-/keyboard-key-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/keyboard-key/download/keyboard-key-1.0.4.tgz"},"maintainers":[{"name":"levithomason","email":"me@levithomason.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/keyboard-key_1.0.4_1547775798627_0.12585474377763006"},"_hasShrinkwrap":false,"publish_time":1547775798752,"_cnpm_publish_time":1547775798752},"1.0.2":{"name":"keyboard-key","version":"1.0.2","description":"A simple utility for determining the KeyboardEvent.key property from a keyboard event.","main":"src/keyboardKey.js","author":{"name":"Levi Thomason"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/levithomason/keyboard-key.git"},"bugs":{"url":"https://github.com/levithomason/keyboard-key/issues"},"scripts":{"lint":"prettier --list-different \"**/*.js?(on|x)\" && eslint \"**/*.js?(on|x)\"","lint:fix":"prettier --write \"**/*.js?(on|x)\" && eslint --fix \"**/*.js?(on|x)\"","toc":"markdown-toc -i README.md","precommit":"yarn toc && lint-staged","prerelease":"yarn lint && yarn test","release:major":"yarn prerelease && ta-script npm/release major","release:minor":"yarn prerelease && ta-script npm/release minor","release:patch":"yarn prerelease && ta-script npm/release patch","test":"jest","test:watch":"yarn jest -- --watchAll"},"jest":{"collectCoverage":true,"collectCoverageFrom":["src/**/*.js","!**/node_modules/**","!**/test/**"],"coverageDirectory":"coverage","coverageThreshold":{"global":{"branches":50,"functions":50,"lines":50,"statements":50}},"roots":["./src","./test"],"testMatch":["**/*.spec.js"],"testEnvironment":"node"},"lint-staged":{"*.js?(on|x)":["prettier --write","eslint --fix","git add"]},"devDependencies":{"babel-eslint":"^8.0.0","eslint":"^4.4.1","eslint-config-prettier":"^2.3.0","eslint-plugin-json":"^1.2.0","eslint-plugin-prettier":"^2.2.0","greenkeeper-lockfile":"^1.8.1","husky":"^0.14.3","jest":"^22.1.3","lint-staged":"^6.0.1","markdown-toc":"^1.1.0","prettier":"^1.6.1","ta-scripts":"^2.5.2"},"gitHead":"bc36f34950e873c7045d2ab4dd2a80b64b38a774","homepage":"https://github.com/levithomason/keyboard-key#readme","_id":"keyboard-key@1.0.2","_npmVersion":"6.2.0","_nodeVersion":"8.11.1","_npmUser":{"name":"levithomason","email":"me@levithomason.com"},"dist":{"shasum":"212e14dde4c2059814336159bbc5acd0a348ca6b","size":49107,"noattachment":false,"key":"/keyboard-key/-/keyboard-key-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/keyboard-key/download/keyboard-key-1.0.2.tgz"},"maintainers":[{"name":"levithomason","email":"me@levithomason.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/keyboard-key_1.0.2_1533362407532_0.05846167416624737"},"_hasShrinkwrap":false,"publish_time":1533362407602,"_cnpm_publish_time":1533362407602},"1.0.1":{"name":"keyboard-key","version":"1.0.1","description":"A simple utility for determining the KeyboardEvent.key property from a keyboard event.","main":"src/keyboardKey.js","author":{"name":"Levi Thomason"},"license":"MIT","scripts":{"lint":"prettier --list-different \"**/*.js?(on|x)\" && eslint \"**/*.js?(on|x)\"","lint:fix":"prettier --write \"**/*.js?(on|x)\" && eslint --fix \"**/*.js?(on|x)\"","toc":"markdown-toc -i README.md","precommit":"yarn toc && lint-staged","prerelease":"yarn lint && yarn test","release:major":"yarn prerelease && ta-script npm/release major","release:minor":"yarn prerelease && ta-script npm/release minor","release:patch":"yarn prerelease && ta-script npm/release patch","test":"jest","test:watch":"yarn jest -- --watchAll"},"jest":{"collectCoverage":true,"collectCoverageFrom":["src/**/*.js","!**/node_modules/**","!**/test/**"],"coverageDirectory":"coverage","coverageThreshold":{"global":{"branches":50,"functions":50,"lines":50,"statements":50}},"roots":["./src","./test"],"testMatch":["**/*.spec.js"]},"lint-staged":{"*.js?(on|x)":["prettier --write","eslint --fix","git add"]},"devDependencies":{"babel-eslint":"^8.0.0","eslint":"^4.4.1","eslint-config-prettier":"^2.3.0","eslint-plugin-json":"^1.2.0","eslint-plugin-prettier":"^2.2.0","greenkeeper-lockfile":"^1.8.1","husky":"^0.14.3","jest":"^21.0.0","lint-staged":"^4.0.3","markdown-toc":"^1.1.0","prettier":"^1.6.1","ta-scripts":"^2.5.2"},"gitHead":"acc2598d2a7c85f39171df5fdbdc346e88b06dc5","_id":"keyboard-key@1.0.1","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"levithomason","email":"me@levithomason.com"},"dist":{"shasum":"a946294fe59ad5431c63a3ea269f023e51fac6aa","size":40691,"noattachment":false,"key":"/keyboard-key/-/keyboard-key-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/keyboard-key/download/keyboard-key-1.0.1.tgz"},"maintainers":[{"name":"levithomason","email":"me@levithomason.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/keyboard-key-1.0.1.tgz_1505712681165_0.7863338005263358"},"directories":{},"publish_time":1505712681273,"_cnpm_publish_time":1505712681273,"_hasShrinkwrap":false},"1.0.0":{"name":"keyboard-key","version":"1.0.0","description":"A simple utility for determining the KeyboardEvent.key property from a keyboard event.","main":"src/keyboardKey.js","author":{"name":"Levi Thomason"},"license":"MIT","scripts":{"lint":"prettier --list-different \"**/*.js?(on|x)\" && eslint \"**/*.js?(on|x)\"","lint:fix":"prettier --write \"**/*.js?(on|x)\" && eslint --fix \"**/*.js?(on|x)\"","toc":"markdown-toc -i README.md","precommit":"yarn toc && lint-staged","prerelease":"yarn lint && yarn test","release:major":"yarn prerelease && ta-script npm/release major","release:minor":"yarn prerelease && ta-script npm/release minor","release:patch":"yarn prerelease && ta-script npm/release patch","test":"jest","test:watch":"yarn jest -- --watchAll"},"jest":{"collectCoverage":true,"collectCoverageFrom":["src/**/*.js","!**/node_modules/**","!**/test/**"],"coverageDirectory":"coverage","coverageThreshold":{"global":{"branches":50,"functions":50,"lines":50,"statements":50}},"roots":["./src","./test"],"testMatch":["**/*.spec.js"]},"lint-staged":{"*.js?(on|x)":["prettier --write","eslint --fix","git add"]},"devDependencies":{"babel-eslint":"^7.2.3","eslint":"^4.4.1","eslint-config-prettier":"^2.3.0","eslint-plugin-json":"^1.2.0","eslint-plugin-prettier":"^2.2.0","greenkeeper-lockfile":"^1.8.1","husky":"^0.14.3","jest":"^21.0.0","lint-staged":"^4.0.3","markdown-toc":"^1.1.0","prettier":"^1.6.1","ta-scripts":"^2.5.2"},"gitHead":"4cf37a9cdbf9e51ba008e8ab83816865ef59fb9e","_id":"keyboard-key@1.0.0","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"levithomason","email":"me@levithomason.com"},"dist":{"shasum":"1c6ca3f3b69b689381c1fca1d3cba008ad4dce3c","size":38400,"noattachment":false,"key":"/keyboard-key/-/keyboard-key-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/keyboard-key/download/keyboard-key-1.0.0.tgz"},"maintainers":[{"name":"levithomason","email":"me@levithomason.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/keyboard-key-1.0.0.tgz_1504574809370_0.8329542514402419"},"directories":{},"publish_time":1504574810418,"_hasShrinkwrap":false,"_cnpm_publish_time":1504574810418}},"readme":"keyboard-key\n[![CircleCI](https://img.shields.io/circleci/project/github/levithomason/keyboard-key/master.svg?style=flat-square)](https://circleci.com/gh/levithomason/keyboard-key/master)\n[![Codecov](https://img.shields.io/codecov/c/github/levithomason/keyboard-key/master.svg?style=flat-square)](https://codecov.io/gh/levithomason/keyboard-key)\n[![David](https://img.shields.io/david/levithomason/keyboard-key.svg?style=flat-square)](https://david-dm.org/levithomason/keyboard-key)\n[![npm](https://img.shields.io/npm/v/keyboard-key.svg?style=flat-square)](https://www.npmjs.com/package/keyboard-key)\n============\n\nA simple utility for determining the `KeyboardEvent.key` property from a keyboard event.\n\n<!-- toc -->\n\n- [Install](#install)\n- [Usage](#usage)\n  * [getKey()](#getkey)\n  * [getCode()](#getcode)\n- [Why?](#why)\n- [Locale Caveat](#locale-caveat)\n\n<!-- tocstop -->\n\n## Install\n\n```\nyarn add keyboard-key\n\n# or\n\nnpm install keyboard-key\n```\n\n## Usage\n\n### getKey()\n\nGet the `key` property value from an event.\n\n```js\ndocument.addEventListener('keydown', event => {\n  const key = keyboardKey.getKey(event)\n\n  switch (key) {\n    case 'Escape':\n      // handle escape key\n      break\n    default:\n      break\n  }\n})\n```\n\n>See [MDN][2] or the source for a full list of `key` values.\n\n### getCode()\n\nYou can also get the normalized `keyCode` from an event.  `keyboard-key` includes a hash of `key` names to `keyCode`s for easy comparisons:\n\n```js\ndocument.addEventListener('keydown', event => {\n  const code = keyboardKey.getCode(event)\n\n  switch (code) {\n    case keyboardKey.Escape: // 27\n      // handle escape key\n      break\n    default:\n      break\n  }\n})\n```\n\n## Why?\n\nMost previous key identifying KeyboardEvent properties have been pressed have been deprecated in favor of `Keyboard.key`.\n\n:-1: `KeyboardEvent.char`  \n:-1: `KeyboardEvent.charCode`  \n:-1: `KeyboardEvent.keyCode`  \n:-1: `KeyboardEvent.keyIdentifier`  \n:-1: `KeyboardEvent.keyLocation`  \n:-1: `KeyboardEvent.which`\n\n:+1: `KeyboardEvent.key`\n\nUnfortunately, `KeyboardEvent.key` does not yet have full [browser support][3].  Leaving the browsers without a reliable property for identifying keyboard event keys.\n\n## Locale Caveat\n\nThis utility interprets use of the shift key when inferring event `key` values.  Example, an event describing <kbd>shift</kbd>+<kbd>/</kbd> would result in a `key` value of <kbd>?</kbd>.  This logic assumes an `en-US` locale keyboard layout.  This will **not work** if you are using a different locale such as a German layout where <kbd>/</kbd> is <kbd>shift</kbd>+<kbd>7</kbd>. \n\n[1]: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key\n[2]: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values\n[3]: http://caniuse.com/#feat=keyboardevent-key\n","_attachments":{},"homepage":"https://github.com/levithomason/keyboard-key#readme","bugs":{"url":"https://github.com/levithomason/keyboard-key/issues"},"license":"MIT"}