Table of Contents

Class MaaGamepadController

Namespace
MaaFramework.Binding
Assembly
MaaFramework.Binding.Native.dll

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaGamepadControllerCreate(System.IntPtr,System.UInt64,System.UInt64).

public class MaaGamepadController : MaaController, IMaaController<nint>, IMaaController, IMaaCommon, IMaaOption<ControllerOption>, IMaaDisposableHandle<nint>, IMaaDisposable, IDisposable, IMaaPost

Inheritance

Implements

Inherited Members

Extension Methods

Remarks

Requires ViGEm Bus Driver to be installed on the system.

For gamepad control, use:

- ClickKey / KeyDown / KeyUp : For digital buttons (A, B, X, Y, LB, RB, etc.)
See MaaFramework.Binding.GamepadButton for available buttons.

- TouchDown / TouchMove / TouchUp : For analog inputs (sticks and triggers)
See MaaFramework.Binding.GamepadTouch for contact mapping.

- Click / Swipe : Not directly supported for gamepad.

- InputText / StartApp / StopApp / Scroll : Not supported.

Constructors

MaaGamepadController(GamepadType, DesktopWindowInfo?, LinkOption, CheckStatusOption)

Creates a MaaFramework.Binding.MaaGamepadController instance.

MaaGamepadController(nint, GamepadType, Win32ScreencapMethod, LinkOption, CheckStatusOption)

Creates a MaaFramework.Binding.MaaGamepadController instance.

Methods

ClickKey(GamepadButton)

Clicks a key.

KeyDown(GamepadButton)

Usage: KeyDown -> KeyUp.

KeyUp(GamepadButton)

Usage: KeyDown -> KeyUp.

StickEnd(GamepadTouch)

Usage: StickStart -> StickMove -> StickEnd.

StickMove(GamepadTouch, short, short)

Usage: StickStart -> StickMove -> StickEnd.

StickStart(GamepadTouch, short, short)

Usage: StickStart -> StickMove -> StickEnd.

TriggerEnd(GamepadTouch)

Usage: StickStart -> StickMove -> StickEnd.

TriggerMove(GamepadTouch, byte)

Usage: StickStart -> StickMove -> StickEnd.

TriggerStart(GamepadTouch, byte)

Usage: TriggerStart -> TriggerMove -> TriggerEnd.