{"_id":"@builtbygio/keyboard-layout","name":"@builtbygio/keyboard-layout","dist-tags":{"latest":"2.0.17"},"versions":{"2.0.17":{"name":"@builtbygio/keyboard-layout","version":"2.0.17","description":"Read and observe the current keyboard layout on OS X.","main":"./lib/keyboard-layout","scripts":{"test":"jasmine-focused --captureExceptions --forceexit spec","install":"node-gyp rebuild"},"repository":{"type":"git","url":"git+https://github.com/builtbygio/keyboard-layout.git"},"bugs":{"url":"https://github.com/builtbygio/keyboard-layout/issues"},"licenses":[{"type":"MIT","url":"http://github.com/atom/keyboard-layout/raw/master/LICENSE.md"}],"dependencies":{"event-kit":"^2.0.0","nan":"2.28.0"},"devDependencies":{"jasmine-focused":"^1.0.4"},"engines":{"chevron":"*"},"homepage":"https://github.com/builtbygio/keyboard-layout","gypfile":true,"_id":"@builtbygio/keyboard-layout@2.0.17","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-3Nb0wFcb/XdfySrg6wy5WMZVofKlJiyEKHeGsLWchhqQgEKtjsAfExbgBnVknh9ZlZu0egxAWdFpbsp798/Njg==","shasum":"20e3ec0328ab7714345ef024caa1fe25823829c9","tarball":"https://registry.npmjs.org/@builtbygio/keyboard-layout/-/keyboard-layout-2.0.17.tgz","fileCount":13,"unpackedSize":65413,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDU1HoUMu2Pi5fcRza863otWXDqTYKraRtTmZ/3phN0jAiBTkuu3FdaAFz2jIHnuh4GUkxwZeqHqVPaAjpvLL+bhBg=="}]},"_npmUser":{"name":"giobuilds","email":"giova19@proton.me"},"directories":{},"maintainers":[{"name":"giobuilds","email":"giova19@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/keyboard-layout_2.0.17_1787781649409_0.6541549159380662"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-26T22:00:49.193Z","2.0.17":"2026-08-26T22:00:49.558Z","modified":"2026-08-26T22:00:49.895Z"},"maintainers":[{"name":"giobuilds","email":"giova19@proton.me"}],"description":"Read and observe the current keyboard layout on OS X.","homepage":"https://github.com/builtbygio/keyboard-layout","repository":{"type":"git","url":"git+https://github.com/builtbygio/keyboard-layout.git"},"bugs":{"url":"https://github.com/builtbygio/keyboard-layout/issues"},"readme":"# keyboard-layout\n[![macOS Build Status](https://travis-ci.org/atom/keyboard-layout.svg?branch=master)](https://travis-ci.org/atom/keyboard-layout)\n[![Windows Build status](https://ci.appveyor.com/api/projects/status/rk8wooeyh689apgd/branch/master?svg=true)](https://ci.appveyor.com/project/Atom/keyboard-layout)\n[![Dependency Status](https://david-dm.org/atom/keyboard-layout/status.svg)](https://david-dm.org/atom/keyboard-layout)\n\nRead and observe the current keyboard layout.\n\nTo get the current keyboard layout, call `getCurrentKeyboardLayout`. It returns\nthe string identifier of the current layout based on the value returned by the\noperating system.\n\n```js\nconst KeyboardLayout = require('keyboard-layout')\nKeyboardLayout.getCurrentKeyboardLayout() // => \"com.apple.keylayout.Dvorak\"\n```\n\nIf you want to watch for layout changes, use `onDidChangeCurrentKeyboardLayout`\nor `observeCurrentKeyboardLayout`. They work the same, except\n`observeCurrentKeyboardLayout` invokes the given callback immediately with the\ncurrent layout value and then again next time it changes, whereas\n`onDidChangeCurrentKeyboardLayout` only invokes the callback on the next\nchange.\n\n```js\nconst KeyboardLayout = require('keyboard-layout')\nsubscription = KeyboardLayout.observeCurrentKeyboardLayout((layout) => console.log(layout))\nsubscription.dispose() // to unsubscribe later\n```\n\nTo return characters for various modifier states based on a DOM 3\n`KeyboardEvent.code` value and the current system keyboard layout, use\n`getCurrentKeymap()`:\n\n```js\nconst KeyboardLayout = require('keyboard-layout')\nKeyboardLayout.getCurrentKeymap()['KeyS']\n/*\nOn a US layout, this returns:\n{\n  unmodified: 's',\n  withShift: 'S',\n  withAltGraph: 'ß',\n  withShiftAltGraph: 'Í'\n}\n*/\n```\n","readmeFilename":"README.md","_rev":"1-86ca20c6c1da83ca79db5e1491d4318e"}