No documentation
XBOX: Any = auto()
PLAYSTATION: Any = auto()
NINTENDO_SWITCH: Any = auto()
GENERIC: Any = auto()
No methods defined.
No documentation
USB: Any = auto()
BLUETOOTH: Any = auto()
WIRELESS_DONGLE: Any = auto()
UNKNOWN: Any = auto()
No methods defined.
No documentation
A: Any = auto()
B: Any = auto()
X: Any = auto()
Y: Any = auto()
BACK: Any = auto()
GUIDE: Any = auto()
START: Any = auto()
LEFT_STICK: Any = auto()
RIGHT_STICK: Any = auto()
LEFT_BUMPER: Any = auto()
RIGHT_BUMPER: Any = auto()
DPAD_UP: Any = auto()
DPAD_DOWN: Any = auto()
DPAD_LEFT: Any = auto()
DPAD_RIGHT: Any = auto()
CROSS: Any = A
CIRCLE: Any = B
SQUARE: Any = X
TRIANGLE: Any = Y
SHARE: Any = BACK
OPTIONS: Any = START
TOUCHPAD: Any = auto()
No methods defined.
No documentation
LEFT_X: Any = auto()
LEFT_Y: Any = auto()
RIGHT_X: Any = auto()
RIGHT_Y: Any = auto()
LEFT_TRIGGER: Any = auto()
RIGHT_TRIGGER: Any = auto()
GYRO_X: Any = auto()
GYRO_Y: Any = auto()
GYRO_Z: Any = auto()
ACCEL_X: Any = auto()
ACCEL_Y: Any = auto()
ACCEL_Z: Any = auto()
No methods defined.
No documentation
x: float = None
y: float = None
pressure: float = None
finger_id: int = None
No methods defined.
No documentation
buttons: Dict[JButton, bool] = field(default_factory=dict)
axes: Dict[Axis, float] = field(default_factory=dict)
hat: Tuple[float, float] = (0.0, 0.0)
touch_points: List[TouchPoint] = field(default_factory=list)
gyro: Tuple[float, float, float] = (0.0, 0.0, 0.0)
accelerometer: Tuple[float, float, float] = (0.0, 0.0, 0.0)
last_button_time: Dict[JButton, float] = field(default_factory=dict)
No methods defined.
No documentation
_XBOX_IDS: Any = {'xbox', 'x-box', 'microsoft', 'xinput'}
_PS_IDS: Any = {'playstation', 'ps4', 'ps5', 'sony', 'dualshock', 'dualsense', 'wireless controller'}
_NINTENDO_IDS: Any = {'nintendo', 'switch', 'pro controller'}
def __init__(self: Any, joystick_id: int, manager: 'ControllerManager') -> Any
def _open(self: Any) -> Any
def _detect_type(self: Any) -> Any
def _guess_connection_type(self: Any) -> Any
def _build_default_maps(self: Any) -> Any
def _build_xbox_map(self: Any) -> Any
def _build_playstation_map(self: Any) -> Any
def _build_switch_map(self: Any) -> Any
def _build_generic_map(self: Any) -> Any
def _detect_touchpad(self: Any) -> Any
def _check_rumble(self: Any) -> Any
def update(self: Any, events: List[pygame.event.Event]) -> Any
def _handle_axis_event(self: Any, event: Any) -> Any
def _handle_button_event(self: Any, event: Any, pressed: Any) -> Any
def _handle_hat_event(self: Any, event: Any) -> Any
def _poll_axes(self: Any) -> Any
def _apply_deadzone(self: Any) -> Any
def _update_mouse_emulation(self: Any) -> Any
def remap_button(self: Any, logical: JButton, raw_index: int) -> Any
def remap_axis(self: Any, logical: Axis, raw_index: int, invert: bool = False) -> Any
def set_deadzone(self: Any, value: float) -> Any
def rumble(self: Any, low: float, high: float, duration_ms: int) -> bool
def stop_rumble(self: Any) -> Any
def get_guid(self: Any) -> str
def get_name(self: Any) -> str
def is_connected(self: Any) -> bool
def close(self: Any) -> Any
def get_button_pressed(self: Any, button: JButton) -> bool
def get_axis(self: Any, axis: Axis) -> float
def get_hat(self: Any) -> Tuple[float, float]
def get_touch_points(self: Any) -> List[TouchPoint]
def __repr__(self: Any) -> Any
Manages multiple controllers, detects hot‑plug events, and tracks
which input device (keyboard/mouse vs. controller) was last used.
def __init__(self: Any, engine: Optional['LunaEngine'] = None) -> Any
def scan_controllers(self: Any) -> Any
def handle_events(self: Any, events: List[pygame.event.Event]) -> Any
def get_active_source(self: Any) -> str
def is_using_controller(self: Any) -> bool
def get_controller(self: Any, index: int) -> Optional[Controller]
def get_controllers_by_type(self: Any, ctype: ControllerType) -> List[Controller]
def get_all_controllers(self: Any) -> List[Controller]
def get_first_connected(self: Any) -> Optional[Controller]
def set_mouse_emulation(self: Any, enabled: bool, controller_index: Optional[int] = None) -> Any
def shutdown(self: Any) -> Any
def __len__(self: Any) -> int