Forum: Mikrocontroller und Digitale Elektronik 6DOF-Maus Buttons auslesen über USB-HID


von derkerl (Gast)


Lesenswert?

Hallo,

ich versuche gerade, die Werte einer 6DOF-Maus (3Dconnexion 
SpaceNavigator) über USB auszulesen. Ich programmiere auf einem 
Beaglebone mit dem betriebssystem QNX und verwende die Befehle aus der 
(undokumentierten?) Headerdatei "hiddi.h"

Mein Programm steht soweit, dass ich mit dem Befehl
1
hidd_get_usage_value( report_instance, NULL, HIDD_PAGE_DESKTOP, HIDD_USAGE_X, report_data, &x);
den X-Wert und genauso die Werte für Y,Z,RX,RY und RZ auslesen kann.

Jetzt will ich noch die Werte der beiden Buttons, die an der Maus 
angebracht sind, auslesen, aber komme dabei nicht weiter. Der selben 
Logik wir oben folgend habe ich den Befehl
1
hidd_get_usage_value( report_instance, NULL, HIDD_PAGE_BUTTONS, 0x01, report_data, &button);
 probiert, der leider zu keinem Ergebnis führt.

Auch mit der folgenden Zeile:
1
hidd_get_buttons(report_instance, NULL, HIDD_PAGE_BUTTONS, report_data, cbtnbuf, &button);
 hatte ich keinen Erfolg.

Weiß jemand mehr darüber, wie ich die Button-Werte auslesen kann? Oder 
noch besser, gibt es irgendwo eine Einführung / Tutorial zu den 
hidd_*-Funktionen (aus Header hiddi.h)?


Liebe Grüße

PS:
Meinen bisherigen Code habe ich zu einem guten Teil von hier "geklaut":
https://www.ram.ewi.utwente.nl/ECSSoftware/luna-docs/extreme3dpro_8cpp_source.html

von derkerl (Gast)


Lesenswert?

Sorry, jetzt fühle ich mich echt doof - zehn Minuten nachdem ich das 
hier geschrieben habe merke ich, dass ich den halben Tag nur einem 
Tippfehler hinterhergelaufen bin.

Für alle interessierten:

Der Befehl
1
hidd_get_usage_value(...,HIDD_PAGE_BUTTONS,0x01,...)
 gibt  den Wert des ersten Buttons zurück, der selbe befehl mit 0x02 den 
zweiten Button und so weiter.

LG

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.