0.1.4 • Published 5 years ago

jw-keyboard v0.1.4

Weekly downloads
9
License
MIT
Repository
github
Last release
5 years ago

jw-keyboard

An instance class which hooks into keyup and keydown, and keeps track of all the keys pressed.

NPM version build status node version npm download

Demo

install

NPM

Methods

MethodParametersDescription
attachelement: DOM elementappend the keyboard to the a DOM element and event functions to it.
detachdisengage the keyboard from DOM element and event functions from it.
setPreventDefaultpreventDefault: booleantoggle value for keyboard prevent default on all events.
setPreventHoldDownEventpreventHoldDown: booleantoggle value for keyboard skipping further key down events.
onKeyDownhandler: functionbind an event handler to the key down event. Returns a method to unbind.
clearKeyDownunbind all event handlers from the key down event.
onKeyUphandler: functionbind an event handler to the key up event. Returns a method to unbind.
clearKeyUpunbind all event handlers from the key up event.
hasKeyPressedcheck if a given keyCode has been pressed.
getLastKeyPressedget the last keyCode that has been pressed.

Handler Event

On handling the event, the same event object as the one from addEventListener will be passed as a parameter, with an additional keyboard object, which holds the following properties:

PropDescription
keyCodesPressedthe list of key codes of the keys that has been pressed.

Usage

import Keyboard, { Keys } from "jw-keyboard";

/* Get the container for the keyboard. */
let container = document.getElementById("container");

/* Create a keyboard instance, with the element as its container.
 * This is to allow the keyboard to monitor all key events from the container. */
let keyboard = new Keyboard(container);

/** Append the keyboard to the a DOM element and event handlers to it. */
keyboard.attach(container);

/** Detach the keyboard from DOM element and event handlers from it. */
keyboard.detach();

/** Toggle value for keyboard prevent default on all events. */
keyboard.setPreventDefault(false);

/** Toggle value for keyboard skipping further key down events. */
keyboard.setPreventHoldDownEvent(false);

/** Bind an event handler to the key down event. */
let removeKeyDown = keyboard.onKeyDown(event => { ... });

/** Unbind an event handler to the key down event. */
removeKeyDown();

/** Unbind all event handlers from the key down event. */
keyboard.clearKeyDown();

/** Bind an event handler to the key up event. */
let removeKeyUp = keyboard.onKeyUp(event => { ... });

/** Unbind an event handler to the key up event. */
removeKeyUp();

/** Unbind all event handlers from the key up event. */
keyboard.clearKeyUp();

/** Check if a given keyCode has been pressed. */
keyboard.hasKeyPressed(keyCode);

/** Get the last keyCode that has been pressed. */
keyboard.getLastKeyPressed();