{"_id":"keyboard-key","_rev":"6-a55996f2319a20d95278da17662f25eb","name":"keyboard-key","description":"A simple utility for determining the KeyboardEvent.key property from a keyboard event.","dist-tags":{"latest":"1.1.0"},"versions":{"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":{"integrity":"sha512-ZiFbbbGnxE8ffLFw2TzBzTx+HMYPrktxSvpYj2g+ptAkoaSIPx9YA1gWQmxDsYi/91eMGoBpDOECwidj3eVw5w==","shasum":"1c6ca3f3b69b689381c1fca1d3cba008ad4dce3c","tarball":"https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPFHe+IMDEcNYuz4uxpPOsgj2URtAgRFt6IARvrvxQZgIhAIoWjr217PM40YR9/6QgCAJnLDQYKJw+AMHFGSJFuXZI"}]},"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":{}},"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":{"integrity":"sha512-OAfjaSI917BOonwfH6LQHMZJRv5035jjZvgElouB/DM4I7l5zEjrA15RD80YwIjhN69xqEfWCZIbhBcGpb85Ig==","shasum":"a946294fe59ad5431c63a3ea269f023e51fac6aa","tarball":"https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQJraum/u0W2cx1NVeZJUR8Cwxx64EfsidGBIHU6SM4QIgPwVzMoH1lGpuNditSpSyWbm3etwPgrdw5dOcRXHwpew="}]},"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":{}},"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":{"integrity":"sha512-05cjQmw4ss/YuY2utmVim0wywDyBZGUivo8siLPkWinwGWtKlO8/4RGbPUqNycwlD3u/3D15eNRjnNAyaTDs8g==","shasum":"212e14dde4c2059814336159bbc5acd0a348ca6b","tarball":"https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.0.2.tgz","fileCount":11,"unpackedSize":172520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZUDoCRA9TVsSAnZWagAAEUoP/1G+M3YAprs2K0JDWGUk\nwFKVlmjB1jDNpnlN3SXgH/zVeD1Y54ddOMxFlMypVhU774lBdLmXQP6F0uWf\nUX+FmruoI7/zs8iY/bhfq+b0pnEYqSkHTSgf0fuCNg64lEqGLnP9kbFPQ1HD\nA7YUIkG5+iW1dhTMJzlyYnUC8uwdVk92IiNUcQC86Q3PMga5Z3LRe1/KNfxH\niDdL4RvJXTIDfcJvR5Wu98RK9SwHdsCksbc2dKb0URHaDkjkSaOwaQq/cZSp\nwFWtqDBPOVJzRXVroZ+v+NekFUP1KGmYgDzzdlT5GuwwRjMtTzaFjpgOudUp\nLzikO7BKddMcB/qbGalGGOg4zGklVpkHlD3qpjnVQLQEECeA31KxM5hFIVBz\niIWt51DBiTNdP7cN3N8ssH2jIZw7DT+WridUXjcaCxYgPp9gVjNdLXftFsiv\nmClKWJJg9OoLWKUBfOkoucrSN502A7djVrB826jYnUNhh/hRnXtvU/6CKa4T\nNwh7c7/KttQrtmKCPJ/5sg1hUBR0LxZ7+wXbbFzsFy/xvo7upcj5/0telboO\n6XW+wFHMhPR2Vz+25xR/YdE8DobDQ8GasVuR7yoBrqM8ERSyVe4MItNRHrlw\ny/o/D1lkEHMngE4BWW1Uqu0hmaFLZO54F4tCy6KD8V2MoKvIrfq0hotwRGqx\nS2UM\r\n=0n01\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGly8oUV5uNKxgSsRD46K9DeS03PM3+Dd9Kz9bM/tRctAiEA54HFPtj0YG1jMWPeTU83Nk3vytpmScpeMsDRHLYrVmI="}]},"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},"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":{"integrity":"sha512-my04dE6BCwPpwoe4KYKfPxWiwgDYQOHrVmtzn1CfzmoEsGG/ef4oZGaXCzi1+iFhG7CN5JkOuxmei5OABY8/ag==","shasum":"52d8fa07b7e17757072aa22a67fb4ae85e4c46b0","tarball":"https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.0.4.tgz","fileCount":11,"unpackedSize":173478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQS83CRA9TVsSAnZWagAAEsUP/28Mliz2Xa8GJL1oG8Tn\nksNUaKT9qkOPJVFi5K4s1282vsAnP/lZBBshLjKFocmL/lVNrxtYgKUVZtSq\ngmz3Zeknycdy6h9iCoAqo+qdjQt8FomtNQjIHrIUBypCf6BYfABGOyWtN4kx\nUeo9qTmmRNETb4RBKRbR+ZXi8BU2y8/4TdorcsZt0eyYl0rWI4gGLVszaN0l\nPLoGJf4s1hsNeVsZkJbJmoUPc5c+fhIVAwD23KmX33//FlbbKOwIU9fWDSO9\nn8KUlYN/sQtpDAbaeN+NWEbCykH7GE2B8S7/4uJudBjgGQ/Ly/qsbfz/WQQT\nQtr2uXhiiO2VNTUHIbeYXBaj4U1hgYp568OTv3NJ9mgkfSbhwpsWbcejpvlp\nvz5zS/Et2M+HOS614Okho9HHRDODlNK4igvd9Hw+BCOCAW0rhHEa5tBrru+g\nKbTwCgoCJy2VXkMgI5Qt+fF1SmZf4xd43orFrqlgHEtfbLD37Y4WCii4PKAb\nulAzdrmTYUDIgL0U05C3DxXaeHR5qKYe+YrQEXZ7jC3bolBcM5zedsVkY2te\nbcompCkWk0sAkQ7EN6BOB+Rm9xf71LNht4rtKCiiD5M9ViEyAQty1l4D/BA6\nZqMFMQBa92YdovQMhvIQRMM32F6i8A1dzmkzGmwCA+V2r3GSPKK2hE6wlnqt\ncZe0\r\n=0Rxg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGG5y0CfQoo0OHc9g3Y/DWE0TIz1dnE+RZ/HXIJ3v+ZAAiEA1S1sS3KnbwC/CFXhdUYCdb9zzvN29rqUGcK4ReKHDBw="}]},"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},"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":{"integrity":"sha512-qkBzPTi3rlAKvX7k0/ub44sqOfXeLc/jcnGGmj5c7BJpU8eDrEVPyhCvNYAaoubbsLm9uGWwQJO1ytQK1a9/dQ==","shasum":"6f2e8e37fa11475bb1f1d65d5174f1b35653f5b7","tarball":"https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.1.0.tgz","fileCount":11,"unpackedSize":23092,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeH7qDCRA9TVsSAnZWagAAFu0P/RQrpN4ztqs1FKQVDI+T\nPZNW2/NngZOz7BAxy6m2nC0Rt1Xh2J5UmftNuzXKNAK8/FyBuRuhB3PJsJTH\nab5hebapO1DVwOWe9bLn7HfY93PkNB9HyfbAElr1kjZ5cxDcxNMLEtfLllkg\nUuCn7UasKQiStdmvW4BZEQjdPh5DFHSuHkt0GhAVyaKS3lLIbmnQjh0nBodX\nXLceawHTrRcLZxIRTCIDUtCAMaJ6f7N2D2IAnm25OrkUF0hnNAsFlBd9G+EP\nTena+IG1Y6k4L33ErBrKeasn2mJtZK6HPSgVMIUj8M40aM6JlbbNckgqkzPW\nN9B+yXrvQGs51CCWt4Vf02lDI5vuFfCrJxueblOojRpQ5sM6lz49ZQ7LZDt8\nhevwkHHcLI6XXf9djCLlBFv0Y+2dbtfElqfTYKGjSm11VUiK+Kggeb9Me89W\n/f/Vi3ikCdcHRs7nqXadA2N0kLCqoYw+4pkSDXb5/q8kMppH/35yZ4HuXrIp\nif/EibvvX+gUMbv4Q3U158W2VzJEJXnousJowVDz4PQkqVlwHt6htYgUi8GJ\natrhIRkSBqhA73JzWYXizBUee6POC2/NtrNZkpkUTB1su5beVXPWWwCE7GzO\nZuktl17bt2Bf02zBYYBJMecUJzxrt6M4bs+WiKlW7bA2qfal3RIAbuzLHWlf\ndNyU\r\n=IaPB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIESYHC/jZ3Ynu/cxiIqwWhIxadlFIQftxqfXN/c0K596AiEAqa9ZlRn5zLNG9ndzx9JydtvUE2xTZMEb6L4hr4zmpho="}]},"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}},"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","maintainers":[{"name":"levithomason","email":"me@levithomason.com"}],"time":{"modified":"2022-05-07T06:24:47.604Z","created":"2017-09-05T01:26:50.418Z","1.0.0":"2017-09-05T01:26:50.418Z","1.0.1":"2017-09-18T05:31:21.273Z","1.0.2":"2018-08-04T06:00:07.602Z","1.0.4":"2019-01-18T01:43:18.752Z","1.1.0":"2020-01-16T01:21:07.365Z"},"author":{"name":"Levi Thomason"},"license":"MIT","readmeFilename":"README.md","homepage":"https://github.com/levithomason/keyboard-key#readme","repository":{"type":"git","url":"git+ssh://git@github.com/levithomason/keyboard-key.git"},"bugs":{"url":"https://github.com/levithomason/keyboard-key/issues"},"users":{"johniexu":true}}