Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Wo ist die sechste Joystick-Achse? (https://www.delphipraxis.net/81465-wo-ist-die-sechste-joystick-achse.html)

MaOfDe 27. Nov 2006 20:59


Wo ist die sechste Joystick-Achse?
 
Hallo,

hab ein Gamepad mit 6 Achsen und in den entsprechenden APIs rumgewühlt, wie man Tasten und Achsen etc. abfragen kann.
Es klappt auch alles super, wie Buttons und Hats, aber leider werden immer nur 5 von 6 Achsen erkannt.
Ich hab es schon mit purer MMSystem-API und auch mit der SDL-API probiert mit dem selben Ergebnis: die 6. Achse bleibt bei 0, sprich nichts rührt sich.
Jedoch reagiert die 6. Achse in der Systemsteuerung vorzüglich unter den Namen "Wählscheibe".

Hat einer von Euch eine Idee, wo der Ursprung dieses Problems liegt?

dino 27. Nov 2006 21:06

Re: Wo ist die sechste Joystick-Achse?
 
hä? es gibt doch bloss 3 Dimensionen, wie gehen da 6 Achsen???

MaOfDe 27. Nov 2006 21:10

Re: Wo ist die sechste Joystick-Achse?
 
Zitat:

Zitat von dino
hä? es gibt doch bloss 3 Dimensionen, wie gehen da 6 Achsen???

öhm ja ok zur Erläuterung:
die ersten beiden Achsen (X,Y) sind die des ersten Analog-Sticks.
die nächsten beiden (Z,R) sind die des 2. Analogsticks und
die letzten beiden gehören zu den Schultertasten des Gamepads (U,V), welche die Intensität angeben, mit welcher der Spieler auf die entsprechende Taste drückt.

Achsen sind es nicht wirklich, jedoch werden Sie als solche erkannt, zumindest die U-Taste.

Elvis 27. Nov 2006 21:40

Re: Wo ist die sechste Joystick-Achse?
 
Zitat:

Zitat von dino
hä? es gibt doch bloss 3 Dimensionen, wie gehen da 6 Achsen???

Ich habe eine Weile einen 9 oder 10 Achsen Joystick benutzt. War leider ein prökeliger Saitek und ist mittlerweile schon kaputt.
"Normal" ist X/Y für links-recht/Hoch-Runter des Sticks.
Z ist die Schubkontrolle und R sind die Ruderpedale oder bei manchen Sticks das Drehen entlang der vertikalen Achse.
Alles was darüber hinausgeht ist bei jedem Stick anders.

@MaOfDe
Es könnte auch einfach sein, dass der Hersteller den gleichen Grundbausatz für mehrere Geräteklassen benutzt, auch wenn einige Geräte nicht sämtliche Achsen unterstützen (weil nix angebaut ist, was sich drehen, schieben,knubbeln,wasauchimmer lässt)

MaOfDe 27. Nov 2006 22:25

Re: Wo ist die sechste Joystick-Achse?
 
Zitat:

Zitat von Elvis
@MaOfDe
Es könnte auch einfach sein, dass der Hersteller den gleichen Grundbausatz für mehrere Geräteklassen benutzt, auch wenn einige Geräte nicht sämtliche Achsen unterstützen (weil nix angebaut ist, was sich drehen, schieben,knubbeln,wasauchimmer lässt)

Das mit dem Grundbausatz schließ ich aus, da mein GamePad eigentlich ein GameCube-Controller-zu-PC-Converter ist, da gibts nur eine Geräteklasse ^^.

Nunja und die rechte Schulter Taste (meine gesuchte 6. Achse) reagiert, wie gesagt wunderbar in der Systemsteuerung (also Systemsteuerung->GameControllers) als "Wählscheibe" des GamePads. Also sollte diese "Achse" ja irgendwie ansprechbar sein....

MaOfDe 28. Nov 2006 18:42

Re: Wo ist die sechste Joystick-Achse?
 
OK, hab rausgefunden, dass die Systemsteuerung bei mir DirectInput8 verwendet.
Und siehe da, DirectInput hat eine 6. Achse für mich, muss jetz jedoch sehen wie ich mit DirectInput klarkomme, is recht chaotisch diese Schnittstelle...

MaOfDe 29. Nov 2006 01:39

Re: Wo ist die sechste Joystick-Achse?
 
juuuuut,
hab ein bissel rumgekapselt und die Klasse TGamePad ist dabei rausgekommen, welche den Zugriff auf den JoyStick oder das GamePad erlaubt.
Diese Klasse verwendet die DirectInput8-Schnittstelle.
Unterstützt werden 6 Achsen (!!! ach is das schön ^^), 32 Buttons, 4 Hats (Steuerkreuze) und 2 Sliders (darunter meine gesuchte 6. Achse ^^).
Desweitern kann man die Range, eine DeadZone und eine MaxZone der Achsen festlegen.

Alles andere kann man sich in der Demo anschauen.

//edit
Komponente und Meinungen verschoben ins DelphiGL-Forum.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf