API Reference
Auto-generated from @ctrllr/types and @ctrllr/sdk source definitions.
@ctrllr/sdk
Classes
Controller
Defined in: sdk/src/Controller.ts:14
Represents a connected mobile controller. Manages input state and emits events for state changes.
Extends
Constructors
Constructor
new Controller(
index):Controller
Defined in: sdk/src/Controller.ts:30
Parameters
index
number
Returns
Overrides
Properties
index
readonlyindex:number
Defined in: sdk/src/Controller.ts:16
Unique index for this controller (0, 1, 2, ...)
userId
userId:
string|null=null
Defined in: sdk/src/Controller.ts:19
User ID from the mobile controller app
username
username:
string|null=null
Defined in: sdk/src/Controller.ts:22
Username from the mobile controller app
Accessors
connected
Get Signature
get connected():
boolean
Defined in: sdk/src/Controller.ts:46
Whether this controller is connected
Returns
boolean
state
Get Signature
get state():
Readonly<ControllerState>
Defined in: sdk/src/Controller.ts:39
Get the current controller state (read-only)
Returns
Readonly<ControllerState>
Methods
_setDisconnected()
_setDisconnected():
void
Defined in: sdk/src/Controller.ts:116
Internal
Mark this controller as disconnected
Called by CtrllrManager when connection is lost
Returns
void
_updateState()
_updateState(
newState):void
Defined in: sdk/src/Controller.ts:56
Internal
Update the controller state from incoming data. Performs edge detection and emits appropriate events.
Called by CtrllrManager when data arrives from WebRTC
Parameters
newState
Partial<ControllerState>
Returns
void
addEventListener()
addEventListener<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:28
Alias for on - matches DOM API
Type Parameters
K
K extends keyof ControllerEvents
Parameters
event
K
listener
EventListener<ControllerEvents[K]>
Returns
this
Inherited from
emit()
protectedemit<K>(event,data):boolean
Defined in: sdk/src/EventEmitter.ts:70
Emit an event to all listeners
Type Parameters
K
K extends keyof ControllerEvents
Parameters
event
K
data
Returns
boolean
Inherited from
getInput()
getInput<
K>(inputName):Readonly<ControllerState[K]>
Defined in: sdk/src/Controller.ts:124
Get a specific input state.
Returns InputState for aimable inputs or ButtonState for toggle buttons.
Type Parameters
K
K extends InputName
Parameters
inputName
K
Returns
Readonly<ControllerState[K]>
isAnyButtonPressed()
isAnyButtonPressed():
boolean
Defined in: sdk/src/Controller.ts:131
Check if any button is currently pressed (aimable buttons + toggle buttons)
Returns
boolean
listenerCount()
listenerCount<
K>(event):number
Defined in: sdk/src/EventEmitter.ts:96
Get the number of listeners for an event
Type Parameters
K
K extends keyof ControllerEvents
Parameters
event
K
Returns
number
Inherited from
off()
off<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:38
Remove an event listener
Type Parameters
K
K extends keyof ControllerEvents
Parameters
event
K
listener
EventListener<ControllerEvents[K]>
Returns
this
Inherited from
on()
on<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:17
Add an event listener
Type Parameters
K
K extends keyof ControllerEvents
Parameters
event
K
listener
EventListener<ControllerEvents[K]>
Returns
this
Inherited from
once()
once<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:59
Add a one-time event listener
Type Parameters
K
K extends keyof ControllerEvents
Parameters
event
K
listener
EventListener<ControllerEvents[K]>
Returns
this
Inherited from
removeAllListeners()
removeAllListeners<
K>(event?):this
Defined in: sdk/src/EventEmitter.ts:84
Remove all listeners for an event, or all events if no event specified
Type Parameters
K
K extends keyof ControllerEvents
Parameters
event?
K
Returns
this
Inherited from
EventEmitter.removeAllListeners
removeEventListener()
removeEventListener<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:49
Alias for off - matches DOM API
Type Parameters
K
K extends keyof ControllerEvents
Parameters
event
K
listener
EventListener<ControllerEvents[K]>
Returns
this
Inherited from
EventEmitter.removeEventListener
CtrllrManager
Defined in: sdk/src/CtrllrManager.ts:25
Main manager for CTRLLR controllers. Handles connections, manages controller instances, and proxies events.
Extends
Constructors
Constructor
new CtrllrManager(
options):CtrllrManager
Defined in: sdk/src/CtrllrManager.ts:50
Parameters
options
Returns
Overrides
Properties
controllers
readonlycontrollers:Map<number,Controller>
Defined in: sdk/src/CtrllrManager.ts:27
Map of connected controllers by index
Accessors
connected
Get Signature
get connected():
boolean
Defined in: sdk/src/CtrllrManager.ts:74
Convenience getter — true when signaling transport is up.
Returns
boolean
connectionStatus
Get Signature
get connectionStatus():
ConnectionStatus
Defined in: sdk/src/CtrllrManager.ts:67
Current signaling connection lifecycle status.
Returns
socketId
Get Signature
get socketId():
string|null
Defined in: sdk/src/CtrllrManager.ts:82
Get the socket ID from the signaling adapter. Used for QR code generation.
Returns
string | null
Methods
addEventListener()
addEventListener<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:28
Alias for on - matches DOM API
Type Parameters
K
K extends keyof ManagerEvents
Parameters
event
K
listener
EventListener<ManagerEvents[K]>
Returns
this
Inherited from
connect()
connect():
Promise<void>
Defined in: sdk/src/CtrllrManager.ts:100
Connect to the signaling server. Idempotent: resolves immediately if already connected; concurrent calls share the same in-flight promise.
Returns
Promise<void>
disconnect()
disconnect():
void
Defined in: sdk/src/CtrllrManager.ts:130
Disconnect from the signaling server and clean up.
Returns
void
emit()
protectedemit<K>(event,data):boolean
Defined in: sdk/src/EventEmitter.ts:70
Emit an event to all listeners
Type Parameters
K
K extends keyof ManagerEvents
Parameters
event
K
data
Returns
boolean
Inherited from
getController()
getController(
index):Controller|undefined
Defined in: sdk/src/CtrllrManager.ts:149
Get a controller by index.
Parameters
index
number
Returns
Controller | undefined
getQRCodeDataURL()
getQRCodeDataURL(
options?):Promise<string>
Defined in: sdk/src/CtrllrManager.ts:157
Generate a QR code data URL containing the socket ID. Can be used directly as an <img> src attribute.
Parameters
options?
Returns
Promise<string>
getQRCodeSVG()
getQRCodeSVG(
options?):Promise<string>
Defined in: sdk/src/CtrllrManager.ts:170
Generate a QR code as an SVG string.
Parameters
options?
Returns
Promise<string>
listenerCount()
listenerCount<
K>(event):number
Defined in: sdk/src/EventEmitter.ts:96
Get the number of listeners for an event
Type Parameters
K
K extends keyof ManagerEvents
Parameters
event
K
Returns
number
Inherited from
off()
off<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:38
Remove an event listener
Type Parameters
K
K extends keyof ManagerEvents
Parameters
event
K
listener
EventListener<ManagerEvents[K]>
Returns
this
Inherited from
on()
on<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:17
Add an event listener
Type Parameters
K
K extends keyof ManagerEvents
Parameters
event
K
listener
EventListener<ManagerEvents[K]>
Returns
this
Inherited from
once()
once<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:59
Add a one-time event listener
Type Parameters
K
K extends keyof ManagerEvents
Parameters
event
K
listener
EventListener<ManagerEvents[K]>
Returns
this
Inherited from
removeAllListeners()
removeAllListeners<
K>(event?):this
Defined in: sdk/src/EventEmitter.ts:84
Remove all listeners for an event, or all events if no event specified
Type Parameters
K
K extends keyof ManagerEvents
Parameters
event?
K
Returns
this
Inherited from
EventEmitter.removeAllListeners
removeEventListener()
removeEventListener<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:49
Alias for off - matches DOM API
Type Parameters
K
K extends keyof ManagerEvents
Parameters
event
K
listener
EventListener<ManagerEvents[K]>
Returns
this
Inherited from
EventEmitter.removeEventListener
setAdapter()
setAdapter(
adapter):void
Defined in: sdk/src/CtrllrManager.ts:90
Set the signaling adapter. Call this before connect() if using a custom adapter.
Parameters
adapter
Returns
void
EventEmitter
Defined in: sdk/src/EventEmitter.ts:11
Extended by
Type Parameters
Events
Events extends EventMap = EventMap
Constructors
Constructor
new EventEmitter<
Events>():EventEmitter<Events>
Returns
EventEmitter<Events>
Methods
addEventListener()
addEventListener<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:28
Alias for on - matches DOM API
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
listener
EventListener<Events[K]>
Returns
this
emit()
protectedemit<K>(event,data):boolean
Defined in: sdk/src/EventEmitter.ts:70
Emit an event to all listeners
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
data
Events[K]
Returns
boolean
listenerCount()
listenerCount<
K>(event):number
Defined in: sdk/src/EventEmitter.ts:96
Get the number of listeners for an event
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
Returns
number
off()
off<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:38
Remove an event listener
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
listener
EventListener<Events[K]>
Returns
this
on()
on<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:17
Add an event listener
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
listener
EventListener<Events[K]>
Returns
this
once()
once<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:59
Add a one-time event listener
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
listener
EventListener<Events[K]>
Returns
this
removeAllListeners()
removeAllListeners<
K>(event?):this
Defined in: sdk/src/EventEmitter.ts:84
Remove all listeners for an event, or all events if no event specified
Type Parameters
K
K extends string | number | symbol
Parameters
event?
K
Returns
this
removeEventListener()
removeEventListener<
K>(event,listener):this
Defined in: sdk/src/EventEmitter.ts:49
Alias for off - matches DOM API
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
listener
EventListener<Events[K]>
Returns
this
SocketIOAdapter
Defined in: sdk/src/signaling/SocketIOAdapter.ts:35
SignalingAdapter implementation using socket.io and simple-peer. Handles WebRTC connection setup through a socket.io signaling server.
Implements
Constructors
Constructor
new SocketIOAdapter(
options):SocketIOAdapter
Defined in: sdk/src/signaling/SocketIOAdapter.ts:51
Parameters
options
Returns
Accessors
connected
Get Signature
get connected():
boolean
Defined in: sdk/src/signaling/SocketIOAdapter.ts:59
Whether the adapter is currently connected to the signaling server.
Returns
boolean
Whether the adapter is currently connected to the signaling server.
Implementation of
socketId
Get Signature
get socketId():
string|null
Defined in: sdk/src/signaling/SocketIOAdapter.ts:55
The socket ID assigned by the signaling server. Used for QR code generation.
Returns
string | null
The socket ID assigned by the signaling server. Used for QR code generation.
Implementation of
Methods
connect()
connect():
Promise<void>
Defined in: sdk/src/signaling/SocketIOAdapter.ts:63
Connect to the signaling server. Implementations should be idempotent — calling while already connected or while a connection attempt is in flight should not create a new socket.
Returns
Promise<void>
Implementation of
disconnect()
disconnect():
void
Defined in: sdk/src/signaling/SocketIOAdapter.ts:104
Disconnect from the signaling server
Returns
void
Implementation of
onPeerConnected()
onPeerConnected(
callback):void
Defined in: sdk/src/signaling/SocketIOAdapter.ts:119
Register callback for new peer connections
Parameters
callback
(peerId, peer) => void
Returns
void
Implementation of
SignalingAdapter.onPeerConnected
onPeerDisconnected()
onPeerDisconnected(
callback):void
Defined in: sdk/src/signaling/SocketIOAdapter.ts:128
Register callback for peer disconnections
Parameters
callback
(peerId) => void
Returns
void
Implementation of
SignalingAdapter.onPeerDisconnected
Interfaces
ActionButtonState
Defined in: types/dist/index.d.ts:17
State of an action button (A, X, Y, Z). Action buttons track press state and directional displacement (aimable).
Properties
pressed
pressed:
boolean
Defined in: types/dist/index.d.ts:19
Whether the button is currently pressed/touched
x
x:
number
Defined in: types/dist/index.d.ts:21
Horizontal axis value (-1 to 1)
y
y:
number
Defined in: types/dist/index.d.ts:23
Vertical axis value (-1 to 1)
ButtonState
Defined in: types/dist/index.d.ts:29
State of a simple button (e.g. Start). Simple buttons only track press state with no directional data.
Properties
pressed
pressed:
boolean
Defined in: types/dist/index.d.ts:31
Whether the button is currently pressed
ControllerConnectionEvent
Defined in: sdk/src/types.ts:64
Payload for controllerconnected/controllerdisconnected events
Properties
controller
controller:
Controller
Defined in: sdk/src/types.ts:65
ControllerEvents
Defined in: sdk/src/types.ts:51
Events emitted by Controller
Properties
buttondown
buttondown:
ControllerButtonEvent
Defined in: sdk/src/types.ts:53
buttonup
buttonup:
ControllerButtonEvent
Defined in: sdk/src/types.ts:54
statechange
statechange:
ControllerStateChangeEvent
Defined in: sdk/src/types.ts:52
ControllerState
Defined in: types/dist/index.d.ts:50
Complete state of a controller. Contains a joystick, action buttons (aimable), and simple buttons.
Properties
a
Defined in: types/dist/index.d.ts:54
A button (action, aimable)
joystick
joystick:
JoystickState
Defined in: types/dist/index.d.ts:52
Left analog stick / joystick
start
start:
ButtonState
Defined in: types/dist/index.d.ts:62
Start button (simple)
x
Defined in: types/dist/index.d.ts:56
X button (action, aimable)
y
Defined in: types/dist/index.d.ts:58
Y button (action, aimable)
z
Defined in: types/dist/index.d.ts:60
Z button (action, aimable)
ControllerStateChangeEvent
Defined in: sdk/src/types.ts:19
Payload for statechange event on Controller
Properties
state
state:
ControllerState
Defined in: sdk/src/types.ts:20
CtrllrManagerOptions
Defined in: types/dist/index.d.ts:112
Configuration options for CtrllrManager.
Properties
signalingUrl
signalingUrl:
string
Defined in: types/dist/index.d.ts:114
URL of the socket.io signaling server
socketOptions?
optionalsocketOptions?:Record<string,unknown>
Defined in: types/dist/index.d.ts:116
Optional socket.io connection options
JoystickState
Defined in: types/dist/index.d.ts:5
State of the joystick (analog stick). Tracks press state and directional displacement.
Properties
pressed
pressed:
boolean
Defined in: types/dist/index.d.ts:7
Whether the joystick is currently pressed/touched
x
x:
number
Defined in: types/dist/index.d.ts:9
Horizontal axis value (-1 to 1)
y
y:
number
Defined in: types/dist/index.d.ts:11
Vertical axis value (-1 to 1)
ManagerConnectionStatusEvent
Defined in: sdk/src/types.ts:100
Payload for connectionstatuschange event on Manager
Properties
error?
optionalerror?:unknown
Defined in: sdk/src/types.ts:103
socketId
socketId:
string|null
Defined in: sdk/src/types.ts:102
status
status:
ConnectionStatus
Defined in: sdk/src/types.ts:101
ManagerEvents
Defined in: sdk/src/types.ts:109
Events emitted by CtrllrManager
Properties
buttondown
buttondown:
ManagerButtonEvent
Defined in: sdk/src/types.ts:114
buttonup
buttonup:
ManagerButtonEvent
Defined in: sdk/src/types.ts:115
connectionstatuschange
connectionstatuschange:
ManagerConnectionStatusEvent
Defined in: sdk/src/types.ts:110
controllerconnected
controllerconnected:
ControllerConnectionEvent
Defined in: sdk/src/types.ts:111
controllerdisconnected
controllerdisconnected:
ControllerConnectionEvent
Defined in: sdk/src/types.ts:112
statechange
statechange:
ManagerStateChangeEvent
Defined in: sdk/src/types.ts:113
ManagerStateChangeEvent
Defined in: sdk/src/types.ts:71
Payload for statechange event on Manager (includes controller reference)
Properties
controller
controller:
Controller
Defined in: sdk/src/types.ts:72
state
state:
ControllerState
Defined in: sdk/src/types.ts:73
QRCodeOptions
Defined in: sdk/src/QRCode.ts:6
Options for QR code generation
Properties
darkColor?
optionaldarkColor?:string
Defined in: sdk/src/QRCode.ts:12
Dark color (foreground)
lightColor?
optionallightColor?:string
Defined in: sdk/src/QRCode.ts:14
Light color (background)
margin?
optionalmargin?:number
Defined in: sdk/src/QRCode.ts:10
Margin around the QR code (in modules)
width?
optionalwidth?:number
Defined in: sdk/src/QRCode.ts:8
Width/height of the QR code in pixels
RawControllerInput
Defined in: types/dist/index.d.ts:85
Raw input data received from the mobile controller app. This is the format sent over the WebRTC data channel.
Properties
buttons
buttons:
object
Defined in: types/dist/index.d.ts:93
Action button states (aimable)
a
x
y
z
joystick
joystick:
JoystickState
Defined in: types/dist/index.d.ts:91
Joystick state
start
start:
ButtonState
Defined in: types/dist/index.d.ts:100
Start button state (simple)
timestamp
timestamp:
number
Defined in: types/dist/index.d.ts:102
Timestamp of the input sample
userId
userId:
string
Defined in: types/dist/index.d.ts:87
User ID from the mobile app
username
username:
string
Defined in: types/dist/index.d.ts:89
Username from the mobile app
SignalingAdapter
Defined in: sdk/src/signaling/SignalingAdapter.ts:7
Interface for signaling adapters. Implement this to use a custom signaling mechanism.
Properties
connected
readonlyconnected:boolean
Defined in: sdk/src/signaling/SignalingAdapter.ts:17
Whether the adapter is currently connected to the signaling server.
socketId
readonlysocketId:string|null
Defined in: sdk/src/signaling/SignalingAdapter.ts:12
The socket ID assigned by the signaling server. Used for QR code generation.
Methods
connect()
connect():
Promise<void>
Defined in: sdk/src/signaling/SignalingAdapter.ts:24
Connect to the signaling server. Implementations should be idempotent — calling while already connected or while a connection attempt is in flight should not create a new socket.
Returns
Promise<void>
disconnect()
disconnect():
void
Defined in: sdk/src/signaling/SignalingAdapter.ts:29
Disconnect from the signaling server
Returns
void
onPeerConnected()
onPeerConnected(
callback):void
Defined in: sdk/src/signaling/SignalingAdapter.ts:37
Called when a new peer wants to connect. The adapter should create SimplePeer instances and handle signaling.
Parameters
callback
(peerId, peer) => void
Called with each new peer connection
Returns
void
onPeerDisconnected()
onPeerDisconnected(
callback):void
Defined in: sdk/src/signaling/SignalingAdapter.ts:42
Called when a peer disconnects
Parameters
callback
(peerId) => void
Returns
void
SocketIOAdapterOptions
Defined in: sdk/src/signaling/SocketIOAdapter.ts:24
Options for SocketIOAdapter
Properties
socketOptions?
optionalsocketOptions?:Partial<ManagerOptions&SocketOptions>
Defined in: sdk/src/signaling/SocketIOAdapter.ts:28
Optional socket.io connection options
url
url:
string
Defined in: sdk/src/signaling/SocketIOAdapter.ts:26
URL of the socket.io signaling server
Type Aliases
ActionButtonName
ActionButtonName =
"a"|"x"|"y"|"z"
Defined in: types/dist/index.d.ts:67
Names of action button inputs (aimable buttons with directional data).
ButtonName
ButtonName =
"start"
Defined in: types/dist/index.d.ts:71
Names of simple button inputs (press-only, no directional data).
ConnectionStatus
ConnectionStatus =
"disconnected"|"connecting"|"connected"|"error"
Defined in: types/dist/index.d.ts:108
Signaling connection lifecycle states.
ControllerButtonEvent
ControllerButtonEvent = {
input:"joystick"|ActionButtonName;state:ControllerState;x:number;y:number; } | {input:ButtonName;state:ControllerState; }
Defined in: sdk/src/types.ts:30
Payload for buttondown/buttonup events on Controller.
Uses a discriminated union on input:
- Joystick and action buttons include
xandydirectional data. - Simple buttons (
ButtonName) only include the controller state.
Union Members
Type Literal
{ input: "joystick" | ActionButtonName; state: ControllerState; x: number; y: number; }
input
input:
"joystick"|ActionButtonName
Which joystick or action button triggered the event
state
state:
ControllerState
Full controller state
x
x:
number
X value at time of event
y
y:
number
Y value at time of event
Type Literal
{ input: ButtonName; state: ControllerState; }
input
input:
ButtonName
Which simple button triggered the event
state
state:
ControllerState
Full controller state
InputName
InputName =
"joystick"|ActionButtonName|ButtonName
Defined in: types/dist/index.d.ts:75
All input names.
ManagerButtonEvent
ManagerButtonEvent = {
controller:Controller;input:"joystick"|ActionButtonName;state:ControllerState;x:number;y:number; } | {controller:Controller;input:ButtonName;state:ControllerState; }
Defined in: sdk/src/types.ts:83
Payload for buttondown/buttonup events on Manager (includes controller reference).
Uses a discriminated union on input:
- Joystick and action buttons include
xandydirectional data. - Simple buttons only include the controller and state.
Functions
createDefaultActionButtonState()
createDefaultActionButtonState():
ActionButtonState
Defined in: types/dist/index.d.ts:40
Creates a default ActionButtonState with all values zeroed.
Returns
createDefaultButtonState()
createDefaultButtonState():
ButtonState
Defined in: types/dist/index.d.ts:44
Creates a default ButtonState (not pressed).
Returns
createDefaultControllerState()
createDefaultControllerState():
ControllerState
Defined in: types/dist/index.d.ts:79
Creates a default ControllerState with all inputs zeroed.
Returns
createDefaultJoystickState()
createDefaultJoystickState():
JoystickState
Defined in: types/dist/index.d.ts:36
Creates a default JoystickState with all values zeroed.
Returns
generateQRCodeDataURL()
generateQRCodeDataURL(
data,options?):Promise<string>
Defined in: sdk/src/QRCode.ts:28
Generate a QR code as a data URL (base64 PNG) Can be used directly as an <img> src
Parameters
data
string
options?
QRCodeOptions = {}
Returns
Promise<string>
generateQRCodeSVG()
generateQRCodeSVG(
data,options?):Promise<string>
Defined in: sdk/src/QRCode.ts:47
Generate a QR code as an SVG string
Parameters
data
string
options?
QRCodeOptions = {}
Returns
Promise<string>
@ctrllr/types
Interfaces
ActionButtonState
Defined in: inputs.ts:18
State of an action button (A, X, Y, Z). Action buttons track press state and directional displacement (aimable).
Properties
pressed
pressed:
boolean
Defined in: inputs.ts:20
Whether the button is currently pressed/touched
x
x:
number
Defined in: inputs.ts:22
Horizontal axis value (-1 to 1)
y
y:
number
Defined in: inputs.ts:24
Vertical axis value (-1 to 1)
ButtonState
Defined in: inputs.ts:31
State of a simple button (e.g. Start). Simple buttons only track press state with no directional data.
Properties
pressed
pressed:
boolean
Defined in: inputs.ts:33
Whether the button is currently pressed
ControllerState
Defined in: controller.ts:12
Complete state of a controller. Contains a joystick, action buttons (aimable), and simple buttons.
Properties
a
Defined in: controller.ts:16
A button (action, aimable)
joystick
joystick:
JoystickState
Defined in: controller.ts:14
Left analog stick / joystick
start
start:
ButtonState
Defined in: controller.ts:24
Start button (simple)
x
Defined in: controller.ts:18
X button (action, aimable)
y
Defined in: controller.ts:20
Y button (action, aimable)
z
Defined in: controller.ts:22
Z button (action, aimable)
CtrllrManagerOptions
Defined in: config.ts:13
Configuration options for CtrllrManager.
Properties
signalingUrl
signalingUrl:
string
Defined in: config.ts:15
URL of the socket.io signaling server
socketOptions?
optionalsocketOptions?:Record<string,unknown>
Defined in: config.ts:17
Optional socket.io connection options
JoystickState
Defined in: inputs.ts:5
State of the joystick (analog stick). Tracks press state and directional displacement.
Properties
pressed
pressed:
boolean
Defined in: inputs.ts:7
Whether the joystick is currently pressed/touched
x
x:
number
Defined in: inputs.ts:9
Horizontal axis value (-1 to 1)
y
y:
number
Defined in: inputs.ts:11
Vertical axis value (-1 to 1)
RawControllerInput
Defined in: wire.ts:7
Raw input data received from the mobile controller app. This is the format sent over the WebRTC data channel.
Properties
buttons
buttons:
object
Defined in: wire.ts:15
Action button states (aimable)
a
x
y
z
joystick
joystick:
JoystickState
Defined in: wire.ts:13
Joystick state
start
start:
ButtonState
Defined in: wire.ts:22
Start button state (simple)
timestamp
timestamp:
number
Defined in: wire.ts:24
Timestamp of the input sample
userId
userId:
string
Defined in: wire.ts:9
User ID from the mobile app
username
username:
string
Defined in: wire.ts:11
Username from the mobile app
Type Aliases
ActionButtonName
ActionButtonName =
"a"|"x"|"y"|"z"
Defined in: controller.ts:30
Names of action button inputs (aimable buttons with directional data).
ButtonName
ButtonName =
"start"
Defined in: controller.ts:35
Names of simple button inputs (press-only, no directional data).
ConnectionStatus
ConnectionStatus =
"disconnected"|"connecting"|"connected"|"error"
Defined in: config.ts:4
Signaling connection lifecycle states.
InputName
InputName =
"joystick"|ActionButtonName|ButtonName
Defined in: controller.ts:40
All input names.
Functions
createDefaultActionButtonState()
createDefaultActionButtonState():
ActionButtonState
Defined in: inputs.ts:46
Creates a default ActionButtonState with all values zeroed.
Returns
createDefaultButtonState()
createDefaultButtonState():
ButtonState
Defined in: inputs.ts:53
Creates a default ButtonState (not pressed).
Returns
createDefaultControllerState()
createDefaultControllerState():
ControllerState
Defined in: controller.ts:45
Creates a default ControllerState with all inputs zeroed.
Returns
createDefaultJoystickState()
createDefaultJoystickState():
JoystickState
Defined in: inputs.ts:39
Creates a default JoystickState with all values zeroed.