Wacom is definitely better – there’s no comparison – and on the iPad, the Apple Pencil. Best regards,
Ajubel
![]()
Wacom is definitely better – there’s no comparison – and on the iPad, the Apple Pencil. Best regards,
Ajubel
![]()
I don’t have any spacemouse device but check in the “3d connexion” Nomad settings.
It’s a 3dconnexion panel “per app” where you can enable/disable some options.
So, i’ve managed to get the spacemouse working “fairly” well with the latest updates.
One issue I noticed, I have the UP/DOWN set to Pan Forward / Pan Backward. This control was much slower than the other pan controls.
A fix I tested, which is working well sofar, is to double up on the Pan Forward / Pan Backward. This doubles the speed and actually makes it workable.
I do notice that nomad ignores everything in the 3dconn. settings.
Here I’ve disabled everything, but it works just fine.
I just purchased nomadsculpt for mac. I have an macbook pro M4 max and a spacemouse I tried all suggestions in this post but it just doesn’t want to work. This is very disappointing since according to this post it’s been asked atleast a year ago to support the spacemouse. Now I’m forced to work with Plasticity and on my iPad with nomad the switching is annoying.
I had AI fix this for me on my m4max: nomad can’t use the 3dconnexion driver, zbrush and blender however need the driver, so I made a toggle to turn the service on or off:
This approach places a toggle switch in the macOS Menu Bar. Clicking it stops or restarts the driver on demand and posts a system notification via the Finder.
code Bash
if pgrep -x "3DconnexionHelper" > /dev/null; then
# Kill the driver helper
killall 3DconnexionHelper
# Send notification through Finder (bypasses terminal privacy restrictions)
osascript -e 'tell application "Finder" to display notification "SpaceMouse switched to Nomad Mode (Raw Joystick)" with title "SpaceMouse"'
else
# Restart the driver helper
open "/Applications/3DconnexionHelper.app"
# Send notification through Finder
osascript -e 'tell application "Finder" to display notification "SpaceMouse switched to CAD Mode (Blender/ZBrush)" with title "SpaceMouse"'
fi
nevermind the notifications: they don’t work
Perhaps I can send Stephomi a spare SpaceMouse of mine if that would be of benefit for implementing official support? ![]()
No, I’ll buy one when I’ll have time to spend time on it.
Is super easy! You will love it too!
Custom 3Dconnexion SpaceMouse Pro configuration for Nomad Sculpt on Windows
I managed to create a custom 3Dconnexion SpaceMouse Pro configuration for Nomad Sculpt using the 3DxWare configuration system.
Nomad does not currently need to recognize the SpaceMouse as a joystick for this setup. Instead, 3DxWare translates the SpaceMouse movements into normal mouse actions that Nomad already understands.
I tested this configuration specifically with a 3Dconnexion SpaceMouse Pro on Windows.
The configuration uses the physical Rotation Lock / LOCK button on the SpaceMouse Pro to switch between two navigation modes.
LOCK OFF – Rotate mode
The SpaceMouse behaves like holding the Right Mouse Button and moving the mouse:
Tilt forward/backward → rotate camera up/down
Tilt left/right → rotate camera left/right
Zoom is disabled in this mode
Pan is disabled in this mode
This makes the SpaceMouse behave mainly as a camera orbit controller.
LOCK ON – Pan + Zoom mode
The same tilt movements now behave like holding the Middle Mouse Button:
Tilt forward/backward → pan camera up/down
Tilt left/right → pan camera left/right
Lift/push the SpaceMouse cap vertically → zoom in/out
Rotation is disabled in this mode
So the LOCK button effectively switches between:
Rotate ↔ Pan/Zoom
I also increased the zoom sensitivity because the default mouse-wheel emulation was much too slow for Nomad.
I also mapped the physical buttons on the SpaceMouse Pro to keyboard function keys.
The configuration sends:
Button 1 → F1
Button 2 → F2
Button 3 → F3
Button 4 → F4
Front → F5
Right → F6
Top → F7
Roll+ → F8
FIT → Home
Shift → Shift
Ctrl → Ctrl
Alt → Alt
Esc → Esc
Menu → opens 3Dconnexion Properties
LOCK → switches between Rotate and Pan/Zoom modes
3DxWare only sends the keyboard keys. You still need to tell Nomad what each key should do.
In Nomad Sculpt → Settings → Bindings, I assigned:
F1 → Undo
F2 → Redo
F3 → Gizmo
F4 → Insert
F5 → Front View
F6 → Right View
F7 → Top View
F8 → currently unused / available for any additional function
The F8 button is intentionally left free for now, so it can later be assigned to whatever function becomes useful during sculpting.
The FIT button sends Home, which I assigned in Nomad to the Frame current object function, so pressing FIT centers and frames the current object in the viewport.
The XML configuration should be placed in:
%APPDATA%\3Dconnexion\3DxWare\Cfg
I use the filename:
Nomad-KMJ.xml
The application entry in the XML targets:
Nomad.exe
After replacing the configuration file, restart the 3Dconnexion driver:
Stop 3DxWare
and then:
Start 3DxWare
After that, start Nomad Sculpt and make sure that 3Dconnexion Properties shows Nomad as the active application profile.
This configuration does not rely on Nomad’s joystick support.
The important part is that normal mouse camera navigation works in Nomad:
Right Mouse Button + mouse movement → rotate
Middle Mouse Button + mouse movement → pan
Mouse wheel → zoom
3DxWare simply generates those actions from the SpaceMouse.
So Nomad can essentially remain on its normal mouse navigation settings.
I also use a Huion graphics tablet at the same time. In Nomad’s Gesture settings I keep:
Camera → Mouse enabled
Camera → Stylus disabled
Sculpt → Stylus enabled
This allows the SpaceMouse to control the camera while the pen is used only for sculpting.
SPACE MOUSE MOVEMENT
LOCK OFF
Tilt up/down = Rotate up/down
Tilt left/right = Rotate left/right
LOCK ON
Tilt up/down = Pan up/down
Tilt left/right = Pan left/right
Lift/push cap = Zoom
BUTTONS
1 = F1 = Undo
2 = F2 = Redo
3 = F3 = Gizmo
4 = F4 = Insert
Front = F5 = Front View
Right = F6 = Right View
Top = F7 = Top View
Roll+ = F8 = Free / user assignable
FIT = Home = Frame current object
LOCK = Rotate / Pan+Zoom mode switch
Shift = Shift
Ctrl = Ctrl
Alt = Alt
Esc = Esc
Menu = 3Dconnexion Properties
This is not native 3Dconnexion support — it is a 3DxWare mouse/keyboard emulation profile — but after some tuning it works surprisingly well for sculpting in Nomad.
The configuration was created and tested on a 3Dconnexion SpaceMouse Pro.
<?xml version="1.0" encoding="utf-8" standalone="no"?> Nomad Nomad.exe ID_Nomad Nomad ID_Default_KMJ_Cfg Nomad_To_PanZoom Nomad PanZoom ON Push PanZoom All<ButtonAction Type="ApplicationBank">
<ID>Nomad_Back_To_Default</ID>
<Name>Nomad PanZoom OFF</Name>
<Action>Pop</Action>
<BankID>Default</BankID>
<ApplyTo>All</ApplyTo>
</ButtonAction>
ID_Standard_3D_Mouse
None
Default
Default
<!-- LOCK OFF: tylko obrót jak RMB -->
<AxisBank Default="true">
<Name>Default</Name>
<ID>Default</ID>
<Axis>
<Enabled>false</Enabled>
<Input>
<ActionID>HIDMultiAxis_X</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>80</Deadband>
</Input>
<Output><ActionID>HIDMouse_X</ActionID></Output>
</Axis>
<Axis>
<Enabled>false</Enabled>
<Input>
<ActionID>HIDMultiAxis_Y</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>100</Deadband>
</Input>
<Output><ActionID>HIDMouse_Wheel</ActionID></Output>
</Axis>
<Axis>
<Enabled>false</Enabled>
<Input>
<ActionID>HIDMultiAxis_Z</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>100</Deadband>
</Input>
<Output><ActionID>HIDMouse_Wheel</ActionID></Output>
</Axis>
<!-- Tilt forward/back = RMB + Mouse Y -->
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rx</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>70</Deadband>
</Input>
<Output>
<ActionID>HIDMouse_Y</ActionID>
<Scale>0.40</Scale>
<Reversed>false</Reversed>
<Modifiers>
<Modifier>RightMouse</Modifier>
</Modifiers>
</Output>
</Axis>
<!-- Tilt left/right = RMB + Mouse X -->
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Ry</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>70</Deadband>
</Input>
<Output>
<ActionID>HIDMouse_X</ActionID>
<Scale>0.40</Scale>
<Reversed>true</Reversed>
<Modifiers>
<Modifier>RightMouse</Modifier>
</Modifiers>
</Output>
</Axis>
<Axis>
<Enabled>false</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rz</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>100</Deadband>
</Input>
<Output><ActionID>HIDMouse_X</ActionID></Output>
</Axis>
</AxisBank>
<!-- LOCK ON: pełny PAN + ZOOM na podnoszeniu/dociskaniu -->
<AxisBank>
<Name>PanZoom</Name>
<ID>PanZoom</ID>
<!-- Translation X OFF -->
<Axis>
<Enabled>false</Enabled>
<Input>
<ActionID>HIDMultiAxis_X</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>100</Deadband>
</Input>
<Output><ActionID>HIDMouse_X</ActionID></Output>
</Axis>
<!-- Push/pull forward/back OFF -->
<Axis>
<Enabled>false</Enabled>
<Input>
<ActionID>HIDMultiAxis_Y</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>120</Deadband>
</Input>
<Output><ActionID>HIDMouse_Wheel</ActionID></Output>
</Axis>
<!-- Lift/push down = ZOOM -->
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Z</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>25</Deadband>
</Input>
<Output>
<ActionID>HIDMouse_Wheel</ActionID>
<Scale>2.00</Scale>
<Reversed>false</Reversed>
</Output>
</Axis>
<!-- Tilt forward/back = MMB + Mouse Y = PAN góra/dół -->
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rx</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>90</Deadband>
</Input>
<Output>
<ActionID>HIDMouse_Y</ActionID>
<Scale>0.22</Scale>
<Reversed>false</Reversed>
<Modifiers>
<Modifier>MiddleMouse</Modifier>
</Modifiers>
</Output>
</Axis>
<!-- Tilt left/right = MMB + Mouse X = PAN lewo/prawo -->
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Ry</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>90</Deadband>
</Input>
<Output>
<ActionID>HIDMouse_X</ActionID>
<Scale>0.22</Scale>
<Reversed>true</Reversed>
<Modifiers>
<Modifier>MiddleMouse</Modifier>
</Modifiers>
</Output>
</Axis>
<!-- Twist OFF -->
<Axis>
<Enabled>false</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rz</ActionID>
<Min>-512</Min><Max>511</Max><Deadband>100</Deadband>
</Input>
<Output><ActionID>HIDMouse_X</ActionID></Output>
</Axis>
</AxisBank>
<ButtonBank Default="true">
<Name>Default</Name>
<ID>Default</ID>
<InheritsFromID />
<Button>
<Input><ActionID>V3DK_ROTATE</ActionID></Input>
<Output><ActionID>Nomad_To_PanZoom</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_FIT</ActionID></Input>
<Output><ActionID>KB_Home</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_1</ActionID></Input>
<Output><ActionID>KB_F1</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_2</ActionID></Input>
<Output><ActionID>KB_F2</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_3</ActionID></Input>
<Output><ActionID>KB_F3</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_4</ActionID></Input>
<Output><ActionID>KB_F4</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_FRONT</ActionID></Input>
<Output><ActionID>KB_F5</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_RIGHT</ActionID></Input>
<Output><ActionID>KB_F6</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_TOP</ActionID></Input>
<Output><ActionID>KB_F7</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_SHIFT</ActionID></Input>
<Output><ActionID>KB_Shift</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_CTRL</ActionID></Input>
<Output><ActionID>KB_Ctrl</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_ALT</ActionID></Input>
<Output><ActionID>KB_Alt</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_ESC</ActionID></Input>
<Output><ActionID>KB_Esc</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_ROLL_CW</ActionID></Input>
<Output><ActionID>KB_F8</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_MENU</ActionID></Input>
<Output><ActionID>Driver_ShowDriverGUI</ActionID></Output>
</Button>
</ButtonBank>
<ButtonBank>
<Name>PanZoom</Name>
<ID>PanZoom</ID>
<InheritsFromID />
<Button>
<Input><ActionID>V3DK_ROTATE</ActionID></Input>
<Output><ActionID>Nomad_Back_To_Default</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_FIT</ActionID></Input>
<Output><ActionID>KB_Home</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_1</ActionID></Input>
<Output><ActionID>KB_F1</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_2</ActionID></Input>
<Output><ActionID>KB_F2</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_3</ActionID></Input>
<Output><ActionID>KB_F3</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_4</ActionID></Input>
<Output><ActionID>KB_F4</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_FRONT</ActionID></Input>
<Output><ActionID>KB_F5</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_RIGHT</ActionID></Input>
<Output><ActionID>KB_F6</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_TOP</ActionID></Input>
<Output><ActionID>KB_F7</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_SHIFT</ActionID></Input>
<Output><ActionID>KB_Shift</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_CTRL</ActionID></Input>
<Output><ActionID>KB_Ctrl</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_ALT</ActionID></Input>
<Output><ActionID>KB_Alt</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_ESC</ActionID></Input>
<Output><ActionID>KB_Esc</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_ROLL_CW</ActionID></Input>
<Output><ActionID>KB_F8</ActionID></Output>
</Button>
<Button>
<Input><ActionID>V3DK_MENU</ActionID></Input>
<Output><ActionID>Driver_ShowDriverGUI</ActionID></Output>
</Button>
</ButtonBank>
</Device>
It is working properly?
No lag and no problems at all?
Can you share the files?