AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Gamepad-Emulator - Ansätze
Thema durchsuchen
Ansicht
Themen-Optionen

Gamepad-Emulator - Ansätze

Ein Thema von dacoder · begonnen am 12. Mai 2010 · letzter Beitrag vom 12. Mai 2010
Antwort Antwort
dacoder

Registriert seit: 12. Mai 2010
6 Beiträge
 
Delphi 2005 Personal
 
#1

Gamepad-Emulator - Ansätze

  Alt 12. Mai 2010, 04:53
Hallo liebe DP,

seit einigen Tagen plagt mich mein XBox360 Gamepad aufgrund seiner miserablen Deadzone, der Wunsch eine Wii-Remote am PC lauffähig zu machen und einfach das Interesse ein solches Projekt in Angriff zu nehmen.

Habe jetzt mehrere Tage darüber nachgedacht, Google verwendet und mir ein paar Informationen gesammelt.

Das Ziel:

Ein Eingabegerät-Emulator, welches die Eingaben des gewünschten Eingabegerätes abfängt, sie je nach gewünschter Konfiguration umwandelt und dann direkt an Windows weiter gibt. Dabei soll der Emu ein eigenständiges Eingabegerät im Geräte-Manager hinzufügen, welches dann z.B. auch in Anwendungen/Spielen anwählbar ist.

Nach Möglichkeit habe ich da an keine feste Konfiguration nach dem Prinzip "Click'n'Config" gedacht, sondern eher an eine eigene Skriptsprache, wodurch die Konfigurationsmöglichkeiten der Geräte weitaus erweitert werden.

Der bisherige Lösungsansatz:

Bisher habe ich wohl überdacht, dass eine eigene Skriptsprache, zunächst bei einer begrenzten Anzahl an Kommandos, nicht wirklich schwer zu realisieren ist. Diese kann man auch ganz gemütlich für die einzelnen Geräte in eine Konfigurationsdatei sichern. Das ist nicht das Problem an der ganzen Sache.

Sicherlich benötige ich zur Umsetzung einer solchen Geschichte einen Treiber, der direkt mit der Hardware kommuniziert. Natürlich könnte man sicherlich auch einfach durch das hooken aller Windowsprozesse alle Eingaben an das Tool weiterleiten, was nach meiner Ansicht ein sehr unschöner Lösungsweg wäre.

An sich besteht da ein zweites Problem. Nachdem ich mir jetzt den Kopf tagelang zerbrochen habe, wie so etwas gehen mag und ich keine Lösung bei Google gefunden habe, ist es an der Zeit höhere Mächte zu befragen =P.

Wie zur Hölle erschaffe ich ein eigenes Gerät im Gerätemanager, ohne, dass wirklich ein Gerät angeschlossen ist? Grundlegend kenne ich Anwendungen wie Daemon-Tools, Virtual CD und ähnliche, die Windows über einen Treiber vorgaukeln, es wäre ein Gerät angeschlossen, aber ich verstehe das grundlegende Prinzip dieser ganzen Geschichte nicht. Wie funktioniert das wirklich?

Danke vielmals:

Ich erwarte hier kein fertiges Programm oder vorgefertigten Programmcode, sondern eher einen kleinen Denkansatz, welcher mich, hoffe ich, zu meinem Ziel bringen könnte.

Sollte ich das Projekt dann realisieren können, dann stelle ich den Code gerne öffentlich zur Verfügung.

Danke im Voraus
Was kost' die Welt? *nachdenk*
Na dann nehm ich wohl lieber 'ne Coke o.O
  Mit Zitat antworten Zitat
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Gamepad-Emulator - Ansätze

  Alt 12. Mai 2010, 06:17
Also wenn ich dich richtig verstanden habe, willst du einen Controller, an deinen Rechner anschließen und dann damit bestimmt Aktionen ausführen.
Sowas ähnliches hatte ich schon mal programmiert, und zwar ging es bei mir darum, mit einem PS2 Controller Sounds abzuspielen, das ganze steht unter GPL und kannste dir mal hier http://philmacfly.site90.net/?page_id=47 runterladen uns dir anschauen wenn du möchtest.
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
dacoder

Registriert seit: 12. Mai 2010
6 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Gamepad-Emulator - Ansätze

  Alt 12. Mai 2010, 06:52
Hab mir mal den Source angeschaut. Man sollte die Hersteller des Gamepads erschlagen. Von 1000 brauch ich satte 240 DZ, damit das Ding nicht durch eine leichte seitliche Stellung des Analogpads - wohl bemerkt, die ist bei diesen Gamepads irgendwie normal - ausschlägt.

Aber ja, im Endeffekt ist es die Überlegung die Daten abzufragen, nur stellt sich die Frage, ob ich das auf Treiberlevel machen muss und durch einen Treiber ein komplettes Gamedevice zu emulieren habe, oder, ob man das evtl. auch ohne Treiber lösen kann.
Was kost' die Welt? *nachdenk*
Na dann nehm ich wohl lieber 'ne Coke o.O
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Gamepad-Emulator - Ansätze

  Alt 12. Mai 2010, 07:52
Ich könnte mir vorstellen, dass sich der WII-Controller (nicht der Nun-Chuck, sondern diese "Fernbedienung") einfach als Bluetooth-HID (Human Interface Device) registrieren lässt. Vielleicht reicht euch das schon aus.
  Mit Zitat antworten Zitat
dacoder

Registriert seit: 12. Mai 2010
6 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Gamepad-Emulator - Ansätze

  Alt 12. Mai 2010, 08:27
Ja Matze, da hast du wohl Recht. Die Wii-Fernbedienung funktioniert über Bluetooth ohne weitere Probleme, jedoch kann ich nichts einstellen.

Z.B. für die Verwendung einer Wii-Remote in einem gängigen Computerspiel wäre ein Mapping nicht schlecht, deswegen hatte ich ja die Idee des Device-Emus.

Hab jetzt noch ein bisschen weiter geschaut. Es gibt JoyToKey, welches an sich nicht schlecht ist. Eine Menge einstellbare Optionen, mitunter Deadzone. Ist aber in erster Linie dafür geeignet, um das Gamepad als Tastaturersatz zu nehmen. Einige Spiele sollen ja sowas nötig haben, wie zum Bleistift Devil May Cry 3.

Ansonsten dachte ich eher an etwas, womit man seine bisherigen Eingabegeräte einfach optimieren kann.
Was kost' die Welt? *nachdenk*
Na dann nehm ich wohl lieber 'ne Coke o.O
  Mit Zitat antworten Zitat
fnhofm

Registriert seit: 16. Mär 2006
Ort: Nürnberg
25 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Gamepad-Emulator - Ansätze

  Alt 12. Mai 2010, 08:58
Hi

auf dieser Seite http://johnnylee.net/projects/wii/ hat sich der Autor mit der Wii Remote beschäftigt.

Vielleicht hilft Dir das weiter.

Gruß


Flo
  Mit Zitat antworten Zitat
dacoder

Registriert seit: 12. Mai 2010
6 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Gamepad-Emulator - Ansätze

  Alt 12. Mai 2010, 12:10
Zitat von fnhofm:
Hi

auf dieser Seite http://johnnylee.net/projects/wii/ hat sich der Autor mit der Wii Remote beschäftigt.

Vielleicht hilft Dir das weiter.

Gruß


Flo
Der Artikel war sehr hilfreich, danke =)

Zu dem ganzen Wii-Stuff hab ich noch die Wiimote-Lib und einige Videos dazu gefunden. Muss ich mir noch genauer anschauen, vielleicht krieg ich damit die Wii-Fernbedienung erfolgreich zum laufen.

Wäre schonmal ein Erfolg.

Für die, die Interesse haben, hier die Links dazu:
WiimoteLib @CodePlex
Wiimote-Apps und Videos dazu
Was kost' die Welt? *nachdenk*
Na dann nehm ich wohl lieber 'ne Coke o.O
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: Gamepad-Emulator - Ansätze

  Alt 12. Mai 2010, 12:13
Hatte die Lib mal irgendwann nach Delphi übersetzt.

Konnte sie jedoch nie testen, weil ich selbst keine Wii bzw. keinen Controller besitze.
Ich kann dir meinen übersetzten Code mal schicken, aber ggf. funktioniert er nicht und du musst ihn noch debuggen und korrigieren.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
dacoder

Registriert seit: 12. Mai 2010
6 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Gamepad-Emulator - Ansätze

  Alt 12. Mai 2010, 12:33
Hey, das ist prima, würd das ganze gerne mal testen. Falls ich etwas korregieren muss, dann teile ich dir das gerne mit, damit du eine kleine Übersicht über die Änderungen hast.

Somit wäre eines von zwei Problemen gelöst. Jetzt nur noch die Deadzone-/Sensivitätseinstellung für die analogen Steuerelemente der Gamepads und ich bin glücklich und zufrieden.

Das Problem an der Sache ist, dass nicht alle Spiele eine solche Einstellung mitliefern, deswegen wäre eine Kastration DZ von Haus aus ganz nett, falls sowas möglich ist.
Was kost' die Welt? *nachdenk*
Na dann nehm ich wohl lieber 'ne Coke o.O
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz