dolphin_press_wiimote_buttons
Set Wii Remote button inputs for one frame on a specified port. Supports A, B, One, Two, Plus, Minus, Home, D-pad directions. State is destructive: omitted buttons are released.
Instructions
PURPOSE: Set Wii Remote button state on a given port for one frame's worth of input. USAGE: Buttons supported: A, B, One, Two, Plus, Minus, Home, Up, Down, Left, Right. v0.1.0 covers the basic Wii Remote button surface only — pointer position, accelerometer, swing/shake/tilt, and Nunchuk/Classic Controller attachments are not yet wired (deferred to a future release). For now, games requiring motion or pointer input have limited agent control. BEHAVIOR: DESTRUCTIVE to Wii Remote state for the addressed port. Anything you don't include is released. RETURNS: 'Set Wii Remote port N: '.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | Wii Remote port (0-3, defaults to 0 for Remote 1). | |
| state | Yes | Button state object. Boolean keys for each button: A, B, One, Two, Plus, Minus, Home, Up, Down, Left, Right. Omit a key to leave it released (false). |
Implementation Reference
- bridge/mcp_bridge.py:105-105 (helper)The Python bridge helper function _set_wiimote_buttons that is called when the handler dispatches 'controller.set_wiimote_buttons'. It invokes Felk's controller.set_wiimote_buttons(port, state) to actually set the Wii Remote button state in the emulator.
def _set_wiimote_buttons(p): controller.set_wiimote_buttons(p[0], p[1]); return None - bridge/mcp_bridge.py:129-166 (helper)The HANDLERS dictionary that maps the 'controller.set_wiimote_buttons' method string to the _set_wiimote_buttons helper function.
HANDLERS = { "bridge.ping": _ping, "bridge.status": _status, "memory.read_u8": _read_u8, "memory.read_u16": _read_u16, "memory.read_u32": _read_u32, "memory.read_u64": _read_u64, "memory.read_s8": _read_s8, "memory.read_s16": _read_s16, "memory.read_s32": _read_s32, "memory.read_s64": _read_s64, "memory.read_bytes": _read_bytes, "memory.write_u8": _write_u8, "memory.write_u16": _write_u16, "memory.write_u32": _write_u32, "memory.write_u64": _write_u64, "memory.write_s8": _write_s8, "memory.write_s16": _write_s16, "memory.write_s32": _write_s32, "memory.write_s64": _write_s64, "memory.write_bytes": _write_bytes, "controller.get_gc_buttons": _get_gc_buttons, "controller.set_gc_buttons": _set_gc_buttons, "controller.get_wiimote_buttons": _get_wiimote_buttons, "controller.set_wiimote_buttons": _set_wiimote_buttons, "controller.get_wiimote_pointer": _get_wiimote_pointer, "controller.set_wiimote_pointer": _set_wiimote_pointer, "controller.get_wiimote_acceleration": _get_wiimote_acceleration, "controller.set_wiimote_acceleration": _set_wiimote_acceleration, "controller.get_wiimote_angular_velocity": _get_wiimote_angular_velocity, "controller.set_wiimote_angular_velocity": _set_wiimote_angular_velocity, "emulation.pause": _pause, "emulation.resume": _resume, "emulation.reset": _reset, "savestate.save_to_slot": _save_to_slot, "savestate.load_from_slot": _load_from_slot, "frame.get_count": _frame_get_count, }