Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: So Jul 20, 2025 08:43

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 03:48 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

ich hab an den USB Port ein Joypad angeschlossen, in der Systemsteuerung wird es auch richtig erkannt und beim testen funktionieren auch alle knöpfe... :)

Nur, wie kann ich jetzt aus Delphi heraus auf die eingaben des JoyPads reagieren??? *guckt unsicher*

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 08:26 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Ich glaub man kann dafür entweder Speicherstellen abfragen oder das mit ner Komponente regeln. Ich hab hier irgendwo noch n Beispiel rumfliegen glaub ich. Ich kann wohl mal gucken ob ich das hier irgendwo hab und dir das dann schicken.

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 09:09 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Es gibt 3 mir bekannte Möglichkeiten:

1 - Ports direkt abfragen, jedoch kann man dann nicht auf die neuen Eigenschaften zurückgreifen, weshalb einige Joysticks auch einen eigenen Treiber haben. Ausserdem braucht man aus Sicherheitsgründen bestimmte Treiber, um aus einer Anwendung direkt Ports abzufragen. (Win 2k, WinNT, WinXP)
2 - Unit MMSystem enthält Funktion für den Zugriff auf die Josticks.
3 - Verwenden von DirectInput

In der GLScene ist die Unit joystick.pas enthalten, die auch für sich alleine genutzt werden kann. Diese arbeitet über die Unit MMSystem, was ganz gut funktioniert. Der Nachteil ist, das dort nur standarisierte Funktionen, also max. 4 Buttons und 3 Achsen, abgefragt werden können. Daher habe Ich gerade die Unit DXInput aus DelphiX verwendet, weil dort zwischen DirectInput und der Verwendung MMSystem umgeschaltet werden kann. Die Unit DXInput kann nach kleineren Änderungen auch für sich alleine kompiliert werden. Leider kann ich im Moment keine Schalter bei aktivierten DirectX abfragen, die Achsen gehen jedoch. Bei der Verwendung MMSystem geht jedoch alles.

Gruß
KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 15:12 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

mh... also versteh ich das jetzt richtig das man mit MMSystem nur 4 Buttons abfragen kann, oder war das das Limit von GLScene + MMSystem???

Gibt es denn irgendwo ne kleine Doku über sowas wie das mit MMSystem/DirectInput machbar ist??

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 16:05 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Nein, das war eine Einschränkung der GLScene. Die Implementierung in DelphiX, verwendet unterem anderen auch die Unit MMSystem, waren mehr Buttons möglich. Mein Joystick hat 8 und die konnte ich alle abfragen.

Doku kenn ich jetzt nur MSDN.

KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 20:34 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

bin grad dabei mich nen bissel darein zu finden... aber, schon die funktion joySetCapture meint dauernt das ich ne falsche JoystickID benutze.. hab alle IDs durchprobiert, keine geht...

Allerdings hab ich auch nen USB-Joystick, keinen Analogen... kann es daran liegen??
und.. was kann ich da machen?

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 21:07 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hab's hinbekommen :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 21:32 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

ein problem hab ich dochnoch...

In der MMSystem.pas sind zwar Konstanten für bis zu 32 Buttons definiert.. allerdings wird keine Message geschickt wenn z.B. Button5 gedrückt wird... muß man da evtl irgendwas erst einstellen?

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 21:59 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Soo.. und nochmal ich :)

also ich hab das gefühl das das MMSystem veraltet, bzw unausgereift ist...

denn zum einen gehen ja wie gesagt nur 4 von 12 Buttons... aber:

1.) Es kann zwar die Z-Position, allerdings nicht die Z-Rotation.
2.) Es kann so wie ich das sehe nur Digitale Buttons, keine analogen.
3.) Es kann (oder ich hab KA wie ;) ) kein ForceFeedback.. bzw Rumbledingsda *g*

Bleibt mir da jetzt nurnoch DirectInput, oder mach ich einfach was falsch, bzw übersehe was???

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 22:19 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Die MMSystem ist nicht veraltet, sondern bietet halt ganz einfach nur rudimentären Joysticksupport, und da gehören Sachen wie analoge Buttons (obwohl ich bisher noch keinen Joystick mit nem analogen Button gesehen hab....) oder ForceFeedback und spezielle Achsen halt nicht dazu.
Wenn du solche Features nutzen willst, dann wirste um DirectInput wohl nicht herumkommen!

P.S. : Ich glaub es vor Kurzem schonmal gesagt zu haben : Bitte nutz die EDIT-Funktionen anstatt dauernd neue Posts zu machen.Das hilft der Übersicht.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 22:23 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Zitat:
obwohl ich bisher noch keinen Joystick mit nem analogen Button gesehen hab....


Dann schau dir mal die PS2 oder XBox Joypads an ;)

Zitat:
Wenn du solche Features nutzen willst, dann wirste um DirectInput wohl nicht herumkommen!


mh... gibt es da irgendwo ne Doku/Tutorial zu???

Zitat:
P.S. : Ich glaub es vor Kurzem schonmal gesagt zu haben : Bitte nutz die EDIT-Funktionen anstatt dauernd neue Posts zu machen.Das hilft der Übersicht.


Ok :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 22:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Zitat:
Dann schau dir mal die PS2 oder XBox Joypads an ;)

-_- Und was haben PS2 und Xbox-Pads mit dem PC zu tun?Ausserdem haben die auch keine analogen Buttons.Sowas gibts nicht, denn ein Button kann nur die Zustände "0" und "1" annehmen.Das was du meinst sind vielleicht die analogen Steuerelemente...das hat aber nix mit Buttons zu tun.

Zitat:
mh... gibt es da irgendwo ne Doku/Tutorial zu???

Wie so oft hilft hier <a href='http://www.google.de' target='_blank'>google</a>.Da hab ich auf Anhieb folgendes gefunden : <a href='http://home.arcor.de/tierezuhause/delphi4all/directx/dinput/index.htm' target='_blank'>http://home.arcor.de/tierezuhause/delphi4a...input/index.htm</a>

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 22:58 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Zitat:
-_-  Und was haben PS2 und Xbox-Pads mit dem PC zu tun?Ausserdem haben die auch keine analogen Buttons.Sowas gibts nicht, denn ein Button kann nur die Zustände "0" und "1" annehmen.Das was du meinst sind vielleicht die analogen Steuerelemente...das hat aber nix mit Buttons zu tun.


Man kann die PS2/XBox Pads einfach an den PC anschließen, per Adapter... so wie ich z.Z. mache ;) (btw gibt es das PS2 Pad auch für den PC)

Analoge Buttons gibt es natürlich!
Schonmal PS2 oder XBox gespielt???
z.B. bei DeadOrAlive.. desto Fester du den Knopf drückst, desto fester schlägst du..

oder bei DoA:XBV... Desto stärker du den Button drückst, desto näher zoomst du heran

MGS2: Lässt du den Button schnell los, schießt du.. lässt du ihn langsam los, ziehst du die waffe weg ohne schuss..

etc etc etc...

;)

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Majestic-12 [Bot] und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.014s | 19 Queries | GZIP : On ]