@basementuniverse/input-manager
v1.2.0
Published
A component for handling input events and managing input device state
Downloads
78
Readme
Game Component: Input Manager
A component for handling input events and managing input device state.
Installation
npm install @basementuniverse/input-manager
How to use
Initialise the input manager before use:
import InputManager from '@basementuniverse/input-manager';
InputManager.initialise();
Update the input manager state:
class Game {
// ...
public update(context: CanvasRenderingContext2D) {
InputManager.update();
}
}
Check the state of input devices:
// Check if any key is currently down
InputManager.keyDown();
// Check if a specific key is currently down
InputManager.keyDown(code?);
// Check if a key was pressed
InputManager.keyPressed(code?);
// Check if a key was released
InputManager.keyReleased(code?);
// Check if the main mouse button is currently down
InputManager.mouseDown(button?);
// Check if the main mouse button was pressed
InputManager.mousePressed(button?);
// Check if the main mouse button was released
InputManager.mouseReleased(button?);
// Check if the mouse wheel was scrolled up
InputManager.mouseWheelUp();
// Check if the mouse wheel was scrolled down
InputManager.mouseWheelDown();
// Get the current mouse position in screen-space
const position = InputManager.mousePosition;
See here for a reference of key codes.
Options
const options = { ... };
InputManager.initialise(options);
| Option | Type | Default | Description |
| --- | --- | --- | --- |
| element
| Window \| HTMLElement
| window
| The element to listen for mouse input events on |
| mouse
| boolean
| true
| Enable mouse input |
| mouseWheel
| boolean
| true
| Enable mouse wheel input |
| keyboard
| boolean
| true
| Enable keyboard input |
| preventContextMenu
| boolean
| false
| Try to prevent the context menu from appearing on right-click |