Forum: PC-Programmierung USB-Joystick was ist möglich


von Ralf G. (old-school) Benutzerseite


Lesenswert?

Hallo zusammen,

für ein Projekt benötige ich ein Einfaches Eingabegerät
für das ich je einen Analogen (Poti 0-100%) Eingang und 10 Tasten 
benötige.

Ich teste gerade einem einfachen USB-Joystick (HAMA PC-Gamepad) ...

Zum auslesen verwende ich die JoyGetPosEx.DLL
1
TYPE TJOYINFOEX
2
   dwSize AS LONG
3
   dwFlags AS LONG
4
   dwXpos AS LONG
5
   dwYpos AS LONG
6
   dwZpos AS LONG
7
   dwRpos AS LONG
8
   dwUpos AS LONG
9
   dwVpos AS LONG
10
   dwButtons AS LONG
11
   dwButtonNubmer AS LONG
12
   dwPOV AS LONG
13
   dwReserved1 AS LONG
14
   dwReserved2 AS LONG
15
END TYPE
16
17
DECLARE FUNCTION JoyGetPosEx LIB "WINMM" ALIAS "joyGetPosEx" (uJoyID AS LONG, JoyInfo AS TJOYINFOEX) AS LONG

von den 6 möglichen Analoge Eingänge kann ich 4 einlesen ,
über dwButtons kann ich alle 12  Tasten verwenden, es stehen mir somit 
12 Leitungen für eine Matrix zu Verfügung und über dwPOV ein digitale 
Steuerfeld welches folgende Werte liefert:

mittig = 65535
oben  = 0
unten = 1800
links = 27000
rechts = 9000
alle zusammen = 4500
habe mir den Wert Binär anzeigen lassen, bin aber noch nicht ganz 
dahinter gekommen, ist aber auch erst mal nicht so wichtig.

---------------
Für mein Projekt habe ich vor einen bzw. mehrere FUNK-Jojstick als 
Materialspender zu verwenden ...

Welchen FUNK-Joystick könnt Ihr mir empfehlen um möglichst viele 
Funktionen mit möglichst kleinem Geld zu bekommen ...

Gruss Ralf

von Ralf G. (old-school) Benutzerseite


Lesenswert?

Hallo

das kommt davon wenn man auf Zahlen schaut und diese in HEX oder BIN 
versucht zu deuten ... und dabei grinst ein das Ergebnis förmlich an :-)
1
Werte vom dwPOV 
2
3
mittig = 65535(-1)
4
oben   = 0      = 0° oder auch 360°
5
rechts = 9000   = 90°
6
unten  = 1800   = 180°
7
links  = 27000  = 270°
8
9
dwPOV / 100 ist einfach nur eine Winkelangabe ...

gibt es denn Joysticks die diesen Wert analog 0-360° überhaupt erzeugen, 
bislang habe ich immer nur Pads gesehen, welche die vier Richtungen als 
Tasten übergeben ...

Gruss Ralf

von Ralf G. (old-school) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo

für alle die mal ein JoyStick-Test-Tool benötigen ...

http://greinert.hopto.org/fileadmin/rq/joystick_1-1-001.exe

Gruss Ralf

von PCFrau (Gast)


Lesenswert?

ich hätte das was billiges für Dich, ob es was gescheites ist kann ich 
nicht sagen
2.4G wireless Shock Controller Joypad Gamepad USB Receiver
http://www.ebay.de/itm/2-4G-wireless-Shock-Controller-Joypad-Gamepad-USB-Receiver-For-PC-Computer-Black-/280930028778?_trksid=p5197.m1992&_trkparms=aid%3D111000%26algo%3DREC.CURRENT%26ao%3D1%26asc%3D14%26meid%3D5702349148951912586%26pid%3D100015%26prg%3D1006%26rk%3D1%26sd%3D280930028778%26

32 Tasten an einem GamePad, hast Du da nicht ein wenig in deinem Tool 
überbieten oder wie kommst Du darauf ?

von Ralf G. (old-school) Benutzerseite


Lesenswert?

@PCF
> 2.4G wireless Shock Controller Joypad
das sieht doch gut aus ... für das Geld kann man nicht viel falsch 
machen ... werde ich zum testen mal bestellen und dann berichten ...

32 Bit/Tasten ist die Vorgabe vom JoyGetPosEx ... glaube zwar auch nicht 
das es GamePads gibt die so viele Tasten haben werden ...

Gruss Ralf

von Oliver H. (Firma: OliverHeinrichs.de) (dobson)


Lesenswert?

Ralf G. schrieb:
> dwPOV / 100 ist einfach nur eine Winkelangabe ...

Sagt doch der Bezeichner bereits. POV = Point of View

von Oliver H. (Firma: OliverHeinrichs.de) (dobson)


Lesenswert?

Ralf G. schrieb:
> 32 Bit/Tasten ist die Vorgabe vom JoyGetPosEx ... glaube zwar auch nicht
> das es GamePads gibt die so viele Tasten haben werden ...

Mit VUSB hab ich mal testweise nen Gamepad-Controller mit 64 Digitalen 
und 8 Analogen Eingängen für den Flight Simulator gebastelt.

MJoy hieß das ganze. Einfach mal nach MJoy16 googeln. Da wirst du 
schnell fündig. Hoffe es hilft ein wenig, wenn auch kabelgebunden.

EDIT: Ach ja, MJoy war nicht mein Projekt. Ich habe meines damals nur 
daran angelehnt/aufgebaut.

von Verwirrter Anfänger (Gast)


Lesenswert?

Ralf G. schrieb:
> gibt es denn Joysticks die diesen Wert analog 0-360° überhaupt erzeugen,
> bislang habe ich immer nur Pads gesehen, welche die vier Richtungen als
> Tasten übergeben ...

Es gibt auf jeden Fall auch Joysticks die das in 8 Segmente einteilen. 
Vielleicht gibt es dann auch für Hardcore Gamer welche, die das in 16 
einteilen.

von Ralf G. (old-school) Benutzerseite


Lesenswert?

@ Oliver Heinrichs

wenn man es weiß, erklärt es sich von selber ...
http://msdn.microsoft.com/en-us/library/ms709358%28v=vs.85%29.aspx
hatte aber die Beschreibung nicht gleich gefunden ... eben falsch 
gesucht.

Gruss Ralf

von Oliver H. (Firma: OliverHeinrichs.de) (dobson)


Lesenswert?

Ich kannte das aber auch nur aus Quake 3.

Jaja, das waren noch Zeiten...

von Ralf G. (old-school) Benutzerseite


Lesenswert?

@  Oliver Heinrichs

> 64 Digitalen und 8 Analogen Eingängen

die bekomme ich aber nicht alle mit der JoyGetPosEx(WINMM.DLL) 
eingelesen ?!
welche DLLs nutzt ihr dafür ...

Gruss Ralf

von Oliver H. (Firma: OliverHeinrichs.de) (dobson)


Lesenswert?

Da muss ich passen. Das haben Windows und der Flight Simulator X 
überraschenderweise ganz gut alleine hinbekommen.

Apropos. Ich flieg ein Ründchen.
Einen schönen Abend wünsch ich euch...

von Oliver H. (Firma: OliverHeinrichs.de) (dobson)


Lesenswert?

Irgendwie komisch...
Wenn der Flight Simulator abstürzt...

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.