Source code for simvx.core.input

"""SimVX input system -- keyboard, mouse, pointer, controller."""

from .actions import ActionKind, Axis1D, Axis2D
from .capabilities import InputCapabilities
from .contexts import InputContext
from .controls import (
    Controller,
    DeviceAxis,
    DeviceButton,
    DeviceControl,
    DeviceControls,
    DeviceStick,
    DeviceType,
    Key,
    Mouse,
    Pen,
    Pointer,
    Tablet,
    Touch,
    key_to_name,
    name_to_keys,
)
from .devices import AxisInfo, AxisReport, ButtonInfo, ControllerDevice, InputDevice
from .enums import (
    ControllerFamily,
    ControllerSource,
    CursorShape,
    FocusMode,
    FocusReason,
    InputMethod,
    MouseCaptureMode,
    PenAxis,
    PointerPhase,
    PointerTool,
    PointerType,
)
from .events import (
    ActionEvent,
    AxisEvent,
    ButtonEvent,
    ControllerConnectionEvent,
    GuiInputEvent,
    InputBinding,
    InputEvent,
    KeyEvent,
    PickEvent,
    PointerEvent,
    PointerState,
    ScrollEvent,
    TextEvent,
)
from .map import ActionExplanation, BindingRole, InputMap, Rebind, roles_of
from .players import InputPlayer
from .router import InputRouter
from .state import Input
from .tick import ActionState, ControllerSnapshot, InputEdge, TickInput

__all__ = [
    "ActionEvent",
    "ActionKind",
    "ActionState",
    "Axis1D",
    "Axis2D",
    "AxisEvent",
    "AxisInfo",
    "AxisReport",
    "BindingRole",
    "ButtonEvent",
    "ButtonInfo",
    "DeviceAxis",
    "DeviceButton",
    "DeviceControl",
    "DeviceControls",
    "DeviceStick",
    "DeviceType",
    "Controller",
    "ControllerDevice",
    "ControllerConnectionEvent",
    "ControllerFamily",
    "ControllerSnapshot",
    "ControllerSource",
    "GuiInputEvent",
    "Input",
    "InputBinding",
    "InputCapabilities",
    "InputContext",
    "InputDevice",
    "InputEdge",
    "InputEvent",
    "InputMap",
    "InputMethod",
    "InputPlayer",
    "InputRouter",
    "Key",
    "KeyEvent",
    "Mouse",
    "MouseCaptureMode",
    "Pen",
    "PenAxis",
    "PickEvent",
    "Pointer",
    "PointerEvent",
    "PointerPhase",
    "FocusMode",
    "FocusReason",
    "PointerState",
    "PointerTool",
    "CursorShape",
    "PointerType",
    "Rebind",
    "ActionExplanation",
    "ScrollEvent",
    "Tablet",
    "TextEvent",
    "TickInput",
    "Touch",
    "key_to_name",
    "name_to_keys",
    "roles_of",
]