Joystick

MAC OSX spezifisches Forum
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
derRaab
Beiträge: 71
Registriert: 30.12.2004 13:45
Wohnort: Berlin
Kontaktdaten:

Joystick

Beitrag von derRaab »

Hallo Leute,

ich war auf der Suche nach alternativen zu den Joystick-Befehlen von Purebasic und habe auch das ein oder andere Beispiel gefunden wie ich die WinAPI stattdessen verwende.

Jetzt habe noch Fragen zum Thema Joystick und WinAPI:

Mein JoyPad liefert mir für die X- und Y-Achsen jeweils Werte von 0 - 65535 zurück. Ist das ein festgelegter Bereich oder ist das für jeden Joystick anders? Falls ja müsste ich wohl zu Beginn eine Joystick-Kalibrierung durchführen lassen.

Was liefert wohl ein Digitaler Joystick zurück? Also z.B. ein Gamepad ohne Analogstick? Gibt es da dann nur noch -1, 0 und 1 wie bei Purebasic?

Zu den Purebasic-Joystickbefehlen noch eine Frage: Funktionieren die auch auf Mac?

Vielleicht könnt Ihr mir ja weiterhelfen?

Danke.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

die PB JoyStickBefehle funktionieren in Windows, Linux, AmigaOS

ps: Das steht übrigens auch in der Hilfe jeweils unter auf den Seiten
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
derRaab
Beiträge: 71
Registriert: 30.12.2004 13:45
Wohnort: Berlin
Kontaktdaten:

Beitrag von derRaab »

Danke. Mir ist nie aufgefallen das manchmal auch Mac OSX dabei steht. Aber Antworten auf die anderen Fragen würden mir schon noch weiterhelfen. :mrgreen:
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Re: Joystick

Beitrag von nicolaus »

derRaab hat geschrieben:...
Was liefert wohl ein Digitaler Joystick zurück? Also z.B. ein Gamepad ohne Analogstick? Gibt es da dann nur noch -1, 0 und 1 wie bei Purebasic?
....
Ja genau ein Digitaler Joy liefert nur 0 oder 1.
0 = nix passiert
1 = es passiert was (also z.b. es wird ein knopf gedrückt)

Gruß,
Nico
Benutzeravatar
Ypser
XMas-Contest-Gewinner '03
Beiträge: 128
Registriert: 29.08.2004 14:35
Computerausstattung: Win7
Wohnort: Ingelheim
Kontaktdaten:

Beitrag von Ypser »

Die Joystick-befehle von PureBasic sind Müll!

Sieh lieber im CodeArchiv auf PureArea.net nach, da gibts was nettes, das man auch benutzen kann...
Bild
Benutzeravatar
derRaab
Beiträge: 71
Registriert: 30.12.2004 13:45
Wohnort: Berlin
Kontaktdaten:

Beitrag von derRaab »

@nicolaus: Das mit 0 und 1 gilt aber nur für Buttons und nicht für die Joysticks, oder? Da muß ich ja schon wissen ob links, mitte oder rechts z.B.

@Ypser: Tatsächlich habe ich schon ein schönes Beispiel auf PureArea gefunden. Trotzdem vielen Dank für den Tipp.

Die Fragen zu den X- und Y-Werte bis 65535 und zum Digitaljoystick würde ich gerne noch klären. :mrgreen:
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Also ich weiß nicht

Beitrag von Xaby »

Ein digitales Pad gibt genau das gleiche zurück wie die Analogen Sticks.

Ein Beispiel:

Ein Drehwiederstand an einem JoyStick, der die Werte -255 bis + 255 zurückliefert. Null ist nicht positiv, sondern neutral.

Und das D Pad liefert nur -255 und +255 zurück.

Das macht aber der Treiber, soweit ich weiß bzw. früher gab es auch extra Chips in den Controllern, damit sie unter DOS funktionieren.
Die haben dann die Zustände ausgegeben.
Und bei einem Analogen Stick ist eh ein AD-Wandler drin, der den Widerstand in digitale Zahlen wandeln muss.

Deshalb dürfte es keine Rolle spielen, was man da benutzt.
Kleiner Hinweis: Dafür gibt es die Kalibration und die Deadzone.

Wenn der User also den Maximalen Wert erreicht hat und das 1 sein sollte, dann okay. Dann muss das Spiel es eben so hinnehmen.
Da gleiche wäre bei einem verkeimten JoyStick, der sich nicht mehr richtig bewegen lässt :mrgreen:

:allright:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag von TomS »

Sorry, dass ich so in deinen Thread reinplatze, aber das is mir grade eingefallen.
Es gibt ja Sticks, die haben so einen Schieberegler um z.B den Schub von einem Flugzeug zu steuern. Kann man den auch irgendwie abfragen?
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Es ist ganz einfach:

Das System ist folgender Maßen:

Knöpfe und Achsen.

ein Knopf kann nur 0|1 (Gedrückt oder nicht)
Eine Achse kann sagen wir ein WORD oder so wiedergeben.

Genau wie Minen in Stiften, oder die Maus.
X und Y sind variierbar, aber Mausknopf kann nur gedrückt sein oder nicht.

Die Schubkontrolle ist also eine Achse.


Man muss nur herausbekommen wieviele Achsen ein Device hat.

Ein D-PAD kann als 4/8 Knöpfe definiert sein oder als Achse.
Je nach Hersteller. Deshalb gibt es auch bei den meisten guten Spielen immer eine Tastenbelegungsmöglichkeit.

Ich kenne mich mit den Treibern nicht genauer aus, kann mir aber vorstellen, dass man jeden Knopf eines Pads/Sticks so definieren kann:

- ID
- MaxWert
- NullStellung
- MinWert
- Wert

Tasten hätten dann nur 0 und 1 oder halt einen definierten MaxWert.

Schubkontrolle kann aber auch wie ein Mausrad funktionieren, immer abhängig von der Hardware.

>> Was wir so oder so brauchen wäre:

http://www.purebasic.fr/german/viewtopi ... 3&start=10

Wer macht mit und wer kann helfen? :allright:
Kinder an die Macht http://scratch.mit.edu/
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

TomS hat geschrieben:Es gibt ja Sticks, die haben so einen Schieberegler um z.B den Schub von einem Flugzeug zu steuern. Kann man den auch irgendwie abfragen?
völlig richtig.
anständige moderne joysticks haben 4(!) achsen.
es ist vielleicht 7 jahre her, dass ich mir den letzten sidewinder gekauft hab,
und ich nehme nicht an, dass sie die achsen reduziert haben.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten