AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi JoyStick - Position des Sticks "sensibel" abfragen...?
Thema durchsuchen
Ansicht
Themen-Optionen

JoyStick - Position des Sticks "sensibel" abfragen...?

Ein Thema von LDericher · begonnen am 2. Mai 2009 · letzter Beitrag vom 2. Mai 2009
 
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#1

JoyStick - Position des Sticks "sensibel" abfragen

  Alt 2. Mai 2009, 15:24
Also,

Ich brauche eine JoyStick-Unterstützung für mein Programm, wie laut SuFu schon einige vor mir...
Habe mich mal ans MMSystem rangemacht und bin angenehm berrascht von der Einfachheit der Lösung. Hab mir auch gleich mal eine Klasse geschrieben, die alles kann, was ich brauche.

Na ja, FAST alles

Problem: Folgendermaßen lädt sich meine Klasse alle Stati von Buttons/Achsen rein:
Delphi-Quellcode:
function GetState(JoyID:Cardinal; Device:TJoyInfoEx; DeviceInfo:TJoyCaps; Mode:integer):TAllState;
begin
if(DeviceInfo.wCaps and JOYCAPS_HASZ) <> 0
  then Device.dwSize := sizeof(TJoyInfoEx);
Device.dwFlags := Mode;
JoygetposEx(JoyID, @Device);
Result.AxisState:=GetAllAxis(Device, DeviceInfo);
Result.ButtonState:=GetAllButtons(Device, DeviceInfo);
end;
Allerdings sind meine Achsenstati immer nur 0, 32267 oder 65535; diese Ergebnisse muss ich dann ja als vollen Ausschlag interpretieren.

Nun hätte ich aber gern eine Lösung, die die Achsen etwas sensibler abfragt, und z.B. das volle Spektrum 0..65535 ausnutzt. wobei die "Grundpositionen" Links, Mitte, Rechts gleichbleiben, oder eben vergleichbar.

(Am Ende will ich die Rückgabewerte auf den Bereich -100..100 begrenzen, sodass ich den Mauszeiger anhand der Fensterbreite und -höhe und des Rückgabewerts setzen kann, den Part übernehme dann aber ich )

Wenn irgendwie möglich, will ich auf weitere DLLs/Module in meinem Programm verzichten, lasse mich aber auch umstimmen, falls unmöglich.

BTW: Ich weiß, dass die von mir gewollte Abfrage möglich ist; siehe dazu Systemsteuerung/Gamecontroller: Da wird das Kreuz auch relativ zum Stickausschlag gesetzt.

Falls es Unklarheiten an der Fragestellung geben sollte, postet das als Feedback, damit ich mich genauer ausdrücken kann.

Danke im Voraus,
Euer LDer.

Edit: Zur Belohnung gibts hier dann meine - fertige - Klasse als Open-Source !
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz