VL.Mcro.Devices.SpaceMouse
1.0.0-pre1
dotnet add package VL.Mcro.Devices.SpaceMouse --version 1.0.0-pre1
NuGet\Install-Package VL.Mcro.Devices.SpaceMouse -Version 1.0.0-pre1
<PackageReference Include="VL.Mcro.Devices.SpaceMouse" Version="1.0.0-pre1" />
<PackageVersion Include="VL.Mcro.Devices.SpaceMouse" Version="1.0.0-pre1" />
<PackageReference Include="VL.Mcro.Devices.SpaceMouse" />
paket add VL.Mcro.Devices.SpaceMouse --version 1.0.0-pre1
#r "nuget: VL.Mcro.Devices.SpaceMouse, 1.0.0-pre1"
#:package VL.Mcro.Devices.SpaceMouse@1.0.0-pre1
#addin nuget:?package=VL.Mcro.Devices.SpaceMouse&version=1.0.0-pre1&prerelease
#tool nuget:?package=VL.Mcro.Devices.SpaceMouse&version=1.0.0-pre1&prerelease
VL.Mcro.Devices.SpaceMouse
A port of Open Unreal Space Mouse for vvvv-gamma. This is the third SpaceMouse integration for vvvv as of time of writing. There's one which is working with official drivers, one which is working from HID but with limited device support and this one which is also working with HID but supports all 3DConnexion Space Mice.
The reading loop is done on a separate thread and accumulates all connected space-mice data into a global state. The process nodes are simply reading this state on the main-loop.
This repository can also serve as a template for developing C++/CLI libraries for vvvv with a "totally bareable" developer experience with the help of xmake.
Install
Get it via nuget manager in vvvv. For regular usage the sections below can be ignored.
Build
cd .\cpp
# The extra addons only require manual installation until they're canonized in xrepo. Need to be done only once
xmake addon --install github:microdee/xmake.rats-utils
xmake addon --install github:microdee/xmake.dotnet-cppcli
xmake config -m release -v -D
xmake build
xmake will automatically copy resulting binaries to lib subfolder.
Understanding the workflow
I chose xmake in particular because I grew fond of its focus on developer experience for C++. Especially for its excellent handling of 3rd party libraries and many chores which tend to be painful in other build tools. However xmake itself doesn't know about C++/CLI, that's where dotnet-cppcli addon comes in. It adds the proper compiler flags, gather dotnet runtime assemblies and manages dependencies from nuget. This is already way more than MSBuild does for you.
All C++ sources are found in cpp/src subfolder, and its configuration in cpp/xmake.lua. Build artifacts and intermediate files should also stay inside cpp folder. You can enable adequate auto-complete in VS Code and Visual Studio, both for managed assemblies and regular C++ code, with the following commands:
cd .\cpp
xmake project -k compile_commands .vscode # VS Code
xmake project -k vsxmake2026 -m "debug,release" # Visual Studio
If you install the xmake VS Code extension it supposedly auto-generate compile_commands.json for you. VS Code is slightly better for developing as it doesn't rely on a virtual project workspace, how a Visual Studio solution would. However attaching a debugger is only working in Visual Studio without much hassle.
Debugging
Configure xmake in debug mode, then build. vvvv must be closed during this.
cd .\cpp
xmake config -m debug -v -D
xmake build
no need to change references in VL file (lib folder should contain the debug binaries now). When attaching a debugger set both Native and Managed modes (or older versions may refer to it as "Mixed Mode" debugging).
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Stride.Core.Mathematics (>= 4.3.0.2507)
- VL.Core (>= 2025.7.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-pre1 | 51 | 10/5/2026 |