English
Login

3Dconnexion devices

Relevant for

MMU family
MINI family
MK3 family
OLD PRODUCTS
SLA family
26 comments
Article is also available in following languages
English
Čeština
Polski
Deutsch
Français
Español
Italiano
日本語
It seems that the latest 3DConnexion driver delivers a configuration file, which is no longer compatible with the 3DConnexion driver binary. We have reported this bug to 3DConnexion.

If your 3DConnexion device does not work with the driver you will likely need to do the following for now: https://github.com/prusa3d/PrusaSlicer/issues/7277#issuecomment-1006359238
(updated January 2022)

PrusaSlicer (from version 2.2.0) supports the following 3Dconnexion devices:

  • Spacemouse plus XT
  • Cadman
  • Spacemouse classic
  • Spaceball 5000
  • Space traveller
  • Space pilot
  • Space navigator (TESTED)
  • Space explorer
  • Space navigator for notebooks
  • Space pilot pro
  • Space mouse pro
  • Spacemouse wireless (USB cable) (TESTED)
  • Spacemouse wireless receiver
  • Spacemouse pro wireless (TESTED)
  • Spacemouse pro wireless receiver
  • Spacemouse enterprise
  • Spacemouse compact (TESTED)
  • Spacemouse module
  • Nulooq
  • 3Dconnexion universal receiver (TESTED)
On Windows & Mac OS use the 3D connexion driver dialog to configure your device.
On Linux, press Ctrl + M while in the platter view to open 3Dconnexion settings dialog.

If you're unable to configure your device, enable Configuration - Preferences - Enable support for legacy 3D connexion devices. You might have to do this even for relatively new devices, due to lack of support from 3Dconnexion. Then press CTRL+M (Shift+Command+M on Mac).

3Dconnexion SpaceMouse

Windows

It is enough to plug-in any of the listed devices to the pc to have it working.

The current implementation does not support flipping axes in the 3dconnexion driver on Windows.

Mac

It is enough to plug-in any of the wired listed devices to have it working.

3Dconnexion universal receiver is currently not working on Mac.

Linux

Linux users need to create a file named “90-3dconnexion.rules” with the following content:

# Logitech vendor devices
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c603", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c605", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c606", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c621", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c623", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c625", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c626", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c627", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c628", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c629", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c62b", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c62e", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c62f", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c631", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c632", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c633", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c635", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c636", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c640", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c652", MODE="0666"
# 3D Connexion vendor devices
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c603", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c605", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c606", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c621", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c623", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c625", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c626", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c627", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c628", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c629", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c62b", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c62e", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c62f", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c631", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c632", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c633", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c635", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c636", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c640", MODE="0666"
KERNEL=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c652", MODE="0666"

and save it into:

/etc/udev/rules.d

After this is done, it is enough to plug-in any of the listed devices to the pc to have it working.

The cited file is part of the PrusaSlicer distribution. You can find it in: resourcesudev90-3dconnexion.rules

 
 

15 comments

Log in  to post a comment
Akmjoe
On Linux, the udev rules all need to start with
KERNEL=="hidraw*"
The asterisk after hidraw is a wildcard, so will make the rule apply to all hidraw devices - my spacemouse was /dev/hidraw1, and would not work until I changed the udev rules and rebooted.
 
DET-Man
For anybody who wants to use the 3D Connexion devices with Linux, the following might help which guides you on what needs to be done to get it running on Ubuntu 22.10 (but it should help also for other distros)
1. Install the Open Source driver "spacenavd". There are many good reasons to use this instead of the proprietary Linux driver:
sudo apt install spacenavd
This will install a systemd unit which will be started automatically
2. Install the lib to access the daemon. I am not sure if PursaSlicer requires it, but mostly any other Linux application with support for 3DConnexion devices will require it anyways.
sudo apt install libspnav0
3. To set the access rights for the device nodes create the 90-3dconnexion.rules as described above. However I needed to change the rules from "KERNEL" to "SUBSYSTEM", e.g. for the Sacemouse Wirless the rule will be:
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256f", ATTRS{idProduct}=="c652", MODE="0666"
(not sure why the KERNEL filter did not apply, maybe I will check this later or somebody can point me to the root cause)
And just a last info for anybody having trouble and digging into the details:
When starting the systemd service for spacenavd it will report the following in the logs:
systemd[1]: Started 3Dconnexion Input Devices Userspace Driver.spacenavd[1193]: Authorization required, but no authorization protocol specified
I believe you can just ignore it (and it is triggered by an xauthority issue which should not matter). For me any application is working perfectly with the spacenavd driver and the only issue I had was to set the access rights for PrusaSlicer with the udev rule as described above.
Thomot512
Thanks. On Arch Linux, I also had to change from "KERNEL" to "SUBSYTEM".
RA LaRock
I found the solution on Github here:
https://github.com/prusa3d/PrusaSlicer/issues/7549
in the comment about editing the prusa-slicer.xml file. This worked for me on Windows 10, Spacemouse Wireless Pro, Prusa Slicer ver 2.4.1-beta1.
Dome
In win 10/11 using 3DConnexion V10.8.x driver, PrusaSlicer 2.3.3 is no more working. I needed to rollback to driver V10.7.4
Neil
This is not working for me either -- I updated the udev rules and reloaded them with:
sudo udevadm control --reload-rules 
sudo udevadm trigger
However the Configuration -> preferences menu does not have an option to enable the 3dconnexion legacy mode.
This is on Ubuntu 20.04 and PrusaSlicer 2.3.0+linux-x64-20210111322.AppImage
Mikolas Zuza
On Linux, it should be enabled by default and CTRL+M should bring up the menu.