Input
The input for one surface, made by createInput. It owns every listener; gestures, actions, touch controls and camera controllers read from it rather than adding their own.
Defined in: engine/src/input/core.ts:131
Edge queries (pressed, released, padPressed, virtualPressed, ...) report what changed
between the last two update() calls, so call update() once per frame before reading them.
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
el | readonly | EventTarget | The surface the pointer and wheel listeners are on. | engine/src/input/core.ts:133 |
Methods
active()
active(): boolean;Defined in: engine/src/input/core.ts:182
True while anything is being held; render continuously while it is.
Returns
boolean
captureKeys()
captureKeys(codes: Iterable<string>): void;Defined in: engine/src/input/core.ts:153
Only these codes have their default action prevented (so bound keys don't scroll).
Parameters
| Parameter | Type |
|---|---|
codes | Iterable<string> |
Returns
void
claim()
claim(pointerId: number, owner: object): boolean;Defined in: engine/src/input/core.ts:142
Reserve a pointer for one owner; others should ignore it (claimedBy).
Parameters
| Parameter | Type |
|---|---|
pointerId | number |
owner | object |
Returns
boolean
claimedBy()
claimedBy(pointerId: number): object | undefined;Defined in: engine/src/input/core.ts:144
The owner that claimed a pointer, if any. Claims are released when the pointer lifts.
Parameters
| Parameter | Type |
|---|---|
pointerId | number |
Returns
object | undefined
dispose()
dispose(): void;Defined in: engine/src/input/core.ts:188
Remove every listener, drop all state and release pointer lock.
Returns
void
down()
down(code: string): boolean;Defined in: engine/src/input/core.ts:147
Key held (by KeyboardEvent.code).
Parameters
| Parameter | Type |
|---|---|
code | string |
Returns
boolean
gamepad()
gamepad(): GamepadState | null;Defined in: engine/src/input/core.ts:156
The first connected gamepad, as of the last update().
Returns
GamepadState | null
lastDevice()
lastDevice(): Device;Defined in: engine/src/input/core.ts:184
What was used last, for showing the right prompts or touch controls.
Returns
lock()
lock(): void;Defined in: engine/src/input/core.ts:173
Ask for pointer lock (must be called from a user gesture).
Returns
void
locked()
locked(): boolean;Defined in: engine/src/input/core.ts:177
This surface holds pointer lock; mouse movement then arrives as look events.
Returns
boolean
on()
on(fn: (e: InputEvent) => void, priority?: number): () => void;Defined in: engine/src/input/core.ts:140
Listen to normalised events. Higher priority hears them first; see
claim. Returns an unsubscribe.
Parameters
| Parameter | Type |
|---|---|
fn | (e: InputEvent) => void |
priority? | number |
Returns
() => void
onDevice()
onDevice(fn: (d: Device) => void): () => void;Defined in: engine/src/input/core.ts:186
Called when lastDevice() changes. Returns an unsubscribe.
Parameters
| Parameter | Type |
|---|---|
fn | (d: Device) => void |
Returns
() => void
padPressed()
padPressed(button:
| "A"
| "B"
| "X"
| "Y"
| "LB"
| "RB"
| "LT"
| "RT"
| "Back"
| "Start"
| "LS"
| "RS"
| "DUp"
| "DDown"
| "DLeft"
| "DRight"
| "Home"): boolean;Defined in: engine/src/input/core.ts:158
Button crossed half-way down / up between the last two update() calls.
Parameters
| Parameter | Type |
|---|---|
button | | "A" | "B" | "X" | "Y" | "LB" | "RB" | "LT" | "RT" | "Back" | "Start" | "LS" | "RS" | "DUp" | "DDown" | "DLeft" | "DRight" | "Home" |
Returns
boolean
padReleased()
padReleased(button:
| "A"
| "B"
| "X"
| "Y"
| "LB"
| "RB"
| "LT"
| "RT"
| "Back"
| "Start"
| "LS"
| "RS"
| "DUp"
| "DDown"
| "DLeft"
| "DRight"
| "Home"): boolean;Defined in: engine/src/input/core.ts:159
Parameters
| Parameter | Type |
|---|---|
button | | "A" | "B" | "X" | "Y" | "LB" | "RB" | "LT" | "RT" | "Back" | "Start" | "LS" | "RS" | "DUp" | "DDown" | "DLeft" | "DRight" | "Home" |
Returns
boolean
pointers()
pointers(): ReadonlyMap<number, PointerState>;Defined in: engine/src/input/core.ts:135
Live pointers, by id.
Returns
ReadonlyMap<number, PointerState>
pressed()
pressed(code: string): boolean;Defined in: engine/src/input/core.ts:149
Went down / up since the previous update().
Parameters
| Parameter | Type |
|---|---|
code | string |
Returns
boolean
released()
released(code: string): boolean;Defined in: engine/src/input/core.ts:151
Went up since the previous update().
Parameters
| Parameter | Type |
|---|---|
code | string |
Returns
boolean
setVirtual()
setVirtual(name: string, value: number): void;Defined in: engine/src/input/core.ts:165
Set a value on the virtual channel, read by touch:<name> action sources. On-screen controls
call this; a non-zero value also marks touch as the last device. 0 removes the entry.
Parameters
| Parameter | Type |
|---|---|
name | string |
value | number |
Returns
void
unlock()
unlock(): void;Defined in: engine/src/input/core.ts:175
Release pointer lock if this surface holds it.
Returns
void
update()
update(): void;Defined in: engine/src/input/core.ts:180
Once per frame, before reading: advances edges and polls the gamepad.
Returns
void
virtual()
virtual(name: string): number;Defined in: engine/src/input/core.ts:167
Current virtual value, 0 when unset.
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
number
virtualPressed()
virtualPressed(name: string): boolean;Defined in: engine/src/input/core.ts:169
Became non-zero / returned to zero between the last two update() calls.
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
boolean
virtualReleased()
virtualReleased(name: string): boolean;Defined in: engine/src/input/core.ts:170
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
boolean