:py:mod:`viam.proto.component.inputcontroller` ============================================== .. py:module:: viam.proto.component.inputcontroller .. autoapi-nested-parse:: @generated by Viam. Do not edit manually! Package Contents ---------------- Classes ~~~~~~~ .. autoapisummary:: viam.proto.component.inputcontroller.InputControllerServiceBase viam.proto.component.inputcontroller.InputControllerServiceStub viam.proto.component.inputcontroller.UnimplementedInputControllerServiceBase viam.proto.component.inputcontroller.Event viam.proto.component.inputcontroller.GetControlsRequest viam.proto.component.inputcontroller.GetControlsResponse viam.proto.component.inputcontroller.GetEventsRequest viam.proto.component.inputcontroller.GetEventsResponse viam.proto.component.inputcontroller.Status viam.proto.component.inputcontroller.StreamEventsRequest viam.proto.component.inputcontroller.StreamEventsResponse viam.proto.component.inputcontroller.TriggerEventRequest viam.proto.component.inputcontroller.TriggerEventResponse .. py:class:: InputControllerServiceBase Bases: :py:obj:`abc.ABC` Helper class that provides a standard way to create an ABC using inheritance. .. py:method:: GetControls(stream: grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.GetControlsRequest, component.inputcontroller.v1.input_controller_pb2.GetControlsResponse]) -> None :abstractmethod: :async: .. py:method:: GetEvents(stream: grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.GetEventsRequest, component.inputcontroller.v1.input_controller_pb2.GetEventsResponse]) -> None :abstractmethod: :async: .. py:method:: StreamEvents(stream: grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.StreamEventsRequest, component.inputcontroller.v1.input_controller_pb2.StreamEventsResponse]) -> None :abstractmethod: :async: .. py:method:: TriggerEvent(stream: grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.TriggerEventRequest, component.inputcontroller.v1.input_controller_pb2.TriggerEventResponse]) -> None :abstractmethod: :async: .. py:method:: DoCommand(stream: grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]) -> None :abstractmethod: :async: .. py:method:: GetGeometries(stream: grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]) -> None :abstractmethod: :async: .. py:method:: __mapping__() -> Dict[str, grpclib.const.Handler] .. py:class:: InputControllerServiceStub(channel: grpclib.client.Channel) .. py:class:: UnimplementedInputControllerServiceBase Bases: :py:obj:`InputControllerServiceBase` Helper class that provides a standard way to create an ABC using inheritance. .. py:method:: GetControls(stream: grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.GetControlsRequest, component.inputcontroller.v1.input_controller_pb2.GetControlsResponse]) -> None :async: .. py:method:: GetEvents(stream: grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.GetEventsRequest, component.inputcontroller.v1.input_controller_pb2.GetEventsResponse]) -> None :async: .. py:method:: StreamEvents(stream: grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.StreamEventsRequest, component.inputcontroller.v1.input_controller_pb2.StreamEventsResponse]) -> None :async: .. py:method:: TriggerEvent(stream: grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.TriggerEventRequest, component.inputcontroller.v1.input_controller_pb2.TriggerEventResponse]) -> None :async: .. py:method:: DoCommand(stream: grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]) -> None :async: .. py:method:: GetGeometries(stream: grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]) -> None :async: .. py:class:: Event(*, time: google.protobuf.timestamp_pb2.Timestamp | None = ..., event: str = ..., control: str = ..., value: float = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: time :type: google.protobuf.timestamp_pb2.Timestamp Timestamp of event .. py:attribute:: event :type: str ButtonPress, ButtonRelease) :type: An event type (eg .. py:attribute:: control :type: str AbsoluteX) :type: A control, can be a button (eg :type: ButtonSouth) or an axis (eg .. py:attribute:: value :type: float 0 or 1 for buttons, -1.0 to +1.0 for axes .. py:method:: HasField(field_name: Literal[time, b'time']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: GetControlsRequest(*, controller: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: extra :type: google.protobuf.struct_pb2.Struct Additional arguments to the method .. py:attribute:: controller :type: str Name of an input controller .. py:method:: HasField(field_name: Literal[extra, b'extra']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: GetControlsResponse(*, controls: collections.abc.Iterable[str] | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: controls :type: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str] Returns a list of all the controls (buttons and axes) that are available to a given Input Controller .. py:class:: GetEventsRequest(*, controller: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: extra :type: google.protobuf.struct_pb2.Struct Additional arguments to the method .. py:attribute:: controller :type: str Name of an input controller .. py:method:: HasField(field_name: Literal[extra, b'extra']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: GetEventsResponse(*, events: collections.abc.Iterable[global___Event] | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: events :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Event] Returns a list of the most recent event for each control on a given InputController. Effectively provides the current "state" of all buttons/axes on a given input controller .. py:class:: Status(*, events: collections.abc.Iterable[global___Event] | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: events :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Event] .. py:class:: StreamEventsRequest(*, controller: str = ..., events: collections.abc.Iterable[global___StreamEventsRequest] | None = ..., extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:class:: Events(*, control: str = ..., events: collections.abc.Iterable[str] | None = ..., cancelled_events: collections.abc.Iterable[str] | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: events :type: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str] Specify which event types to recieve events for .. py:property:: cancelled_events :type: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str] Specify which event types to stop recieving events for This can be an empty list .. py:attribute:: control :type: str Name of a control (button or axis) .. py:property:: events :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StreamEventsRequest] A list of Events .. py:property:: extra :type: google.protobuf.struct_pb2.Struct Additional arguments to the method .. py:attribute:: controller :type: str Name of an input controller .. py:method:: HasField(field_name: Literal[extra, b'extra']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: StreamEventsResponse(*, event: global___Event | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: event :type: global___Event Event for a controller .. py:method:: HasField(field_name: Literal[event, b'event']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: TriggerEventRequest(*, controller: str = ..., event: global___Event | None = ..., extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:property:: event :type: global___Event Digitally assert a given event .. py:property:: extra :type: google.protobuf.struct_pb2.Struct Additional arguments to the method .. py:attribute:: controller :type: str Name of an input controller .. py:method:: HasField(field_name: Literal[event, b'event', extra, b'extra']) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: TriggerEventResponse Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.