Required Notice: Copyright 2026 bkmile522 (https://github.com/bkmile522/2maiss)
2maiss (pronounced Two Mice) is a lightweight dual-mouse touch solution designed for a specific "washing machine" rhythm game. Experience hardcore charts using just two standard USB mice.
- Ultra Low-Cost: No expensive touchscreens or custom controllers required. Use any two standard USB mice.
- GUI Launcher: Easy-to-use interface for mouse binding and one-click game launching.
- Hardware-Level Separation: Intercepts raw input to ensure left and right hands do not interfere.
- Visual Calibration: Built-in overlay to visualize and adjust touch zones.
Everyone must complete these steps before the first run.
- Software Prep:
- AquaMai: Ensure AquaMai is installed in your game directory. Open
AquaMai.tomland set:HideSubMonitor = true BaudRate = 115200
- com0com: Install
com0comand create a virtual port pair:COM33<->COM3.
- AquaMai: Ensure AquaMai is installed in your game directory. Open
- Extract the Tool:
- Extract the
2maissrelease.zipto a dedicated folder. ⚠️ IMPORTANT: Do NOT move the.exefiles out of this folder.2maiss_Launcher.exe,2maiss_Backend.exe, andlut.pngmust stay in the same folder.
- Extract the
- Install Mod:
- Copy the
Packagefolder from the tool directory into your Game Root Directory. - Verify
YourGameRoot\Package\Mods\2maiss.dllandUserData\2maiss\assets (includingleft.png,right.png,lut.png) exist.
- Copy the
Follow this section to start playing immediately with optimal settings.
- First-Time Setup:
- Run
2maiss_Launcher.exe. - Mouse Binding: Go to Hardware & Binding, click Start Mouse Binding, and follow the prompts to identify your Left and Right mice.
- Game Path: In Play Settings, browse and select your game's startup
.batfile. - Click the
Save Config.
- Run
- Launch & Preferences:
- Default Settings: The initial configuration is already optimized. You don't need to change sensitivity or radius values to start.
- Mouse Acceleration: Simulated acceleration is Enabled by default. If you prefer raw, linear movement, uncheck "Enable simulated Windows Enhance Pointer Precision" in Play Settings.
- Framerate: It is highly recommended to run the game at 60fps for better experience.
- In-Game Control:
- Click Start Game in the launcher.
- Press F8 to activate. Your System Cursor will be locked and hidden—this is normal and indicates the tool has taken control.
- Press F8 again to release the cursor back to Windows.
For users who need to fine-tune their experience.
If you have set HideSubMonitor = true as instructed, the touch area should already align perfectly with the screen. You likely won't need to calibrate unless you have adjusted the screen position.
- Open/Save: Press
F11in-game to toggle the calibration UI. - Adjust: Use
Arrow Keysto move the zone, and-/=to scale. - Speed: Use
[and]to change the adjustment increment. - Save: Press
F11again to save and exit.
- No Touch Response?: Ensure
F8is toggled on,com0comis active, andlut.pngis present inUserData\2maiss\. - Buttons Remapping: You can change which mouse buttons trigger Tap vs. Wipe in the Launcher's Play Settings.
Due to copyright restrictions, the required Unity and MelonLoader assemblies are not included in this repository.
Required dependencies:
MelonLoader.dllUnityEngine.CoreModule.dllUnityEngine.IMGUIModule.dllUnityEngine.ImageConversionModule.dll
Steps:
- Copy the DLLs listed above.
- Place them in the
Frontendfolder. - Open the project in Visual Studio or run
dotnet buildto compile.
Note: The Backend and Launcher are standalone and can be built right out of the box without any external proprietary DLLs.
- Mai2Touch: For the serial protocol reference.
- Cursor Assets: Cursor pack provided by Kenney.
- Gemini 3.1 Pro: Core logic and UI structure assistance. 100% vibe coding! 🤖
- stb_image: Single-file public domain library used for loading the LUT image.
- mINI: A tiny and fast header-only C++ INI file parser used for configuration management.
- MelonLoader: The foundational modding framework that makes the frontend overlay possible.
Disclaimer: This project is for technical research and educational purposes only. It is free and not affiliated with any commercial entities.