
Vintage Story Mod DB · Vintage Story mod
Toggle Mouse Control
Mouse control is now toggleable and configurable. Stop GUIs from controlling the mouse. For those who wish immersive mouse mode was actually immersive. 😜 Works with and without immersive mouse mode! Adds a new setting named "Auto Toggle Mouse" to the acces
Quick answer
Which Toggle Mouse Control release should I use?
Toggle Mouse Control 1.3.0 targets 1.20.7. It must be installed on the client. Do not install it on the dedicated server. No extra mods listed for this file.
Where it goes
Is Toggle Mouse Control required on the client, server, or both?
It must be installed on the client. Do not install it on the dedicated server.
This Vintage Story file is marked client-only.
What else does Toggle Mouse Control 1.3.0 need?
1.3.0. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add Toggle Mouse Control without breaking your instance.
Built for Toggle Mouse Control 1.3.0. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 1.3.0. It targets 1.20.7; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
It must be installed on the client. Do not install it on the dedicated server.
- 04
Pick the file you checked
Use the “Get this file” button beside 1.3.0. It opens that exact file at the source.
About this project
What does Toggle Mouse Control add?
Mouse control is now toggleable and configurable. Stop GUIs from controlling the mouse.
For those who wish immersive mouse mode was actually immersive. 😜
Works with and without immersive mouse mode!
Adds a new setting named "Auto Toggle Mouse" to the accessibility menu. Allows you to control whether the mouse should auto-enable when opening a GUI and auto-disable when closing a GUI. It can also be configured from the "ToggleMouseControl/Config.json" file.
In addition, in the case where the "Auto Toggle Mouse" setting is ON, but you have certain GUIs that you either
- don't want to auto-toggle... in which case you would set "AutoToggleMouse" equal to false ❌... or
- you do want to toggle even when immersive mouse mode is ON... in which case you would set "TreatAsImmersive" equal to true ✅...
then you can open up the "ToggleMouseControl/Config.json" file and make changes for that specific GUI based on its "debug name". Changes to this file will reflect in-game as soon as you save the file; no need to reload the world. 😉
Bugs
Active Bugs:
- None! (that I know of 😉)
Patched1 Bugs:
- All patches have been converted to fixes! 🩹
- B05: Given immersive mouse mode is ON and mouse control is toggled OFF, when the player dies and the gui death dialog appears, the mouse remains locked and the player cannot toggle mouse control.
- Patched in v1.0.7 🩹
- Re-introduced in v1.1.0 🪲
- Patched in v1.1.1 🩹
Fixed2 Bugs:
- B15: Given immersive mouse mode is ON, when the survival inventory is opened/closed, then the Vanilla behavior is to NOT auto-toggle the mouse control.
- Introduced in v1.2.0 🪲 (also in Vanilla 😉)
- Fixed in v1.2.2 🛠️
- B14: Given the %APPDATA%VintagestoryData\ModConfig\ToggleMouseControl\Config.json file has not been generated yet, when loading a world, then the mod crashes by returning a null Config instead of the default Config.
- Introduced in v1.2.0 🪲
- Fixed in v1.2.1 🛠️
- B13: Given toggle sprint is ON and the player is sprinting, when the player releases the sprint key, then they do not continue sprinting.
- Introduced in v1.1.5 🪲
- Fixed in v1.1.6 🛠️
- B12: Given immersive mouse mode is OFF and a GUI dialog is open, when a new GUI dialog is open, mouse control does NOT auto-enable.
- Fixed in v1.1.4 🛠️
- B07: Given mouse control is toggled OFF and any GUI with a scrollbar is open under the player's crosshairs, then the player cannot scroll across the hotbar.
- Note: This occurs regardless of whether immersive mouse mode is ON or OFF.
- Dev Note: Should try approaching this by moving the crosshair GUI's z-depth to be underneath other GUIs.
- The crosshairs are not GuiDialogs 🫤
- Fixed in v1.1.4 🛠️
- B11: Given immersive mouse mode is OFF and a certain type of GUI (such as the firepit) is open, then mouse control does not auto-enable as expected.
- Note: By "certain type of GUI" I mean GUIs which are expected to disable the mouse grab given immersive mouse mode is OFF and do not set the PrefersUngrabbedMouse property to true.
- Dev Note: For some reason, the firepit GUI (and presumably some other GUIs) do not set the PrefersUngrabbedMouse property to true even though they ungrab the mouse in Vanilla. It seems to manage to work in Vanilla in the ClientMain class by checking for when the DialogsOpen property is non-zero.
- Fixed in v1.1.2 🛠️
- B10: Given immersive mouse mode is OFF and a certain type of GUI (such as the player inventory) is open, then mouse control is no longer toggleable at all.
- Note: By "certain type of GUI" I mean GUIs which are expected to disable the mouse grab and do set the PrefersUngrabbedMouse property to true.
- Introduced in v1.1.0 🪲
- Fixed in v1.1.2 🛠️
- B09: Given mouse control is toggled ON, when using rafts, the user cannot interact with the raft as expected.
- Fixed in v1.1.0 🛠️
- B08: Given mouse control is toggled ON, when knapping, the user cannot interact with the knappable object.
- Fixed in v1.1.0 🛠️
- B06: The immersive mouse mode check box is always displayed "checked" when the Interface settings menu is first opened.
- Note: The setting can still be changed - just know it will be set depending on if it appears "checked" after clicking it.
- Patched in v1.0.9 🩹
- Fixed in v1.1.0 🛠️
- B03: Given immersive mouse mode is OFF and a GUI (such as the player inventory) is open, then mouse control is no longer toggleable; the hot key must be held down.
- Patched in v1.0.8 🩹
- Fixed in v1.1.0 🛠️
- B04: Given immersive mouse mode is ON and the handbook GUI is opened in pause mode, then mouse control is not granted as expected.
- Patched in v1.0.6 🩹
- Fixed in v1.1.0 🛠️
- B02: Given immersive mouse mode is OFF, then GUI scroll bars can no longer be controlled with the mouse wheel 🤔.
- Patched in v1.0.5 🩹
- Fixed in v1.0.8 🛠️
- B01: Given mouse control is toggled OFF and a GUI with a scroll bar is open, then the handbook still grabs the mouse wheel events.
- Fixed in v1.0.2 🛠️
1 By patched, I mean the bug has been solved with a naive solution that should be replaced with a more robust solution later on. 🩹
2 By fixed, I mean the bug has been solved with a robust solution. 🛠️
Improvements
Improvements Made:
- F05: Given the auto toggle mouse setting is ON, then it should be possible to configure which GUI's will auto-toggle mouse control. Given an "immersive" dialog is configured to auto-toggle, then this configuration shall override the immersive mouse mode's behavior which prevents the auto-toggle.
- Added in v1.3.0 🎉
- F14: Improve compatibility with other mods that focus their own elements upon opening their custom GuiDialog.
- Added in v1.2.3 🎉
- F10: Decouple the auto-toggling behavior of a certain type of GUI (such as the player inventory) from the immersive mouse mode setting into its own setting.
- Note: By "certain type of GUI" I mean GUIs which are expected to disable the mouse grab and do set the PrefersUngrabbedMouse property to true.
- Added in v1.2.0 🎉
- F11: Add the ability to sneak while mouse control is granted.
- Added in v1.1.5 🎉
- F01: Add the ability to sprint while mouse control is granted.
- Added in v1.1.5 🎉
- F02: Add the ability to jump while mouse control is granted.
- Added in v1.1.5 🎉
- F09: Decouple disabling mouse control from the ESC key while retaining the the ability to close GUIs with the ESC key. This will more closely match the Vanilla behavior.
- Added in v1.1.0 🎉
- F08: Minimize the number of harmony patches required for the mod to function correctly. This will improve compatibility with other mods.
- Added in v1.1.0 🎉
- F07: Ensure the mouse pointer can still interact with the world when mouse control is toggled ON.
- Added in v1.0.9 🎉
Deprecated Improvements:
- F03: Disable mouse control when ESC is pressed rather than open the ESC menu.
- Added in v1.0.3 🎉
- Replaced with F09 in v1.1.0 🏗️
Future Improvements:
- F12: Make it possible to configure whether sneak, sprint, or jump player controls are accessible when mouse control is ON.
- F04: Tie the handbook pause button to a hot key (will likely spin this into its own mod).
-
F06: Minimize the size of the mod.
- F13: Translate settings/tooltips for other languages supported by Vintage Story
Compatibility Test and Review Backlog
Test/Reviews Completed:
- T00: Review and test compatibility with Vintage Story v1.20.7
Test/Reviews to do:
- T01: Review and test compatibility with Vintage Story v1.20.8
- T02: Review and test compatibility with Vintage Story v1.20.9
- Review: TODO
- Test: Seems to work as expected after playtesting for a bit.
Project description from Vintage Story Mod DB.
Pick your setup
Toggle Mouse Control releases for each Vintage Story version.
Choose the version and loader you play, then open the matching release.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Toggle Mouse Control versions and loaders
1.3.0
togglemousecontrol_1.3.0.zip
29 Apr 2025
1.2.3
togglemousecontrol_1.2.3.zip
27 Apr 2025
1.2.2
togglemousecontrol_1.2.2.zip
27 Apr 2025
1.2.1
togglemousecontrol_1.2.1.zip
27 Apr 2025
1.2.0
togglemousecontrol_1.2.0.zip
26 Apr 2025
1.1.6
togglemousecontrol_1.1.6.zip
24 Apr 2025
1.1.5
togglemousecontrol_1.1.5.zip
24 Apr 2025
1.1.4
togglemousecontrol_1.1.4.zip
21 Apr 2025
1.1.3
togglemousecontrol_1.1.3.zip
18 Apr 2025
1.1.2
togglemousecontrol_1.1.2.zip
14 Apr 2025
1.1.1
togglemousecontrol_1.1.1.zip
14 Apr 2025
1.1.0
togglemousecontrol_1.1.0.zip
12 Apr 2025
Looking for an older file? The official Vintage Story Mod DB project page is in Resources.