## Summary
When recording a macro with Mouse Movement Tracking set to "Relative", Synapse 4 does NOT save it as relative. The exported XML shows MouseMoveType=foreground and mmtSetting=2 instead of relative / mmtSetting=3. On playback, the cursor instantly teleports to the top-left corner of the screen (0,0) instead of moving relatively from its current position. This makes mouse movement macros completely unusable.
## Environment
- Synapse Version: Synapse 4 (latest available as of September 2026)
- OS: Windows, display scaling at 100%
- Synapse running as: Administrator
- Screen Resolution: 1920x1080, single monitor
- Mouse: Razer (connected directly to USB, no hub)
## Steps to Reproduce
1. Open Razer Synapse 4 → Go to the Macro module.
2. Create a new macro.
3. Click the dropdown arrow next to the RECORD button and enable Mouse Movement Tracking → select "Relative".
4. Press RECORD, physically move the mouse downward in a straight line for about 1 second, then stop recording.
5. The macro editor shows a green line representing the recorded mouse path — this looks correct.
6. Assign the macro to a mouse button (e.g., Mouse Button 4/5) with "Play Once" playback mode.
7. Go to the Windows desktop and press the assigned button.
## Expected Behavior
The cursor should move downward relative to its current position, replicating the recorded mouse movement.
## Actual Behavior
The cursor instantly teleports to the top-left corner of the screen (coordinates 0,0) and stays there. It does not follow the recorded path.
## Additional Testing Performed
### Test 1: Exported XML analysis
I exported the macro as XML. Even though I selected "Relative" in the recording settings, the XML contains:
mmtSetting = 2 (should be 3 for relative)
MouseMoveType = foreground (should be "relative")
This confirms that Synapse 4 is ignoring the "Relative" selection and saving the macro as "Foreground" mode regardless.
### Test 2: Manually editing XML to relative mode
I manually edited the XML file to change mmtSetting to 3 and MouseMoveType to "relative". After importing the edited XML, the macro executes click events correctly, but the mouse movement does absolutely nothing. The cursor does not move at all — not on the desktop, not in any application.
### Test 3: Screen mode works correctly
I edited the XML to use mmtSetting=1 and MouseMoveType=screen. With coordinates x=960, y=540, the cursor correctly moved to the center of the screen. With x=1440, y=810, it moved to the bottom-right area. This confirms the macro engine CAN move the cursor — but only in absolute screen mode, not in relative mode.
### Test 4: Application with Raw Input
Screen mode works on the desktop but does not affect applications that use Raw Input for mouse reading (such as FPS games or 3D applications). These applications require relative mouse movement input (actual mouse deltas), which is exactly the mode that is broken.
## Summary of Findings
- Foreground mode (mmtSetting=2): Cursor teleports to (0,0) on desktop and in apps. BROKEN.
- Relative mode (mmtSetting=3, manually edited XML): No movement at all on desktop or in apps. BROKEN.
- Screen mode (mmtSetting=1): Works on desktop, but does not affect Raw Input apps. WORKS PARTIALLY.
## Impact
This bug makes it impossible to create any macro involving relative mouse movement in Synapse 4. Since Razer has discontinued Synapse 3 (no longer available for download as of February 2026), and Synapse 3 had a working "Insert → Mouse Movement (Relative)" feature, users who relied on mouse movement macros currently have no working solution within the Razer ecosystem.
Is anyone else experiencing this?Is it working fine for you? Is there a known workaround? I heard on forums that this worked well in Synapse 3, but in February of this year, Razer removed the option to revert to Synapse 3, leaving only GitHub installations, which are neither reliable nor recommended.
Thank you.

