Skip to content

Add VectorBridge (16d0:1474)#126

Open
Cosmic-Layers wants to merge 11 commits intoFreeSpacenav:masterfrom
Cosmic-Layers:vectorbridge-support
Open

Add VectorBridge (16d0:1474)#126
Cosmic-Layers wants to merge 11 commits intoFreeSpacenav:masterfrom
Cosmic-Layers:vectorbridge-support

Conversation

@Cosmic-Layers
Copy link
Copy Markdown

@Cosmic-Layers Cosmic-Layers commented Oct 17, 2025

New device entry for VectorBridge (VID:PID 16d0:1474)

https://vectorbridge.net/ (Future release)

What changed (files & summary)
src/dev.c: add USB DB entry for VectorBridge 16d0:1474 (maps to SNAV-class).

How I tested
Ubuntu 24.04, kernel 6.8.

Copy link
Copy Markdown
Contributor

@jtsiomb jtsiomb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an extremely sloppy pull request. You changed files you didn't mean to, for files you meant to change a line, you changed more without realizing it, you removed the entry for bluetooth spacemouse wireless, you changed flags of existing devices...

This does not inspire confidence... Do it again, properly and with due care.

Also you mention changes in the pull request message, that I don't see in the actual pull request. You mentioned that part of the changes is installation of the udev file, and I was about to say don't do that... but then I looked in the actual changes and it's not there, which is accidentally positive. But I don't like the magnitude of accidents in what should be a tiny changeset.

You also say you added a fallback to automatically use 6-dof absolute devices. I don't see that in the changes either...

src: sync dev_usb_linux.c exactly with upstream/master (no local changes).
dev: add VectorBridge (16d0:1474) to USB device table.
contrib: remove 99-vectorbridge-ndof.rules
@Cosmic-Layers
Copy link
Copy Markdown
Author

This is an extremely sloppy pull request. You changed files you didn't mean to, for files you meant to change a line, you changed more without realizing it, you removed the entry for bluetooth spacemouse wireless, you changed flags of existing devices...

This does not inspire confidence... Do it again, properly and with due care.

Also you mention changes in the pull request message, that I don't see in the actual pull request. You mentioned that part of the changes is installation of the udev file, and I was about to say don't do that... but then I looked in the actual changes and it's not there, which is accidentally positive. But I don't like the magnitude of accidents in what should be a tiny changeset.

You also say you added a fallback to automatically use 6-dof absolute devices. I don't see that in the changes either...

I sincerely apologize for the sloppy PR. This is my first time working with Linux and with GitHub forking/branching, and I made several mistakes. I believe I have my bearings now, and I cleaned this PR up. It’s now a single-line change in src/dev.c adding VectorBridge (VID:PID 16d0:1474). No other files/flags are touched and no udev or generic fallback changes are included.

Sorry again for the noise, and thanks for your patience.

@Cosmic-Layers Cosmic-Layers changed the title Add VectorBridge (16d0:1474) + generic ABS NDOF fallback Add VectorBridge (16d0:1474) Oct 19, 2025
Copy link
Copy Markdown
Contributor

@jtsiomb jtsiomb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, this is much better. I'm not sure I understand why you used the DEV_SNAV device type though. DEV_SNAV means: the connected device is a "3Dconnexion Space Navigator". This device type is defined at the protocol level, and is visible to applications.

If I understood your web page correctly (I'm assuming you're affiliated with the VectorBridge project), the device is an adapter for connecting any serial 6dof device through USB, so it doesn't make sense to add a new protocol identifier for the VectorBridge. Ideally there should be some way to query the connected serial device and update the type field, as well as the other parameters like number of buttons dynamically. For now I think the most reasonable thing to do is to use DEV_UNKNOWN.

Of course the elephant in the room which you have not mentioned is what's the point of adding support for the VectorBridge at all, since all those serial devices are natively supported by spacenavd anyway. From what I gather from your website, I assume that the reason is the extra degree of customization afforded by your software, but I'd rather get an explicit rationale from you, rather than having to guess. If my guess is correct then again the ideal scenario would be to discuss the possibility of adding any missing customization options to spacenavd directly, but it's not unreasonable to also support your adapter. Still, at least consider creating an issue about those better customization features so that I might attempt to add them to spacenavd myself at a later stage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants