Support for 3DConnexion SpaceMouse
Description
It would be great if the KiCad 3D Viewer could take advantage of a 3DConnexion SpaceMouse for navigation (pan, rotate, zoom, etc.)
https://www.3dconnexion.com/products/spacemouse.html
This is a great input device that is supported by a lot of 3D tools.
The SpaceMouse could be used to also navigate 2D views for panning and zooming schematics and PCBs.
Ideally it would use the native API for their products. Details here: https://www.3dconnexion.com/service/software-developer.html
If that's too ambitious, the SpaceMouse driver has configurations for sending key and scroll events based on movements. Having key shortcuts for everyview manipulation movement would allow it to work in this backwards-compatibility mode. These should be fairly small movement increments to make the movement smooth.
KiCad Version
Application: Pcbnew
Version: (5.1.6-0-10_14), release build
Libraries:
wxWidgets 3.0.4
libcurl/7.64.1 SecureTransport (LibreSSL/2.8.3) zlib/1.2.11 nghttp2/1.39.2
Platform: macOS Catalina Version 10.15.6 (Build 19G73), 64 bit, Little endian, wxMac
Build Info:
wxWidgets: 3.0.4 (wchar_t,STL containers,compatible with 2.8)
Boost: 1.72.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.54.0
Compiler: Clang 9.0.0 with C++ ABI 1002
Build settings:
USE_WX_GRAPHICS_CONTEXT=ON
USE_WX_OVERLAY=ON
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=OFF
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON