Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reverse Direction and Speed options in software not working #13

Open
voxpop9 opened this issue Jun 15, 2024 · 7 comments
Open

Reverse Direction and Speed options in software not working #13

voxpop9 opened this issue Jun 15, 2024 · 7 comments
Labels
help wanted Extra attention is needed

Comments

@voxpop9
Copy link

voxpop9 commented Jun 15, 2024

As per the title, i have tried to reverse and slow down the mouse using the 3Dconnexion's software and it is not working.

@AndunHH
Copy link
Owner

AndunHH commented Jun 15, 2024

Yes, this is a known problem now. The 3dconnexion driver doesn't save this setting on the pc, but probably send this information to the spacemouse. And our version doesn't recognize this settings.

I would also like to have this feature! We need to find a solution. Maybe some other project has already solved this issue and we can merge the solution? I would start by looking into the history of the projects, where teaching tech sourced the HID interface.

@voxpop9
Copy link
Author

voxpop9 commented Jun 16, 2024

Yes, this is a known problem now. The 3dconnexion driver doesn't save this setting on the pc, but probably send this information to the spacemouse. And our version doesn't recognize this settings.

I would also like to have this feature! We need to find a solution. Maybe some other project has already solved this issue and we can merge the solution? I would start by looking into the history of the projects, where teaching tech sourced the HID interface.

That's interesting, because the Arduino code itself mentions using the software to invert it. perhaps 3Dconnexions changed this at one point.

@AndunHH
Copy link
Owner

AndunHH commented Jun 16, 2024

You are right, but I am sure, this was not working on windows ...

For Linux this is a different story, as the original driver is from 2014 and spacenavd is a popular alternative, which allows this. I linked it in the readme, if you are interested.

@voxpop9
Copy link
Author

voxpop9 commented Jun 16, 2024

You are right, but I am sure, this was not working on windows ...

For Linux this is a different story, as the original driver is from 2014 and spacenavd is a popular alternative, which allows this. I linked it in the readme, if you are interested.

Im on Windows so it foesn't apply to me unfortunately. Oh well, i only use it for Onshape at the moment so code level modifications will suffice for now.

@coliss86
Copy link
Contributor

I don't know how to implement this, the USB bus should be sniffed with a genuine mouse and the protocol should be reversed engineered. A lot of work...

@AndunHH
Copy link
Owner

AndunHH commented Jul 21, 2024

To let you know:
I did an overhaul of the USB HID interface and I'm not done yet - in the branch EnableLED

There are many reports in the HID descriptor that are not used now. I found out that report ID

  1. IN Translation
  2. IN Rotation
  3. IN Keys
  4. OUT LEDs
  5. not existent
  6. OUT Usage (0x21) Cnt 1
  7. OUT Usage (0x22) Cnt 1
  8. OUT Usage (0x23) Cnt 7
  9. OUT Usage (0xB0) Cnt 7
  10. OUT Usage (0x25) Cnt 7
  11. OUT Usage (0x26) Cnt 1
    ...

'19. OUT Usage (0x2E) Cnt 1

See https://github.com/AndunHH/spacemouse/blob/main/SpaceNavigator.md#hid-report-of-space-navigator for the whole HID descriptor.

I guess, that those six reports will tell the spacemouse about the sensitivities for the single axis. I have no clue, what report 19 will tell us ;) ... After finishing the LEDs, this will be next and is recorded here as a reminder.

@AndunHH
Copy link
Owner

AndunHH commented Aug 28, 2024

My last comment is missing some important information: the observed hid descriptor with the additional reports are observed in a classical space navigator, which is NOT equal to our emulated space mouse pro!

I tried to switch our emulation to such a space navigator to get the configuration going. Unfortunately, this failed, because the driver didn't send any additional information.??? As expected the keys stopped working because the classic space navigator has only two keys. Therefore we stay we the actual emulation of the space mouse pro, where at least all keys are working.

If someone has such a space mouse pro, so we can Wireshark the USB communication, this would help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants