keyboard-layout
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 laterTo 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: 'Í'
}
*/

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
