Archiv verlassen und diese Seite im Standarddesign anzeigen : Joystick auslesen in VB.NET
Joystick
20.11.2004, 20:39
Ich möchte in VB.NET ein Programm schreiben um meinen Joystick per USB auszulesen.
Ich bestitze den SideWinder Precision 2 von MS.
Kann mir jemand dazu einen nützlichen Hinweis oder sogar einen Quelltext dazu geben.
Guck doch mal ins Windows SDK, da steht das alles drin. Ich selbst programmiere mit Delphi, da heisst die einzubindende Unit mmsystem.pas, genauso wie der passende C++-Header mmsystem.h
mfG
cht
Danke für die Antwort
Werde mal reinschauen
http://www.activevb.de/tipps/vb6tipps/tipp0459.html
http://www.activevb.de/tipps/vb6tipps/tipp0524.html
Beides recht gut verständlich. Ist aber nicht ganz für VB.Net gedacht, aber lässt sich eigentlich problemlos übertragen.
Gruß, Trabukh
Die sollten funktionieren, der Code auf diesen Seiten ist nämlich schlicht und einfach eine Headerübersetzung des Joystick-relevanten Teils von mmsystem.h (sah so aus, keine Ahnung obs vollständig und richtig ist). Wozu du welche dieser Routinen brauchst sagt dir dann das SDK.
mfG
cht
Ok, das mit dem auslesen dieses Programms funktioniert jetzt.
(http://www.activevb.de/tipps/vb6tipps/tipp0459.html )
Ich habe das ganze noch auf eine 3. Achse ausgeweitet.
Habe dazu nur im Programm bei X bzw. Y Achsen Befehlen das gleiche nochmal mit "Z" hingeschrieben, was auch einwandfei mit der Schubkontrolle auf dem Stick läuft.
Nun möchte ich aber die 4. Achse auf meinen Stick (Seitenruder) auch noch miteinbinden. Probierte dazu einfach noch eine neue Variabel nach dem gleichen Muster wie bei X,Y und Z einzubinden. Funktioniert aber leider nicht.
Hätte mir jemand noch einen Tipp, wie man die 4.Achse auch ansprechen kann???
Es gibt ausser JOYINFO noch eine JOYINFOEX Struktur. Die ist so aufgebaut:
typedef struct joyinfoex_tag {
DWORD dwSize;
DWORD dwFlags;
DWORD dwXpos;
DWORD dwYpos;
DWORD dwZpos;
DWORD dwRpos;
DWORD dwUpos;
DWORD dwVpos;
DWORD dwButtons;
DWORD dwButtonNumber;
DWORD dwPOV;
DWORD dwReserved1;
DWORD dwReserved2;
} JOYINFOEX;
R ist dabei das Seitenruder, U und V sind weitere Achsen, falls dein Joystick noch mehr hat.
Die passende Auslesefunktion ist:
MMRESULT joyGetPosEx(UINT uJoyID, LPJOYINFOEX pji);
Genaueres steht -wie gesagt- im WinSDK.
mfG
cht
hi
nur mal eine dumme frage wo find ich den dieses WinSDK?
bin neu :-/
mgf Houddy
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.