# {py:mod}`simvx.core.input.actions` ```{py:module} simvx.core.input.actions ``` ```{autodoc2-docstring} simvx.core.input.actions :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ActionKind ` - ```{autodoc2-docstring} simvx.core.input.actions.ActionKind :summary: ``` * - {py:obj}`Axis1D ` - ```{autodoc2-docstring} simvx.core.input.actions.Axis1D :summary: ``` * - {py:obj}`Axis2D ` - ```{autodoc2-docstring} simvx.core.input.actions.Axis2D :summary: ``` * - {py:obj}`Action ` - ```{autodoc2-docstring} simvx.core.input.actions.Action :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`to_source ` - ```{autodoc2-docstring} simvx.core.input.actions.to_source :summary: ``` * - {py:obj}`kind_for ` - ```{autodoc2-docstring} simvx.core.input.actions.kind_for :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.input.actions.__all__ :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.core.input.actions.__all__ :value: > ['ActionKind', 'Axis1D', 'Axis2D', 'BindingSpec', 'SourceSpec'] ```{autodoc2-docstring} simvx.core.input.actions.__all__ ``` ```` `````{py:class} ActionKind() :canonical: simvx.core.input.actions.ActionKind Bases: {py:obj}`enum.StrEnum` ```{autodoc2-docstring} simvx.core.input.actions.ActionKind ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.input.actions.ActionKind.__init__ ``` ````{py:attribute} BUTTON :canonical: simvx.core.input.actions.ActionKind.BUTTON :value: > 'button' ```{autodoc2-docstring} simvx.core.input.actions.ActionKind.BUTTON ``` ```` ````{py:attribute} AXIS_1D :canonical: simvx.core.input.actions.ActionKind.AXIS_1D :value: > 'axis_1d' ```{autodoc2-docstring} simvx.core.input.actions.ActionKind.AXIS_1D ``` ```` ````{py:attribute} AXIS_2D :canonical: simvx.core.input.actions.ActionKind.AXIS_2D :value: > 'axis_2d' ```{autodoc2-docstring} simvx.core.input.actions.ActionKind.AXIS_2D ``` ```` ````{py:method} __new__(*values) :canonical: simvx.core.input.actions.ActionKind.__new__ ```` ````{py:method} __add__() :canonical: simvx.core.input.actions.ActionKind.__add__ ```` ````{py:method} __contains__() :canonical: simvx.core.input.actions.ActionKind.__contains__ ```` ````{py:method} __delattr__() :canonical: simvx.core.input.actions.ActionKind.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.core.input.actions.ActionKind.__dir__ ```` ````{py:method} __eq__() :canonical: simvx.core.input.actions.ActionKind.__eq__ ```` ````{py:method} __format__() :canonical: simvx.core.input.actions.ActionKind.__format__ ```` ````{py:method} __ge__() :canonical: simvx.core.input.actions.ActionKind.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.core.input.actions.ActionKind.__getattribute__ ```` ````{py:method} __getitem__() :canonical: simvx.core.input.actions.ActionKind.__getitem__ ```` ````{py:method} __getnewargs__() :canonical: simvx.core.input.actions.ActionKind.__getnewargs__ ```` ````{py:method} __getstate__() :canonical: simvx.core.input.actions.ActionKind.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.core.input.actions.ActionKind.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.core.input.actions.ActionKind.__hash__ ```` ````{py:method} __iter__() :canonical: simvx.core.input.actions.ActionKind.__iter__ ```` ````{py:method} __le__() :canonical: simvx.core.input.actions.ActionKind.__le__ ```` ````{py:method} __len__() :canonical: simvx.core.input.actions.ActionKind.__len__ ```` ````{py:method} __lt__() :canonical: simvx.core.input.actions.ActionKind.__lt__ ```` ````{py:method} __mod__() :canonical: simvx.core.input.actions.ActionKind.__mod__ ```` ````{py:method} __mul__() :canonical: simvx.core.input.actions.ActionKind.__mul__ ```` ````{py:method} __ne__() :canonical: simvx.core.input.actions.ActionKind.__ne__ ```` ````{py:method} __reduce__() :canonical: simvx.core.input.actions.ActionKind.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.core.input.actions.ActionKind.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.core.input.actions.ActionKind.__repr__ ```` ````{py:method} __rmod__() :canonical: simvx.core.input.actions.ActionKind.__rmod__ ```` ````{py:method} __rmul__() :canonical: simvx.core.input.actions.ActionKind.__rmul__ ```` ````{py:method} __setattr__() :canonical: simvx.core.input.actions.ActionKind.__setattr__ ```` ````{py:method} __sizeof__() :canonical: simvx.core.input.actions.ActionKind.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.core.input.actions.ActionKind.__str__ ```` ````{py:method} __subclasshook__() :canonical: simvx.core.input.actions.ActionKind.__subclasshook__ ```` ````{py:method} capitalize() :canonical: simvx.core.input.actions.ActionKind.capitalize ```` ````{py:method} casefold() :canonical: simvx.core.input.actions.ActionKind.casefold ```` ````{py:method} center() :canonical: simvx.core.input.actions.ActionKind.center ```` ````{py:method} count() :canonical: simvx.core.input.actions.ActionKind.count ```` ````{py:method} encode() :canonical: simvx.core.input.actions.ActionKind.encode ```` ````{py:method} endswith() :canonical: simvx.core.input.actions.ActionKind.endswith ```` ````{py:method} expandtabs() :canonical: simvx.core.input.actions.ActionKind.expandtabs ```` ````{py:method} find() :canonical: simvx.core.input.actions.ActionKind.find ```` ````{py:method} format() :canonical: simvx.core.input.actions.ActionKind.format ```` ````{py:method} format_map() :canonical: simvx.core.input.actions.ActionKind.format_map ```` ````{py:method} index() :canonical: simvx.core.input.actions.ActionKind.index ```` ````{py:method} isalnum() :canonical: simvx.core.input.actions.ActionKind.isalnum ```` ````{py:method} isalpha() :canonical: simvx.core.input.actions.ActionKind.isalpha ```` ````{py:method} isascii() :canonical: simvx.core.input.actions.ActionKind.isascii ```` ````{py:method} isdecimal() :canonical: simvx.core.input.actions.ActionKind.isdecimal ```` ````{py:method} isdigit() :canonical: simvx.core.input.actions.ActionKind.isdigit ```` ````{py:method} isidentifier() :canonical: simvx.core.input.actions.ActionKind.isidentifier ```` ````{py:method} islower() :canonical: simvx.core.input.actions.ActionKind.islower ```` ````{py:method} isnumeric() :canonical: simvx.core.input.actions.ActionKind.isnumeric ```` ````{py:method} isprintable() :canonical: simvx.core.input.actions.ActionKind.isprintable ```` ````{py:method} isspace() :canonical: simvx.core.input.actions.ActionKind.isspace ```` ````{py:method} istitle() :canonical: simvx.core.input.actions.ActionKind.istitle ```` ````{py:method} isupper() :canonical: simvx.core.input.actions.ActionKind.isupper ```` ````{py:method} join() :canonical: simvx.core.input.actions.ActionKind.join ```` ````{py:method} ljust() :canonical: simvx.core.input.actions.ActionKind.ljust ```` ````{py:method} lower() :canonical: simvx.core.input.actions.ActionKind.lower ```` ````{py:method} lstrip() :canonical: simvx.core.input.actions.ActionKind.lstrip ```` ````{py:method} partition() :canonical: simvx.core.input.actions.ActionKind.partition ```` ````{py:method} removeprefix() :canonical: simvx.core.input.actions.ActionKind.removeprefix ```` ````{py:method} removesuffix() :canonical: simvx.core.input.actions.ActionKind.removesuffix ```` ````{py:method} replace() :canonical: simvx.core.input.actions.ActionKind.replace ```` ````{py:method} rfind() :canonical: simvx.core.input.actions.ActionKind.rfind ```` ````{py:method} rindex() :canonical: simvx.core.input.actions.ActionKind.rindex ```` ````{py:method} rjust() :canonical: simvx.core.input.actions.ActionKind.rjust ```` ````{py:method} rpartition() :canonical: simvx.core.input.actions.ActionKind.rpartition ```` ````{py:method} rsplit() :canonical: simvx.core.input.actions.ActionKind.rsplit ```` ````{py:method} rstrip() :canonical: simvx.core.input.actions.ActionKind.rstrip ```` ````{py:method} split() :canonical: simvx.core.input.actions.ActionKind.split ```` ````{py:method} splitlines() :canonical: simvx.core.input.actions.ActionKind.splitlines ```` ````{py:method} startswith() :canonical: simvx.core.input.actions.ActionKind.startswith ```` ````{py:method} strip() :canonical: simvx.core.input.actions.ActionKind.strip ```` ````{py:method} swapcase() :canonical: simvx.core.input.actions.ActionKind.swapcase ```` ````{py:method} title() :canonical: simvx.core.input.actions.ActionKind.title ```` ````{py:method} translate() :canonical: simvx.core.input.actions.ActionKind.translate ```` ````{py:method} upper() :canonical: simvx.core.input.actions.ActionKind.upper ```` ````{py:method} zfill() :canonical: simvx.core.input.actions.ActionKind.zfill ```` ````{py:method} __deepcopy__(memo) :canonical: simvx.core.input.actions.ActionKind.__deepcopy__ ```` ````{py:method} __copy__() :canonical: simvx.core.input.actions.ActionKind.__copy__ ```` ````{py:method} name() :canonical: simvx.core.input.actions.ActionKind.name ```` ````{py:method} value() :canonical: simvx.core.input.actions.ActionKind.value ```` ````` `````{py:class} Axis1D :canonical: simvx.core.input.actions.Axis1D ```{autodoc2-docstring} simvx.core.input.actions.Axis1D ``` ````{py:attribute} low :canonical: simvx.core.input.actions.Axis1D.low :type: simvx.core.input.actions.BindingSpec :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Axis1D.low ``` ```` ````{py:attribute} high :canonical: simvx.core.input.actions.Axis1D.high :type: simvx.core.input.actions.BindingSpec :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Axis1D.high ``` ```` ````{py:attribute} deadzone :canonical: simvx.core.input.actions.Axis1D.deadzone :type: float :value: > 0.2 ```{autodoc2-docstring} simvx.core.input.actions.Axis1D.deadzone ``` ```` ````{py:method} __post_init__() -> None :canonical: simvx.core.input.actions.Axis1D.__post_init__ ```{autodoc2-docstring} simvx.core.input.actions.Axis1D.__post_init__ ``` ```` ````{py:property} parts :canonical: simvx.core.input.actions.Axis1D.parts :type: tuple[simvx.core.input.actions.Part, simvx.core.input.actions.Part] ```{autodoc2-docstring} simvx.core.input.actions.Axis1D.parts ``` ```` ````{py:property} bindings :canonical: simvx.core.input.actions.Axis1D.bindings :type: tuple[simvx.core.input.events.InputBinding, simvx.core.input.events.InputBinding] ```{autodoc2-docstring} simvx.core.input.actions.Axis1D.bindings ``` ```` ````{py:method} __mul__(factor: float) -> simvx.core.input.actions.Axis1D :canonical: simvx.core.input.actions.Axis1D.__mul__ ```{autodoc2-docstring} simvx.core.input.actions.Axis1D.__mul__ ``` ```` ````{py:attribute} __rmul__ :canonical: simvx.core.input.actions.Axis1D.__rmul__ :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Axis1D.__rmul__ ``` ```` ````{py:method} per_second(rate: float) -> simvx.core.input.actions.Axis1D :canonical: simvx.core.input.actions.Axis1D.per_second ```{autodoc2-docstring} simvx.core.input.actions.Axis1D.per_second ``` ```` ````{py:method} for_device_axis(axis: simvx.core.input.controls.DeviceAxis, *, deadzone: float = 0.0) -> simvx.core.input.actions.Axis1D :canonical: simvx.core.input.actions.Axis1D.for_device_axis :classmethod: ```{autodoc2-docstring} simvx.core.input.actions.Axis1D.for_device_axis ``` ```` ````` `````{py:class} Axis2D :canonical: simvx.core.input.actions.Axis2D ```{autodoc2-docstring} simvx.core.input.actions.Axis2D ``` ````{py:attribute} up :canonical: simvx.core.input.actions.Axis2D.up :type: simvx.core.input.actions.BindingSpec :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.up ``` ```` ````{py:attribute} down :canonical: simvx.core.input.actions.Axis2D.down :type: simvx.core.input.actions.BindingSpec :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.down ``` ```` ````{py:attribute} left :canonical: simvx.core.input.actions.Axis2D.left :type: simvx.core.input.actions.BindingSpec :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.left ``` ```` ````{py:attribute} right :canonical: simvx.core.input.actions.Axis2D.right :type: simvx.core.input.actions.BindingSpec :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.right ``` ```` ````{py:attribute} deadzone :canonical: simvx.core.input.actions.Axis2D.deadzone :type: float :value: > 0.2 ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.deadzone ``` ```` ````{py:attribute} WASD :canonical: simvx.core.input.actions.Axis2D.WASD :type: typing.ClassVar[simvx.core.input.actions.Axis2D] :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.WASD ``` ```` ````{py:attribute} ARROWS :canonical: simvx.core.input.actions.Axis2D.ARROWS :type: typing.ClassVar[simvx.core.input.actions.Axis2D] :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.ARROWS ``` ```` ````{py:method} __post_init__() -> None :canonical: simvx.core.input.actions.Axis2D.__post_init__ ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.__post_init__ ``` ```` ````{py:property} parts :canonical: simvx.core.input.actions.Axis2D.parts :type: tuple[simvx.core.input.actions.Part, simvx.core.input.actions.Part, simvx.core.input.actions.Part, simvx.core.input.actions.Part] ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.parts ``` ```` ````{py:property} bindings :canonical: simvx.core.input.actions.Axis2D.bindings :type: tuple[simvx.core.input.events.InputBinding, simvx.core.input.events.InputBinding, simvx.core.input.events.InputBinding, simvx.core.input.events.InputBinding] ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.bindings ``` ```` ````{py:method} __mul__(factor: float) -> simvx.core.input.actions.Axis2D :canonical: simvx.core.input.actions.Axis2D.__mul__ ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.__mul__ ``` ```` ````{py:attribute} __rmul__ :canonical: simvx.core.input.actions.Axis2D.__rmul__ :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.__rmul__ ``` ```` ````{py:method} per_second(rate: float) -> simvx.core.input.actions.Axis2D :canonical: simvx.core.input.actions.Axis2D.per_second ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.per_second ``` ```` ````{py:method} for_stick(stick: simvx.core.input.controls.DeviceStick, *, deadzone: float = 0.2) -> simvx.core.input.actions.Axis2D :canonical: simvx.core.input.actions.Axis2D.for_stick :classmethod: ```{autodoc2-docstring} simvx.core.input.actions.Axis2D.for_stick ``` ```` ````` ````{py:function} to_source(spec: simvx.core.input.actions.SourceSpec) -> simvx.core.input.actions.Source :canonical: simvx.core.input.actions.to_source ```{autodoc2-docstring} simvx.core.input.actions.to_source ``` ```` ````{py:function} kind_for(name: str, sources: list[simvx.core.input.actions.Source]) -> simvx.core.input.actions.ActionKind :canonical: simvx.core.input.actions.kind_for ```{autodoc2-docstring} simvx.core.input.actions.kind_for ``` ```` `````{py:class} Action :canonical: simvx.core.input.actions.Action ```{autodoc2-docstring} simvx.core.input.actions.Action ``` ````{py:attribute} name :canonical: simvx.core.input.actions.Action.name :type: str | simvx.core.input.controls.DeviceControl :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Action.name ``` ```` ````{py:attribute} kind :canonical: simvx.core.input.actions.Action.kind :type: simvx.core.input.actions.ActionKind :value: > None ```{autodoc2-docstring} simvx.core.input.actions.Action.kind ``` ```` ````{py:attribute} sources :canonical: simvx.core.input.actions.Action.sources :type: list[simvx.core.input.actions.Source] :value: > 'field(...)' ```{autodoc2-docstring} simvx.core.input.actions.Action.sources ``` ```` ````{py:attribute} bindings :canonical: simvx.core.input.actions.Action.bindings :type: list[simvx.core.input.events.InputBinding] :value: > 'field(...)' ```{autodoc2-docstring} simvx.core.input.actions.Action.bindings ``` ```` ````{py:method} refresh() -> None :canonical: simvx.core.input.actions.Action.refresh ```{autodoc2-docstring} simvx.core.input.actions.Action.refresh ``` ```` ````{py:property} names :canonical: simvx.core.input.actions.Action.names :type: tuple[str, ...] ```{autodoc2-docstring} simvx.core.input.actions.Action.names ``` ```` `````