[Kraken V4 Pro] Haptics are global and drain the battery - please add "haptics only in games" (event hooks already exist, tested locally) | Razer Insider
Skip to main content

[Kraken V4 Pro] Haptics are global and drain the battery - please add "haptics only in games" (event hooks already exist, tested locally)


leetBlueJeanslink277

Hi Razer team and fellow Kraken V4 Pro owners,

THE PROBLEM

Sensa HD Haptics on the Kraken V4 Pro is a single global setting. It is not saved per profile, so it stays on all the time: music, YouTube, calls, notifications - everything vibrates and the battery drains fast. This was already reported a year ago ("kraken v4 pro/synapse 4 -- haptics setting not saved per profile"), but that thread was locked and moved to PM, with no public fix.

Razer's own spec shows how much this matters: up to 50 h with haptics and lighting OFF vs. up to 13 h with haptics and lighting ON (2.4 GHz). Most of us only want haptics while gaming.

WHAT I'D LIKE TO SEE (either option is fine)

1. Save haptics on/off and intensity per profile (like EQ and other audio settings), so the game-linked profile can have haptics and the default profile can have them off.

2. Or, a simpler toggle: "Enable haptics only while a game is running/in focus".

WHY THIS SHOULD BE EASY - THE BUILDING BLOCKS ARE ALREADY IN SYNAPSE

I looked at the headset middleware (synapse/products/1383/mw) and its logs:

- Synapse already gets game events from Game Manager (GMS_onGameStartedEvent / GMS_onGameStoppedEvent) and watches the foreground window ("gms-foregroundWindow"). This is what switches the Kraken to the game-linked profile when a game gets focus and back when you alt-tab or quit.

- The haptics toggle is a single middleware event: ON_SET_HAPTIC_INTENSITY with the hapticIntensity object ({isEnabled, value, enableAudioToHaptics, ...}). This is exactly what the UI switch sends.

- So the fix is just connecting the two: in the foreground-game handler send isEnabled=true when a detected game is in focus, and isEnabled=false when focus leaves the game or the game stops (plus once after init). For option 1, store hapticIntensity inside the profile and apply it on ON_SWITCH_RUNTIME_PROFILE like other per-profile settings.

I tested this locally by wiring the existing foreground-game handler to that event, and it works exactly as expected:

- Synapse start, no game: haptics off (device reply: setHapticsIntensity state:false)

- game window in focus: haptics on (state:true, value:1)

- alt-tab / quit the game: haptics off again (state:false)

Haptics in games feel exactly the same as before; they're just not running the rest of the time.

Two notes from testing:

- Events sent before the middleware is initialized are dropped ("[task maker] mw not initialized, do not queue task ON_SET_HAPTIC_INTENSITY"), so the "off" after startup needs to be applied after init (or queued and retried).

- Saved settings are re-applied on startup (actionFromLocalStorage), so the game-only logic has to run after that, otherwise the stored "on" state wins.

Setup: Kraken V4 Pro (firmware 1.6.3.0) on the HyperSpeed dongle, Synapse 4 beta (4.0.893), headset module 1.1.10, Windows 11.

If you also want haptics only in games, please like or reply so this gets noticed. Thanks!