sb-ocr / diy-spacemouse

A DIY navigation device for Fusion360
Other
1.22k stars 170 forks source link

spacemouse pro emulation USB driver #1

Open Arbel-arad opened 1 year ago

Arbel-arad commented 1 year ago

someone already made software for getting a pi pico to report and function as a full spacemouse (with software support) this should be easy to convert for your hardware and function without locking out the mouse. https://github.com/jfedor2/magellan-spacemouse

MohrJonas commented 1 year ago

Great idea on your part 😀! Most of the firmware seems relatively simple, but I've opened an issue in the repo you linked, asking about some of the more delicate inner workings, which the creator gladly explained: https://github.com/jfedor2/magellan-spacemouse/issues/2

Arbel-arad commented 1 year ago

i can do packet capture on my spacemouse (enterprise) if that will help. last time i tried to make custom descriptors it didn't work out, but the original version of this seems to be written well.

MohrJonas commented 1 year ago

Yeah my hope is that all that has to be done is to throw out the code responsible for reading from the magellan mouse via UART and replace it with code that reads from the magnetometer via I2C

Ryder17z commented 1 year ago

There is also https://github.com/lukenuttall/SpaceNavigatorEmulator which might be interesting as inspiration

Arbel-arad commented 1 year ago

that does look interesting but it requires loading a custom DLL file. that isn't great for security, and also won't work in my main CAD program (onshape) because it's web based. they are also emulating an older version of the device that is no longer supported by new 3DXware driver versions.

Ryder17z commented 1 year ago

Those area good points. But also begs the question of difficulty in getting this working with Solidworks

LoganFraser commented 1 year ago

Any updates on this? I finally have the adjustments to the base design I wanted (2 buttons per side, easier 3d printing, qwiic wire routed though the center of the support post) so I will be assembling and testing this weekend.

Arbel-arad commented 1 year ago

until i can get a pi pico there probably won't be much progress. though i hear the raspberry pi availability is starting to recover now.

Ryder17z commented 1 year ago

The pico is not as badly affected by the shortage though?

On Fri, 7 Jul 2023, 23:29 Arbel Arad, @.***> wrote:

until i can get a pi pico there probably won't be much progress. though i hear the raspberry pi availability is starting to recover now.

— Reply to this email directly, view it on GitHub https://github.com/sb-ocr/diy-spacemouse/issues/1#issuecomment-1626159903, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAPIOP3UXOLWUDRXCPF3SKDXPB5SZANCNFSM6AAAAAAZSNJRKU . You are receiving this because you commented.Message ID: @.***>

LoganFraser commented 1 year ago

You don't need a pico, any rp2040 will work. I'm using a Seeeduino Xiao RP2040 for mine, same footprint as the bom part just no qwiic socket. The "official" version is called the Pi Tiny. https://www.pishop.ca/product/tiny-2040-2-mb/

MohrJonas commented 1 year ago

I'm working on it occasionally. The USB parts seems to work alright, but I'm having trouble getting the pico to read the sensor

LoganFraser commented 10 months ago

I'm working on it occasionally. The USB parts seems to work alright, but I'm having trouble getting the pico to read the sensor

Did you make any progress on this? This seems like a useful device somewhat hindered by mouse/keyboard emulation restrictions.

MohrJonas commented 10 months ago

Unfortunately, no

Arbel-arad commented 10 months ago

i received the rp2040 board, but i don't have the sensors to test with them. i will check if the interface driver works anyway, but it won't be very useful.

BeardedCobra48 commented 10 months ago

Hei there :D

Im also bit interested! :D

I bought a old CadMan Space Mouse (I love the looks and feling of it! even more than the one of the new 3dconnexion i use at work!) SHAME ON 3Dconnexion for killing old hardware just because they can! :(

I am wondering if I can get my CAD Man to work like a new 3d connexion with a emulator like this?

Also I would love this to get big and spread it all accross the internet!

there are a lot of old 3d space mouses around that are just not usable because 3d connexion decided to kill them!!

Lets tell everyone there is a solution and fck 3dconnexion in their ass !! damn they deserve it!!

Ryder17z commented 10 months ago

@BeardedCobra48 If I may be blunt: they do not even support modern products properly - why else would people be asking for over a decade to add dead-zone control? (See thread from 2008)

The current solution is really janky and involves modifying the config files for the official driver: https://forum.3dconnexion.com/viewtopic.php?t=16821 (but this applies to EVERY axis input)

It was not resolved in 2021 and I highly doubt it will ever be fixed officially.

I do not know if this project supports dead-zone control, but it would be awesome if it could be added with each axis independently adjustable, as per my own testing using multiple "Space Mouse Mini" on multiple computers has revealed it really needs little/none for up/down/rotation and some for the other axis; otherwise as soon as I take my hand off the device, it is almost guaranteed to fling the view a mile away from the object I'm working on in Solidworks.

RivasMario commented 10 months ago

There is a value you can change in the code for dead zone. There is no official calibration test or setting for the spacemouse yet.

@LoganFraser how did you connect the seeduino without the qwik connector?

LoganFraser commented 10 months ago

I kind of got held up by the software somewhat being stalled so I shelved the project for now but I think just connecting to pins D4 and D5 should work after changing the pin assignment. 

image

I also made a 4 button version of the base if anyone is looking to add a few extra buttons.

https://github.com/LoganFraser/diy-spacemouse/tree/main/CAD/STEP

apadua commented 4 months ago

someone already made software for getting a pi pico to report and function as a full spacemouse (with software support) this should be easy to convert for your hardware and function without locking out the mouse. https://github.com/jfedor2/magellan-spacemouse

Can you tell me more about locking out the mouse? Are you saying when i deploy this code the normal mouse will stop moving? Have you tried working with it like this - does it break design flow significanly ( I assume it would)

A.