0.1.0 • Published 3 years ago

@c8h_/keyboard.js v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

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   + b

To listen for these, you can add event listeners. Here's how:

kb.on("C-c", () => process.exit()); // Exit when ctrl+c is pressed

Config

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.