Skip to content

Key service

The key service will help you manage your keyboard events. It merges the keydown and keyup events.

Usage

js
import { useKey } from '@studiometa/js-toolkit';

const { add, remove, props } = useKey();

add('custom-id', (props) => {
  console.log(props.direction); // 'down' on keydown, 'up' on keyup
  console.log(props.isUp); // true on keyup, false on keydown
  console.log(props.isDown); // true on keydown, false on keyup
  console.log(props.triggered); // 1
  console.log(props.ENTER); // will be `true` when the pressed key is enter
});

// Get the latest prop object
console.log(props());

// Remove the callback
remove('custom-id');

Props

event

The original event instance.

direction

  • Type: String
  • Values: up or down

The direction of the keystroke, up for the event is of type keyup, down when the event is of type keydown.

isUp

  • Type: Boolean

A boolean for the event's direction. Will be true on keyup events.

isDown

  • Type: Boolean

A boolean for the event's direction. Will be true on keydown events.

triggered

  • Type: Number

The number of time, especially for keydown events, the events have been fired.

ENTER

  • Type: Boolean

Will be true if the key initiating the event is the enter key.

TIP

The ENTER prop and the following ones are mapped from the keyCodes utility.

SPACE

  • Type: Boolean

Will be true if the key initiating the event is the space key.

TAB

  • Type: Boolean

Will be true if the key initiating the event is the tab key.

ESC

  • Type: Boolean

Will be true if the key initiating the event is the escape key.

LEFT

  • Type: Boolean

Will be true if the key initiating the event is the left key.

UP

  • Type: Boolean

Will be true if the key initiating the event is the up key.

  • Type: Boolean

Will be true if the key initiating the event is the right key.

DOWN

  • Type: Boolean

Will be true if the key initiating the event is the down key.

MIT Licensed