USB Magellan Space Mouse

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
Post Reply
User avatar
Poppa
Posts: 57
Joined: Sun Apr 22, 2018 5:51 pm
Location: hamburg, germany

Re: USB Magellan Space Mouse

Post by Poppa »

Hallo Werner,

Beim Start des Programms Controller.exe stehen die kleinen Kreuze jeweils im Zentrum der Quadrate.
ControllerExeStart.jpg
ControllerExeStart.jpg (12.25 KiB) Viewed 1318 times
Nach Berührung der SpaceMouse spingen sie jeweils auf die linke obere Ecke. Es erscheinen die Kreise für die Tasteneingabe.
ControllerExeTouch.jpg
ControllerExeTouch.jpg (19.42 KiB) Viewed 1318 times
Das Controller Programm wertet alle Testen korrekt aus (Taste 12 gibt es bei mir nicht). Taste 4, die das 3Dconnexion Menü aufruft, hat eine Art toggle Funktion. Solange das Menü angezeigt wird bleibt 4 aktiv.

Druck gegen den Ball in +X Richtung bewegt das Kreuz des linken Quadrats auf der oberen Kante nach rechts.
Druck gegen den Ball in -X Richtung bewegt das Kreuz des rechten Quadrats auf der linken Kante nach unten.
Bewegung des Balls in +Y Richtung lassen beide Kreuze verschwinden.
Bewegung des Balls in -Y Richtung bewegt das Kreuz des rechten Quadrats auf der linken Kante nach unten.
Bewegung des Balls in +Z Richtung bewegt das Kreuz des linken Quadrats auf der linken Kante nach unten.
Bewegung des Balls in -Z Richtung lassen beide Kreuze verschwinden.

Das Programm Spacemouse.exe gibt für alles was ich mache die gleichen Antworten.

Bewegung nach +X

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
Bewegung nach -X

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
Bewegung nach +Y

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
Bewegung nach -Y

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
Bewegung nach +Z

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
Bewegung nach -Z

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
Rotation um X-Achse nach vorn

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
Rotation um X-Achse nach hinten

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
Rotation um Y-Achse nach links

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
FEHLER
FEHLER
Rotation um Y-Achse nach rechts

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
FEHLER
FEHLER
Rotation um Z-Achse nach links

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
Rotation um X-Achse nach rechts

Code: Select all

HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
HidP_GetCaps...OK}
HidP_GetButtonCaps...OK}
HidP_GetValueCaps...OK}
HidP_GetUsages...OK}
pValueCaps[i].Range.UsageMin=53
pValueCaps[i].Range.UsageMin=52
pValueCaps[i].Range.UsageMin=51
pValueCaps[i].Range.UsageMin=50
pValueCaps[i].Range.UsageMin=49
pValueCaps[i].Range.UsageMin=48
FEHLER
FEHLER
FEHLER
Gruß, Poppa
wmayer
Founder
Posts: 20244
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: USB Magellan Space Mouse

Post by wmayer »

Nach Berührung der SpaceMouse spingen sie jeweils auf die linke obere Ecke. Es erscheinen die Kreise für die Tasteneingabe.
Es ist aber schon mal gut, dass er Knöpfe findet.
Das Controller Programm wertet alle Testen korrekt aus (Taste 12 gibt es bei mir nicht). Taste 4, die das 3Dconnexion Menü aufruft, hat eine Art toggle Funktion. Solange das Menü angezeigt wird bleibt 4 aktiv.
Heißt das, wenn man die Knöpfe drückt, werden diese Rot eingefärbt? Wenn ja, wären wir einen riesigen Schritt weiter.
Druck gegen den Ball in +X Richtung bewegt das Kreuz des linken Quadrats auf der oberen Kante nach rechts.
Druck gegen den Ball in -X Richtung bewegt das Kreuz des rechten Quadrats auf der linken Kante nach unten.
Bewegung des Balls in +Y Richtung lassen beide Kreuze verschwinden.
Bewegung des Balls in -Y Richtung bewegt das Kreuz des rechten Quadrats auf der linken Kante nach unten.
Bewegung des Balls in +Z Richtung bewegt das Kreuz des linken Quadrats auf der linken Kante nach unten.
Bewegung des Balls in -Z Richtung lassen beide Kreuze verschwinden.
Gut, dass sich dabei irgendetwas tut. Die Werte für das Fadenkreuz stammen von einem Logitech RumblePad und passt für die Space-Maus offenbar nicht.
User avatar
Poppa
Posts: 57
Joined: Sun Apr 22, 2018 5:51 pm
Location: hamburg, germany

Re: USB Magellan Space Mouse

Post by Poppa »

wmayer wrote: Sun May 06, 2018 4:43 pm Heißt das, wenn man die Knöpfe drückt, werden diese Rot eingefärbt?
Ja genau. Bei Kopfdruck werden die Kreise rot. Wie bereits geschrieben bleibt 4 solange rot wie das 3Dconnexion Menü offen ist.
wmayer wrote: Sun May 06, 2018 4:43 pmGut, dass sich dabei irgendetwas tut.
Das dachte ich mir auch. Ich war auch ganz überrascht dass sich da etwas tat.
mikbic
Posts: 4
Joined: Sun May 06, 2018 10:19 pm

Re: USB Magellan Space Mouse

Post by mikbic »

Hallo Poppa und Werner,

ich handle aus einer sehr vergleichbaren Motivation wie Poppa und bin froh, euren Thread zu lesen (nach soetwas suche ich schon seit Wochen): Professionell nutze ich in meinem Ingenieursberuf seit Jahren CATIA V5 sowie eine neuere 3D-Maus (SpaceMouse Pro). Privat dürfte ich die gleiche oder zumindest eine vergleichbare 3D-Maus wie Poppa nutzen (SpaceMouse Plus XT USB mit der guten alten Magellan-Steuerung; aus ausgemustertem Unternehmensbestand), welche ich auf meinen privaten Rechnern unter Win10 64bit respektive Win7 32bit in FreeCAD 0.17 zum Laufen kriegen möchte. Ich versuche gerade euren aktuellesten Stand nachzuvollziehen (die exe-Dateien von Werner funktionieren auch bei mir und ich erhalte ähnliche Ergebnisse wie Poppa) und bin gespannt auf die weitere Entwicklung :) .

Gruß mikbic
wmayer
Founder
Posts: 20244
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: USB Magellan Space Mouse

Post by wmayer »

In der neuen Version erzeugt das Programm die Datei C:\Temp\mouse.zip und sichert darin die ganzen Speicherblöcke der RawInput-Events. Ich hoffe, dass ich somit die Magellan-Maus simulieren kann und wir das Ping-Pong-Spiel etwas abkürzen können.

Wenn das Verzeichnis C:\Temp nicht existiert, dann bitte von Hand erstellen. Danach das Programm starten und einfach alle Tasten und Bewegungen durchführen.
Attachments
Controller.exe.zip
(40 KiB) Downloaded 46 times
User avatar
Poppa
Posts: 57
Joined: Sun Apr 22, 2018 5:51 pm
Location: hamburg, germany

Re: USB Magellan Space Mouse

Post by Poppa »

Hallo Werner,

na da bin ich ja einmal gespannt.

Gruß, Poppa
Attachments
mouse.zip
(61.66 KiB) Downloaded 47 times
wmayer
Founder
Posts: 20244
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: USB Magellan Space Mouse

Post by wmayer »

@Poppa
Poppa wrote: Mon May 07, 2018 4:54 pm Hallo Werner,

na da bin ich ja einmal gespannt.

Gruß, Poppa
Naja, hat leider nicht viel gebracht. Aber ich habe jetzt endlich herausgefunden, wie man an die Translations- und Rotationsdaten kommt. Die Werte von pValueCaps.Range.UsageMin sind immer zwischen 48 und 53 und dabei bezeichnen sie die Koordinatenachsen X,Y,Z und die Winkel um diese RX,RY,RZ.
Attachments
SpaceMouse.exe.zip
(44 KiB) Downloaded 40 times
User avatar
Poppa
Posts: 57
Joined: Sun Apr 22, 2018 5:51 pm
Location: hamburg, germany

Re: USB Magellan Space Mouse

Post by Poppa »

Hallo Werner,

Gestern war leide keine Zeit mehr zum Testen. Ich mache mich nachher gleich daran.

Gruß, Poppa
User avatar
Poppa
Posts: 57
Joined: Sun Apr 22, 2018 5:51 pm
Location: hamburg, germany

Re: USB Magellan Space Mouse

Post by Poppa »

Hallo Werner,

Anbei die Datei Output.txt
Ich hoffe Du kommst damit weiter.

Liebe Grüße und noch ein schönes (langes) Wochenende,
Poppa
Attachments
Output.txt
(90.41 KiB) Downloaded 37 times
wmayer
Founder
Posts: 20244
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: USB Magellan Space Mouse

Post by wmayer »

Danke fürs Testen. Beim Lesen der Datei habe ich bemerkt, dass die Programm-Version ein paar Flüchtigkeitsfehler enthält. Wäre nett, wenn Du den Test mit der korrigierten Fassung nochmal wiederholen könntest.

Nichtsdestotrotz habe ich einen gewissen Erkenntnisgewinn zu verzeichnen. Alle Werte liegen im Bereich 0 bis 65535. Allerdings kann ich mir auf die extremen Sprünge/Unterschiede der Werte noch keinen Reim machen.
Attachments
SpaceMouse.exe.zip
(44 KiB) Downloaded 45 times
Post Reply