3Dconnexion input devices: Difference between revisions
No edit summary |
No edit summary |
||
(14 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
<translate> |
<translate> |
||
<!--T:52--> |
|||
[[File:SpaceNavigator.jpg|200px|thumb|right|3Dconnexion SpaceNavigator]] |
[[File:SpaceNavigator.jpg|200px|thumb|right|3Dconnexion SpaceNavigator]] |
||
⚫ | |||
</translate> |
|||
⚫ | |||
<translate> |
|||
== Driver installation == <!--T:1--> |
== Driver installation == <!--T:1--> |
||
Line 42: | Line 45: | ||
<!--T:32--> |
<!--T:32--> |
||
Spacenav needs these permissions: |
|||
</translate> |
</translate> |
||
Line 51: | Line 54: | ||
<!--T:33--> |
<!--T:33--> |
||
Restart spnavd and FreeCAD |
|||
</translate> |
</translate> |
||
Line 143: | Line 146: | ||
<!--T:8--> |
<!--T:8--> |
||
* ... then you need to install libgtkmm-2.4-dev. Under Ubuntu, this is done like this: |
* ... then you need to install '''libgtkmm-2.4-dev'''. Under Ubuntu, this is done like this: |
||
</translate> |
</translate> |
||
Line 164: | Line 167: | ||
<!--T:11--> |
<!--T:11--> |
||
*Follow the same pattern to compile and install spnavcfg. Make sure to run spnavcfg as root, or no settings will be saved! |
*Follow the same pattern to compile and install '''spnavcfg'''. Make sure to run spnavcfg as root, or no settings will be saved! |
||
==== Starting spacenavd as a systemd service at boot ==== <!--T:48--> |
==== Starting spacenavd as a systemd service at boot ==== <!--T:48--> |
||
Line 183: | Line 186: | ||
<!--T:35--> |
<!--T:35--> |
||
If sometimes |
If sometimes SpaceNavigator stops working, it is good to restart driver. To restart it, go to Terminal and execute: |
||
</translate> |
</translate> |
||
Line 216: | Line 219: | ||
<translate> |
<translate> |
||
=== |
=== macOS === <!--T:15--> |
||
<!--T:38--> |
<!--T:38--> |
||
3Dconnexion input devices are supported on |
3Dconnexion input devices are supported on macOS, provided FreeCAD is built and used on a system with the 3Dconnexion drivers installed. You may need 3DxWare 10.7.2 or greater for macOS 12 Monterey. |
||
=== Windows === <!--T:16--> |
=== Windows === <!--T:16--> |
||
Line 244: | Line 247: | ||
<!--T:41--> |
<!--T:41--> |
||
3D mouse support was made with spnav project on Linux, and on a very low level on Windows. This means there was no support for any settings for a device, since on Linux there is no good support for this, and on Windows it is overridden. This is why two additional pages were added to "Customize" dialog. |
3D mouse support was made with ''spnav project'' on Linux, and on a very low level on Windows. This means there was no support for any settings for a device, since on Linux there is no good support for this, and on Windows it is overridden. This is why two additional pages were added to "Customize" dialog. |
||
</translate> |
</translate> |
||
Line 277: | Line 280: | ||
To connect certain command with a button, select button on the left side, and it's command on the right side. |
To connect certain command with a button, select button on the left side, and it's command on the right side. |
||
To clear commands from button, press "Clear". |
To clear commands from button, press "Clear". |
||
=== Troubleshooting === <!--T:53--> |
|||
<!--T:54--> |
|||
Check if your FreeCAD installation links to the spacenav library. The best way to check this is by running FreeCAD from the command line terminal {{incode|FreeCAD --log-file /tmp/freecad.log}} and close it immediately again. Then open the file {{FileName|/tmp/freecad.log}} and search for the messages: |
|||
</translate> |
|||
{{incode|Connected to spacenav daemon}} |
|||
<translate> |
|||
<!--T:62--> |
|||
or |
|||
</translate> |
|||
{{incode|Couldn't connect to spacenav daemon. Please ignore if you don't have a spacemouse.}} |
|||
<translate> |
|||
<!--T:61--> |
|||
If none of them appears then your FreeCAD build doesn't link to the spacenav library. If the former message appears then it basically works. The latter message means there is probably a problem with the spacenav daemon. |
|||
== Related == <!--T:44--> |
== Related == <!--T:44--> |
||
<!--T:45--> |
<!--T:45--> |
||
* Forum thread [https://forum.freecadweb.org/viewtopic.php?f=3&t=51023 spacenav on |
* Forum thread [https://forum.freecadweb.org/viewtopic.php?f=3&t=51023 spacenav on Windows] |
||
* Forum thread [https://forum.freecadweb.org/viewtopic.php?f=8&t=57188 Space navigator axis confusion] |
* Forum thread [https://forum.freecadweb.org/viewtopic.php?f=8&t=57188 Space navigator axis confusion] |
||
Revision as of 11:36, 14 January 2024
![](/images/thumb/e/ea/SpaceNavigator.jpg/200px-SpaceNavigator.jpg)
Driver installation
Linux
FreeCAD supports drivers from project Spacenav. This is a project aiming to create an open-sourced driver which is compatible with the proprietary drivers from 3Dconnexion.
Install from repo
Ubuntu
sudo apt-get install spacenavd
Note, however, that version 0.6 available on Ubuntu 20.04 (and probably older ones) does not seem to work. You then have to compile spacenavd from source as explained below.
Fedora
sudo yum install spacenavd
Debian
apt-get install spacenavd libspnav-dev
Spacenav needs these permissions:
cp ~/.Xauthority /root/
Restart spnavd and FreeCAD
/usr/bin/spnavd_ctl x11 stop /usr/bin/spnavd_ctl x11 start
openSUSE
sudo zypper install spacenavd
This is recommended if your distribution might provide an outdated version.
- Download the following files:
- Unpack the archives into a folder in your home directory.
- Enter the spacenavd-x.x directory and run the following commands:
./configure make
- If this was successful, run the following commands as root (or prefix with sudo.)
make install ./setup_init /etc/init.d/spacenavd start
- This installs the spacenav daemon, configures it to automatically load on system boot, and starts the daemon without having to reboot.
- Now it is time to check that your device is properly detected. With your device unplugged, run the following command and then plug it in.
tail -n100 -f /var/log/spnavd.log
- If the output looks something like this, you can continue.
Device detection, parsing /proc/bus/input/devices trying alternative detection, querying /dev/input/eventX device names... trying "/dev/input/event1" ... Power Button trying "/dev/input/event2" ... 3Dconnexion SpaceNavigator using device: /dev/input/event2 device name: 3Dconnexion SpaceNavigator
- Now enter the directory named libspnav-x.x.x and run the following commands:
./configure make
- If make fails with the following error: ...
fatal error: gtk/gtk.h: No such file or directory
- ... then you need to install libgtkmm-2.4-dev. Under Ubuntu, this is done like this:
sudo apt-get install libgtkmm-2.4-dev
- When make has completed successfully, run the following command as root (or prefix with sudo.)
make install
- Look in the directory libspnav-x.x.x/examples/. If you want to test your device, compile and run either one of the two examples.
- Follow the same pattern to compile and install spnavcfg. Make sure to run spnavcfg as root, or no settings will be saved!
If you want to start spacenavd at boot using systemd, do the following:
- Go to the directory where you clone the spacenavd repository (to the root of the repository)
- "sudo cp contrib/systemd/spacenavd.service /usr/lib/systemd/system/spacenavd-local.service".
- "sudo systemctl enable spacenavd-local.service".
- "sudo systemctl start spacenavd-local.service", if you want to start it right away.
This is only necessary for the installation from source.
If sometimes SpaceNavigator stops working, it is good to restart driver. To restart it, go to Terminal and execute:
sudo xhost +
sudo /etc/init.d/spacenavd restart
After that restart FreeCAD. On some distros this is necessary at each boot.
Known Issues
A user reported on the forum they saw the following:
Spacenav daemon 0.6 failed to open config file /etc/spnavrc: No such file or directory. using defaults. adding device. device name: 3Dconnexion SpacePilot using device: /dev/input/event5 No protocol specified failed to open X11 display ":0.0"
The workaround that worked for them:
sudo cp ~/.Xauthority /root/
sudo spnavd_ctl x11 start
sudo systemctl restart spacenavd
macOS
3Dconnexion input devices are supported on macOS, provided FreeCAD is built and used on a system with the 3Dconnexion drivers installed. You may need 3DxWare 10.7.2 or greater for macOS 12 Monterey.
Windows
As of version 0.13, 3D mouse is supported under Windows. You need to have 3Dconnexion drivers installed.
Known Issue
There is an issue where 3Dconnexion sends duplicate scroll events to FreeCAD, which causes the view to jump. To fix it:
- Open 3Dconnexion Properties. You can double-click its icon in the Taskbar, next to the Windows clock.
- Click on the Advanced Settings button.
- Open FreeCAD or switch to an already-open FreeCAD window.
- Switch back to 3Dconnexion Advanced Settings. Confirm that it says "FreeCAD" in the heading.
- Uncheck all boxes on the page.
ref: https://freecadweb.org/tracker/view.php?id=1893
Setting up FreeCAD
3D mouse support was made with spnav project on Linux, and on a very low level on Windows. This means there was no support for any settings for a device, since on Linux there is no good support for this, and on Windows it is overridden. This is why two additional pages were added to "Customize" dialog.
Spaceball Motion
In this tab you have ability to set up some of general space mouse settings. They include:
- Global Sensitivity - Slider with ability to set global sensitivity
- Dominant - if you enable dominant mode, only axes with highest move will be considered
- Flip YZ - This option enables you to flip Y and Z axes on 3D mouse
- Enable Translations - easy way to enable/disable translations
- Enable Rotations - easy way to enable/disable rotations
- Calibrate - enables you to calibrate space navigator. It is pressed while space navigator is not moved.
- Set To Default - removes all settings and sets them to default.
Other than this, for each axes you have ability to set:
- Enabled - Enable/Disable axes
- Reverse - Reverse movement on axes
- Sensitivity - slider with ability to set sensitivity
Spaceball Buttons
When you open this tab for the first time, it will be empty and unavailable. To activate it, you must press one of your space mouse buttons. After you do, list of buttons will appear on the left side, and list of commands will be available on the right side.
To connect certain command with a button, select button on the left side, and it's command on the right side. To clear commands from button, press "Clear".
Troubleshooting
Check if your FreeCAD installation links to the spacenav library. The best way to check this is by running FreeCAD from the command line terminal FreeCAD --log-file /tmp/freecad.log
and close it immediately again. Then open the file /tmp/freecad.log and search for the messages:
Connected to spacenav daemon
or
Couldn't connect to spacenav daemon. Please ignore if you don't have a spacemouse.
If none of them appears then your FreeCAD build doesn't link to the spacenav library. If the former message appears then it basically works. The latter message means there is probably a problem with the spacenav daemon.
Related
- Forum thread spacenav on Windows
- Forum thread Space navigator axis confusion