keyboard, mouse and joystick emulation ?

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

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

keyboard, mouse and joystick emulation ?

Post by 3Dcoco » Thu Mar 12, 2020 12:59 am

is this possible ?

jwick
Moderator
Moderator
Posts: 2681
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick » Thu Mar 12, 2020 1:14 am

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 » Sat Mar 14, 2020 11:15 pm

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 2856 times
Thank you again for your tireless support. Seriously, I dig

jwick
Moderator
Moderator
Posts: 2681
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick » Mon Mar 16, 2020 1:10 am

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 » Tue Mar 24, 2020 3:23 pm

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: 2681
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick » Wed Mar 25, 2020 1:38 am

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 » Wed Mar 25, 2020 6:10 am

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: 2681
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick » Thu Mar 26, 2020 12:15 am

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 » Thu Mar 26, 2020 5:04 am

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: 80
Joined: Fri Dec 08, 2006 3:04 am

Re: keyboard, mouse and joystick emulation ?

Post by kgrosser » Tue May 12, 2020 2:09 am

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 » Mon May 25, 2020 9:04 pm

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

Link:
https://github.com/Snoothy/UCR

kgrosser
Posts: 80
Joined: Fri Dec 08, 2006 3:04 am

Re: keyboard, mouse and joystick emulation ?

Post by kgrosser » Mon Jun 29, 2020 7:09 am

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: 2681
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick » Tue Jun 30, 2020 12:43 am

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 » Tue Jun 30, 2020 11:14 pm

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: 2681
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: keyboard, mouse and joystick emulation ?

Post by jwick » Wed Jul 01, 2020 12:30 am

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