Namespace MaaFramework.Binding
Namespaces
- MaaFramework.Binding.Abstractions
- MaaFramework.Binding.Buffers
- MaaFramework.Binding.Custom
- MaaFramework.Binding.Notification
Classes
- ActionDetail
-
A sealed record providing properties of action detail.
- ActionDetailExtensions
-
A static class providing extension methods for the query of action detail.
- MaaToolkit.AdbDeviceClass
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.
- MaaToolkit.AdbDeviceClass
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.
- AdbDeviceInfo
-
A record providing properties of adb device information.
- AdbDeviceInfoExtensions
-
A static class providing extension methods for the creation of MaaAdbController.
- MaaToolkit.ConfigClass
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.
- MaaToolkit.ConfigClass
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.
- MaaToolkit.DesktopClass
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.
- MaaToolkit.DesktopClass
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.
- MaaToolkit.DesktopWindowClass
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.
- MaaToolkit.DesktopWindowClass
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.
- DesktopWindowInfo
-
A record providing properties of window information.
- DesktopWindowInfoExtensions
-
A static class providing extension methods for the creation of MaaWin32Controller.
- MaaAdbController
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaAdbControllerCreate(System.String,System.String,System.UInt64,System.UInt64,System.String,System.String).
- MaaAgentClient
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaAgentClient.
- MaaAgentServer
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaAgentServer.
- MaaAgentServerExtensions
-
A static class providing extension methods for MaaFramework.Binding.MaaAgentServer.
- MaaCallbackEventArgs<T>
-
A class providing data for the MaaFramework.Binding.Abstractions.IMaaCommon.Callback event.
- MaaCallbackEventArgs
-
A class providing data for the MaaFramework.Binding.Abstractions.IMaaCommon.Callback event.
- MaaContext
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaContext.
- MaaController
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.
- MaaCustomController
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaCustomControllerCreate(MaaFramework.Binding.Custom.IMaaCustomController,System.IntPtr).
- MaaDbgController
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaDbgControllerCreate(System.String,System.String,System.UInt64,System.String).
- MaaException
-
The exception that is the base class for custom exceptions in MaaFramework.Binding.
- MaaGamepadController
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaGamepadControllerCreate(System.IntPtr,System.UInt64,System.UInt64).
- MaaGlobal
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaGlobal.
- MaaImage
-
A non-generic sealed class used to wrap MaaFramework.Binding.Buffers.IMaaImageBuffer.
- MaaInteroperationException
-
The exception is thrown when a maa interoperation failed.
- MaaJob
-
A wrapper class providing a reference implementation for return value of Maa Post method.
- MaaJobStatusException
-
The exception is thrown when the MaaFramework.Binding.MaaJobStatus of a MaaFramework.Binding.MaaJob is unexpected.
- MaaJobStatusExtensions
-
A static class providing extension methods for MaaFramework.Binding.MaaJobStatus.
- MaaOptionExtensions
-
A static class providing extension methods for setting maa option.
- MaaPlayCoverController
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaPlayCoverControllerCreate(System.String,System.String).
- MaaResource
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaResource.
- MaaTaskJob
-
A wrapper class providing a reference implementation for return value of Maa Post method.
- MaaTasker
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaTasker.
- MaaToolkit
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.
- MaaWin32Controller
-
A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaWin32ControllerCreate(System.IntPtr,System.UInt64,System.UInt64,System.UInt64).
- NativeBindingContext
-
Provides information and configuration for native bindings in the MaaFramework.
- NodeDetail
-
A sealed record providing properties of node detail.
- NodeDetailExtensions
-
A static class providing extension methods for the query of node detail.
- RecognitionDetail
-
A sealed record providing properties of recognition detail.
- RecognitionDetailExtensions
-
A static class providing extension methods for the query of recognition detail.
- TaskDetail
-
A sealed record providing properties of task detail.
- TaskDetailExtensions
-
A static class providing extension methods for the query of task detail.
Structs
- ImageInfo
-
A readonly record struct providing properties of image information.
Interfaces
- IMaaAgentClient
-
An interface defining wrapped members for MaaAgentClient.
- IMaaAgentClient<T>
-
An interface defining wrapped members for MaaAgentClient with generic handle.
- IMaaAgentServer
-
An interface defining wrapped members for MaaAgentServer.
- IMaaContext<T>
-
An interface defining wrapped members for MaaContext with generic handle.
- IMaaContext
-
An interface defining wrapped members for MaaContext.
- IMaaController
-
An interface defining wrapped members for MaaController.
- IMaaController<T>
-
An interface defining wrapped members for MaaController with generic handle.
- IMaaGlobal
-
An interface defining wrapped members for MaaGlobal.
- IMaaResource<T>
-
An interface defining wrapped members for MaaResource with generic handle.
- IMaaResource
-
An interface defining wrapped members for MaaResource.
- IMaaTasker<T>
-
An interface defining wrapped members for MaaTasker with generic handle.
- IMaaTasker
-
An interface defining wrapped members for MaaTasker.
- IMaaToolkit
-
An interface defining wrapped members for MaaToolkit.
- IMaaToolkitAdbDevice
-
An interface defining wrapped members for MaaToolkit Adb Device.
- IMaaToolkitConfig
-
An interface defining wrapped members for MaaToolkit Config.
- IMaaToolkitDesktop
-
An interface defining wrapped members for MaaToolkit Desktop.
- IMaaToolkitDesktopWindow
-
An interface defining wrapped members for MaaToolkit Desktop Window.
Enums
- AdbInputMethods
-
Adb input method flagsUse bitwise OR to set the methods you need.
MaaFramework will select the first available method according to priority.
Priority (high to low): EmulatorExtras > Maatouch > MinitouchAndAdbKey > AdbShell
Default: All methods except EmulatorExtras
| Method | Speed | Compatibility | Notes ||----------------------|-------|---------------|---------------------------------------|| AdbShell | Slow | High | || MinitouchAndAdbKey | Fast | Medium | Key press still uses AdbShell || Maatouch | Fast | Medium | || EmulatorExtras | Fast | Low | Emulators only: MuMu 12 | - AdbScreencapMethods
-
Adb screencap method flags.Use bitwise OR to set the methods you need.
MaaFramework will test all provided methods and use the fastest available one.
Default: All methods except RawByNetcat, MinicapDirect, MinicapStream
Note: MinicapDirect and MinicapStream use lossy JPEG encoding, which may
significantly reduce template matching accuracy. Not recommended.
| Method | Speed | Compatibility | Encoding | Notes ||-----------------------|------------|---------------|----------|-------------------------------------|| EncodeToFileAndPull | Slow | High | Lossless | || Encode | Slow | High | Lossless | || RawWithGzip | Medium | High | Lossless | || RawByNetcat | Fast | Low | Lossless | || MinicapDirect | Fast | Low | Lossy | || MinicapStream | Very Fast | Low | Lossy | || EmulatorExtras | Very Fast | Low | Lossless | Emulators only: MuMu 12, LDPlayer 9 | - ApiInfoFlags
-
Represents information about binding interoperable API.
- CheckStatusOption
-
Checking MaaFramework.Binding.MaaJobStatus option.
- ControllerFeatures
-
Controller feature flags returned by get_features().
These flags indicate which input methods the controller supports/prefers.
- ControllerOption
-
Option keys for controller instance options. See MaaControllerSetOption().
- DbgControllerType
- DisposeOptions
-
MaaFramework.Binding.IMaaTasker dispose options.
- GamepadButton
-
Virtual gamepad button codes for click_key/key_down/key_up
Use these values with MaaControllerPostClickKey, MaaControllerPostKeyDown, MaaControllerPostKeyUp.
Values are based on XUSB (Xbox 360) button flags. DS4 face buttons are mapped to Xbox equivalents.
Xbox 360 buttons:
| Value | Button | Description ||---------|---------------------|------------------------|| 0x1000 | A | A button || 0x2000 | B | B button || 0x4000 | X | X button || 0x8000 | Y | Y button || 0x0100 | LB (Left Shoulder) | Left bumper || 0x0200 | RB (Right Shoulder) | Right bumper || 0x0040 | L_THUMB | Left stick click || 0x0080 | R_THUMB | Right stick click || 0x0010 | START | Start button || 0x0020 | BACK | Back button || 0x0400 | GUIDE | Guide/Home button || 0x0001 | DPAD_UP | D-pad up || 0x0002 | DPAD_DOWN | D-pad down || 0x0004 | DPAD_LEFT | D-pad left || 0x0008 | DPAD_RIGHT | D-pad right |DualShock 4 buttons (aliases to Xbox buttons):
| Value | Button | Xbox Equivalent | Description ||---------|-----------|-----------------|---------------------------|| 0x1000 | CROSS | A | Cross (X) button || 0x2000 | CIRCLE | B | Circle button || 0x4000 | SQUARE | X | Square button || 0x8000 | TRIANGLE | Y | Triangle button || 0x0100 | L1 | LB | L1 button || 0x0200 | R1 | RB | R1 button || 0x0040 | L3 | L_THUMB | Left stick click || 0x0080 | R3 | R_THUMB | Right stick click || 0x0010 | OPTIONS | START | Options button || 0x0020 | SHARE | BACK | Share button || 0x10000 | PS | - | PS button (DS4 special) || 0x20000 | TOUCHPAD | - | Touchpad click (DS4 only) | - GamepadTouch
-
Virtual gamepad touch contact definitions for touch_down/touch_move/touch_up
For gamepad controller, the touch functions are repurposed for analog inputs:
- x, y: Analog stick position
- pressure: Trigger value (0~255)
Contact mapping:
| Contact | Input | x range | y range | pressure | Description ||---------------|-----------------|---------------|---------------|------------|----------------------------------|| LeftStick | Left Stick | -32768~32767 | -32768~32767 | ignored | Left analog stick X/Y position || RightStick | Right Stick | -32768~32767 | -32768~32767 | ignored | Right analog stick X/Y position || LeftTrigger | Left Trigger | ignored | ignored | 0~255 | Left trigger (LT/L2) value || RightTrigger | Right Trigger | ignored | ignored | 0~255 | Right trigger (RT/R2) value |Usage:
- touch_down(contact, x, y, pressure): Start analog input
- touch_move(contact, x, y, pressure): Update analog input position/value
- touch_up(contact): Release/reset analog input to center/zero
- GamepadType
-
Virtual gamepad type.
Select ONE type only.
| Type | Description ||---------------|------------------------------------------------|| Xbox360 | Microsoft Xbox 360 Controller (wired) || DualShock4 | Sony DualShock 4 Controller (wired) | - GlobalOption
- InferenceCoreMLFlags
-
InferenceCoreMLFlags are bool options we want to set for CoreML EP.
- InferenceDevice
- InferenceExecutionProvider
- LinkOption
-
MaaFramework.Binding.IMaaController link option.
- LoggingLevel
- MaaHandleType
-
Represents the type of MaaFramework handle.
- MaaJobStatus
- ResourceOption
- TaskerOption
- Win32InputMethod
-
Win32 input methodNo bitwise OR, select ONE method only.
No default value. Client should choose one as default.
Different applications process input differently, there is no universal solution.
| Method | Compatibility | Require Admin | Seize Mouse | Background Support | Notes ||--------------------------|---------------|---------------|--------------|--------------------|------------------------------------|| Seize | High | No | Yes | No | || SendMessage | Medium | Maybe | No | Yes | || PostMessage | Medium | Maybe | No | Yes | || LegacyEvent | Low | No | Yes | No | || PostThreadMessage | Low | Maybe | No | Yes | || SendMessageWithCursorPos | Medium | Maybe | Briefly | Yes | Designed for apps that check real cursor position || PostMessageWithCursorPos | Medium | Maybe | Briefly | Yes | Designed for apps that check real cursor position |Note:
- Admin rights mainly depend on the target application's privilege level.
If the target runs as admin, MaaFramework should also run as admin for compatibility.
- "WithCursorPos" methods briefly move the cursor to target position, send message,
then restore cursor position. This "briefly" seizes the mouse but won't block user operations.
- Win32ScreencapMethod
-
Win32 screencap methodNo bitwise OR, select ONE method only.
No default value. Client should choose one as default.
Different applications use different rendering methods, there is no universal solution.
| Method | Speed | Compatibility | Require Admin | Background Support | Notes ||-------------------------|-----------|---------------|---------------|--------------------|----------------------------------|| GDI | Fast | Medium | No | No | || FramePool | Very Fast | Medium | No | Yes | Requires Windows 10 1903+ || DXGI_DesktopDup | Very Fast | Low | No | No | Desktop duplication (full screen)|| DXGI_DesktopDup_Window | Very Fast | Low | No | No | Desktop duplication then crop || PrintWindow | Medium | Medium | No | Yes | || ScreenDC | Fast | High | No | No | |Note: When a window is minimized on Windows, all screencap methods will fail. Avoid minimizing the target window.
Delegates
- IMaaAgentClient.AgentServerStartupMethod
-
Represents a method that starts the agent server process.
- IMaaAgentClient.AgentServerStartupMethod
-
Represents a method that starts the agent server process.