Linux Mint 22, spacenavd & SpacePilot (HP, 2007) #116
-
First of all, a lot of things work: In FreeCAD's customize menu, But what seems to be 100% unimpressed by all of this, is the great display on the mouse itself, and since it is HP-branded, it shows, without intermission, how proud it is of being a HP product: it displays the HP logo, and that's it. A wonderful logo, but useless. Is there any way to bring the display to life and show anything meaningful, like key assignments? Thanks for your advice, help and hints! And a big thank you to the developer team of spacenavd who made it possible, that I can use a 3dconnexion mouse at all! |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 3 replies
-
Short versionIndeed, spacenavd doesn't manage that display at the moment at all, but I have written a standalone library and application to do that: https://github.com/jtsiomb/3dxdisp Long storyWhen I wrote that library (3dxdisp), it was meant as a test and maybe the basis of adding space-pilot screen support into spacenavd, but after I did that, I couldn't think of anything useful I could really show in it other than a fancy logo or something meaningless like that. That was because of a number of reasons, most but not all of which are still true today:
Points 2 and 4 are also not just missing features, but differences in design from the official driver. Spacenavd doesn't have the notion of an "active" application. It transmits events to all listeners, and it's up to them to decide if they have meaningful "focus" in whatever environment they're running, and would make sense to respond to that input. So one application can't monopolize the display to begin with, even if there was a mechanism for the application to send back things to be displayed. Now there are a few potentially useful things I could conceptualize using the display for in spacenavd. There are internal things like sensitivity change, and dominant axis mode toggle, that can be assigned to specific buttons, and there's keyboard key presses that can be bound to buttons. Those can be useful things to display on screen. Other than that, maybe current values of things again like sensitivity, or maybe the number of clients connected and which protocol each one uses could be relatively useful things to display. There are a couple of not particularly good reasons I never got around to actually add any of these in spacenavd:
So that's the full answer. Feel free to comment on any potential uses of the display which I may not have thought of, or to just add your vote behind implementing any or all of the above :) |
Beta Was this translation helpful? Give feedback.
-
Hey, John, Thanks for all the information you've been giving to me about the issue on Linux Mint and here about the display support and your design ideas. I'll go through all of that thoroughly and process this material. And I believe, I've understood quite a lot already, although from a non-programmer's perspective. My plan is, to evaluate what the SpacePilot does on a Windows machine with the current 3Dconnexion driver. I'm especially curious to see what the 3Dconnexion configuration program does. Although this might not be an awful lot, since it can, as you describe exactly, only change its behaviour within the OS realm, and nobody is interested in that at all. Eventually, such a configuration program couldn't do anymore but manipulating the stuff written in the spnavrc file, right? And these settings are irrelevant to the application, like FreeCAD e.g. Two questions came to my mind:
And in this context I've seen that the SpacePilot is listed twice as a device, bus 003, device 002 and bus 003, device 012, why is that?
Thank you very much, have a great day ;) |
Beta Was this translation helpful? Give feedback.
-
You were (of course) right with your assumption about my installation of |
Beta Was this translation helpful? Give feedback.
-
I got Could you, please, give a short explanation how I can convert a picture into the format of |
Beta Was this translation helpful? Give feedback.
-
Great, understood, works! |
Beta Was this translation helpful? Give feedback.
Short version
Indeed, spacenavd doesn't manage that display at the moment at all, but I have written a standalone library and application to do that: https://github.com/jtsiomb/3dxdisp
You could just run that program to upload a static image to it, or write a full libspnav client that queries information from spacenavd periodically, and updates the display using 3dxdisp to show some useful information about its current status.
Long story
When I wrote that library (3dxdisp), it was meant as a test and maybe the basis of adding space-pilot screen support into spacenavd, but after I did that, I couldn't think of anything useful I could really show in it other than a fancy logo or something m…