Class InputControllerClient

A gRPC-web client for the Input Controller component.

Implements

Constructors

Properties

callOptions: CallOptions = ...
name: string

The name of the resource.

Methods

  • Send/Receive arbitrary commands to the resource.

    Parameters

    • command: Struct

      The command to execute.

    • callOptions: CallOptions = ...

    Returns Promise<JsonValue>

    const result = await resource.doCommand({
    name: 'myCommand',
    args: { key: 'value' },
    });
  • Returns a list of events representing the last event on each control.

    Parameters

    • extra: {} = {}
    • callOptions: CallOptions = ...

    Returns Promise<Event[]>

    const controller = new VIAM.InputControllerClient(
    machine,
    'my_controller'
    );

    // Get the most recent Event for each Control
    const recentEvents = await controller.getEvents();
    console.log('Recent events:', recentEvents);

    For more information, see Input Controller API.

  • TriggerEvent, where supported, injects an InputControllerEvent into an input controller to (virtually) generate events like button presses or axis movements.

    Parameters

    • event: PlainMessage
    • extra: {} = {}
    • callOptions: CallOptions = ...

    Returns Promise<void>

    const controller = new VIAM.InputControllerClient(
    machine,
    'my_controller'
    );

    // Create a "Button is Pressed" event for the control BUTTON_START
    const buttonPressEvent = new VIAM.InputControllerEvent({
    time: { seconds: BigInt(Math.floor(Date.now() / 1000)) },
    event: 'ButtonPress',
    control: 'ButtonStart',
    value: 1.0,
    });
    // Trigger the event
    await controller.triggerEvent(buttonPressEvent);

    For more information, see Input Controller API.

MMNEPVFCICPMFPCPTTAAATR