@c8h_/keyboard.js
v0.1.0
Published
Listen for keyboard events from stdin easier
Readme
keyboard.js
A Keyboard library for NodeJS
Usage
keyboard.js has a default export, being the Keyboard class.
To create a new Keyboard, add this to your code:
const Keyboard = require("keyboard.js");
const kb = new Keyboard();Keyboard inherits EventEmitter. It emits events through .on(), .once(), .addListener().
By default, the Keyboard will emit in the following format:
C-M-{key}
e.g.
C-c == control + c
M-k == windows + k
B == shift + bTo listen for these, you can add event listeners. Here's how:
kb.on("C-c", () => process.exit()); // Exit when ctrl+c is pressedConfig
When creating your Keyboard, you can specify custom options:
// All of these are their default options
const kb = new Keyboard(process.stdin, {
encoding: "utf8",
rawMode: true,
longKeyNames: false,
seperator: "-",
});Let's run through what each one of these do.
Stream
Deafult: process.stdin
The stream to read.
Encoding
Default: "utf8"
The encoding to read the stream in.
Raw Mode
Default: true
Whether to enable raw mode for the stream, recommended if using keyboard shortcuts.
Long Key Names
Default: false
If enabled, replace C- with ctrl- and M- with meta- in the events
Seperator
Default: "-"
A seperator which goes after each modifier key in the listeners.
Event
Event is a class which is returned on every event.
