keyboard, mouse and joystick emulation ?

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

3Dcoco
Posts: 2
Joined: Thu Mar 12, 2020 12:08 am

keyboard, mouse and joystick emulation ?

Post by 3Dcoco »

is this possible ?
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick »

Yes, it is possible. But it requires editing XML files. The GUI can not help you.
dumbweighter
Posts: 1
Joined: Thu May 10, 2018 8:41 am

Re: keyboard, mouse and joystick emulation ?

Post by dumbweighter »

Hello Mr. Wick. Thank you so much for your support over the years.

I've used a SpacePilot Pro for a few years professionally and recently decided to purchase one for home use after seeing the insane prices on amazon for this most amazing piece of machinery. Thanks again for the code to insert pauses natively (i hit you up on linkedin a few years ago after having issues registering for the forums... thanks again!!)

So, i have one at home now and would really like to use the navigation tool in eagle ECAD and perhaps this or that app. Some years ago you posted in the forums what i'm referencing in the attached pic. I was wondering what the issue is here?
2020-03-15 01_10_03-_DONE_ SpaceNavigator Driver - Mouse Joystick Keyboard - Page 53 - 3Dconnexion F.png
2020-03-15 01_10_03-_DONE_ SpaceNavigator Driver - Mouse Joystick Keyboard - Page 53 - 3Dconnexion F.png (26.08 KiB) Viewed 15781 times
Thank you again for your tireless support. Seriously, I dig
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick »

Hello dumbweighter (that name does sound familiar),

I'm happy to help. People who build things just want people to use them.

That Beta program was for the driver that is now shipping.
The only substantial change is that the GUI does not support much of the functionality the beta GUI supported.
The underlying XML mechanisms still work, AFAIK -- they don't get much testing so things may break.
You have to make the XML file changes that the GUI used to make. Or get one of us to create the XML changes for you.

The process starts with deciding what needs to be sent to the app.
The best mechanism is a proper 3D mouse interface, but that's beyond the capabilities of most.
Non-games generally don't support a joystick.
Most CAD apps support some sort of mouse interface.
It is possible the keyboard is supported. There's no standard there.
Anubis9
Posts: 4
Joined: Thu Jan 30, 2020 6:37 am

Re: keyboard, mouse and joystick emulation ?

Post by Anubis9 »

I asked in a separate post previously, but got no reply there.
Is it possible to simulate via a custom XML an "Alt + Left Mouse Button + Mouse Move" action on an axis input?
So, for example, when I pan the SpaceMouse sideways, can I get mouse cursor movement on X axis with two modifiers (ALT + Left Mouse Button) at the same time?
Thanks!
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick »

Anubis9: I think this works. Having two keyboard modifiers does not work (WIN-432).

The XML has to be modified manually. The GUI can't help.

You need an Axis definition similar to this:

Code: Select all

 <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_X</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
            <Deadband>0</Deadband>
          </Input>
          <Output>
            <Modifiers>
              <Modifier>Alt</Modifier>
              <Modifier>LeftMouse</Modifier>
            </Modifiers>
            <Reversed>false</Reversed>
            <ActionID>HIDMouse_X</ActionID>
          </Output>
        </Axis>
Anubis9
Posts: 4
Joined: Thu Jan 30, 2020 6:37 am

Re: keyboard, mouse and joystick emulation ?

Post by Anubis9 »

Hey, thanks, Jwick!

This almost works as intended!
I had to set the AxisFilter to Dominant, otherwise with slight mixing of rotation/panning while using the SpaceMouse it presses both mouse keys (LeftMouse for rotation, MiddleMouse for panning ) and starts behaving incorrectly.

I was wondering also (something that might be useful for other people in general), if it is, somehow, possible to separate panning from rotation. A Dominant mode in a way, but one that doesn't limit the motion to just one axis AND type of motion at the same time (as it does not - just HIDMultiAxis_X or HIDMultiAxis_RY or HIDMultiAxis_RX), but rather to just a type of motion (so that HIDMultiAxis_X and HIDMultiAxis_Y or HIDMultiAxis_RX and HIDMultiAxis_RY could be engaged in simultaneously). This would be really useful for a lot of software!

Also, one issue I noticed in the current implementation - seems like it doesn't always release some of the mouse buttons modifiers when you let go of the device (I've checked and the ALT modifier is always released).
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick »

Anibus9,

It may help to increase the deadband on the axes to limit the crosstalk.

There is an AxisFilter that passes either the entire translation vector OR the entire rotation vector through, depending on which is larger:
<AxisFilter>LargestOfTranslationOrRotation</AxisFilter>
It should allow you to isolate panning from rotating (or zoom if you put zoom on a rotation axis).

There are a bunch of AxisFilters: XOnly, YOnly, ZOnly, RxOnly, RyOnly, RzOnly, RotationOnly, TranslationOnly, XYOnly, XZOnly, YZOnly, ZoomOnly, FastZoomOnly. They can be assigned to a device button to be active while it is pressed, then released when it is released, or a traditional toggle. There are pre-defined ButtonActions in Base.xml that you can start with.

I haven't tested them in a while.

I think you are correct. Sometimes it does leave a kb modifier down. Try tapping the device. As a safety measure, it will release all kb modifiers when you switch apps. I am sure it is a bug that has scurried under the fridge.
Anubis9
Posts: 4
Joined: Thu Jan 30, 2020 6:37 am

Re: keyboard, mouse and joystick emulation ?

Post by Anubis9 »

Hey, thanks for the follow up!

Adding the "LargestOfTranslationOrRotation" filter and a bit of deadzones really helped!

Mouse-Button modifiers are still sticky sometimes (or get released too early, during the movement), but it is much more stable and usable already.
Hope these modifiers get fixed at some point - it will make it 110% usable for a lot of the unsupported software (as it is pretty usable already)!

Thanks again for all the help!
kgrosser
Posts: 81
Joined: Fri Dec 08, 2006 3:04 am

Re: keyboard, mouse and joystick emulation ?

Post by kgrosser »

jwick wrote: Thu Mar 12, 2020 1:14 am Yes, it is possible. But it requires editing XML files. The GUI can not help you.
I am following this kind of requests repeating now since many, many, many, years (did I say it was many of them?)
I don't understand 3 things here:

1. Why 3D Connexion decided to drop/not implement it in the first place. Apparently this company emerged as an Logitech spin off (don't know the current situation) and the first generation of hardware using this tech, the Cyberman 2 was exactly designed to be a joystick.
2. Why 3D Connexion did decide to remove this very useful and working feature from the Beta after finally seem to listen to their customer requests and open up a HUGE market for them.
3. The "level" of support on inquiries on this issue in general
Q (apparently a normal user without programming background): is it possible?
A (from a support member with apparent programming background): Yes. but you gotta do some things I won't tell you.

I don't know, what comon sense of support is. I also do tech support for the products I manage (timecode synchronizers for professional media production equipment) and I deem an answer to an inquire useful for the customer if it includes a practical answer to his problem. "The GUI" in this case can effectively be substtuded by "We".

As commented, this has been an ongoing request and I do not understand why it is beyond the possibilities, and equivocally against the interest and policies of 3D Connexion to provide such .xml to their existing and potential users wit a simple "insert your application path here" comment, or, for once and all, include a tested and approved feature (as far my feedback from the beta program goes) into their driver.

For me it definitely seems they either simply do not want to offer this feature, which I had no explanation for as it keeps a potential and big marked untouched or, more plausible, as otherwise there would such .xml inoffically be floating around this forum for sure, hindered by agreement. In which cases an honest and upright explanation was the best 3D Connexion could do in terms of customer support and UX. I can't imagine any contract wouldn't allow to at least comment something like "Sorry, we cannot do this due to contract restrictions".
Veteran66
Posts: 1
Joined: Fri May 01, 2020 12:41 pm

Re: keyboard, mouse and joystick emulation ?

Post by Veteran66 »

Joystick emulation work fine with UCR "Universal Control Remapper [Alpha]" and vJoy

Link:
https://github.com/Snoothy/UCR
kgrosser
Posts: 81
Joined: Fri Dec 08, 2006 3:04 am

Re: keyboard, mouse and joystick emulation ?

Post by kgrosser »

The installation on my test system was borked and I had to crawl through the registry for a proper removal of the 3D Connexion driver and reinstall the current version. After that I gave ControlMyJoystick a shot and I think it is the most versatile and powerful soltution to adopt the 3D Connexion devices for joystick games, incl. deadzones, axis swap, sensitivity curves and more. Sure worth the price.
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick »

Could you list the games you are using our devices with? It might help us prioritize.
lightbulbjim
Posts: 1
Joined: Tue Jun 30, 2020 11:11 pm

Re: keyboard, mouse and joystick emulation ?

Post by lightbulbjim »

I would like to use my SpaceMouse Compact with Space Engine (http://spaceengine.org).

It does support binding axes through the control configuration, but the inputs don't behave as expected.
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick »

lightbulbjim,

Very cool product (at least the video)! Being on Steam, it probably supports joystick input. What happens ("inputs don't behave as expected")?
Post Reply