Skip to content

Key service ​

The key service runs registered callbacks on 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