keyboard-layout

2.0.17 • Public • Published

keyboard-layout

macOS Build Status Windows Build status Dependency Status

Read and observe the current keyboard layout.

To get the current keyboard layout, call getCurrentKeyboardLayout. It returns the string identifier of the current layout based on the value returned by the operating system.

const KeyboardLayout = require('keyboard-layout')
KeyboardLayout.getCurrentKeyboardLayout() // => "com.apple.keylayout.Dvorak"

If you want to watch for layout changes, use onDidChangeCurrentKeyboardLayout or observeCurrentKeyboardLayout. They work the same, except observeCurrentKeyboardLayout invokes the given callback immediately with the current layout value and then again next time it changes, whereas onDidChangeCurrentKeyboardLayout only invokes the callback on the next change.

const KeyboardLayout = require('keyboard-layout')
subscription = KeyboardLayout.observeCurrentKeyboardLayout((layout) => console.log(layout))
subscription.dispose() // to unsubscribe later

To return characters for various modifier states based on a DOM 3 KeyboardEvent.code value and the current system keyboard layout, use getCurrentKeymap():

const KeyboardLayout = require('keyboard-layout')
KeyboardLayout.getCurrentKeymap()['KeyS']
/*
On a US layout, this returns:
{
  unmodified: 's',
  withShift: 'S',
  withAltGraph: 'ß',
  withShiftAltGraph: 'Í'
}
*/

/keyboard-layout/

    Package Sidebar

    Install

    npm i keyboard-layout

    Weekly Downloads

    1,119

    Version

    2.0.17

    License

    none

    Unpacked Size

    65 kB

    Total Files

    12

    Last publish

    Collaborators

    • benogle
    • nathansobo
    • binarymuse
    • smashwilson
    • kevinsawicki
    • maxbrunsfeld
    • zcbenz
    • as-cii
    • daviwil
    • atom-team