1.1.0 • Published 9 months ago
@basementuniverse/input-manager v1.1.0
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 |