Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Keyhook für Lenkrad (https://www.delphipraxis.net/50476-keyhook-fuer-lenkrad.html)

F.W. 26. Jul 2005 11:37


Keyhook für Lenkrad
 
Hallo Leute!

Ich bin stolzer Besitzer eines Microsoft SideWinder Precision Racing Wheel Lenkrads und wollte es vor kurzem mal an GTA: San Andreas anschließen. Doch leider steuern die Pedale da nur die Sicht nach oben und unten!
Ich hab schon versucht die Belegungen zu ändern, aber das hat nicht geklappt. :wall:

Ich habe gestern mal Assarbads Tutorial zum Thema Hooks durchgearbeitet (allerdings nur die lokalen).
Und bevor ich mir weitere Mühe mache, wollte ich fragen ob das funktioniert die Eingaben von meinem Lenkrad -die an das Spiel gehen- abzufangen, zu ändern und dann ans Spiel zu schicken?
Damit ich mit den Pedalen fahren kann und nicht gucken :shock:

UND: Hab es gestern nur mal lokal versucht, es aber leider nicht geschafft: Wie kann ich einen Tastendruck (z.B. NUM5) abfangen und "umleiten" (z.B. auf "t")? >> Was im Prinzip das selbe wie bei meinem Lenkrad wäre, nur halt auf der Tastatur.

Der Grund ist, dass das Lenkrad und somit auch die Software wo man das so umstellen kann nicht mehr produziert wird und die Software aber nicht unter Win2000/XP läuft.

Kedariodakon 26. Jul 2005 11:54

Re: Keyhook für Lenkrad
 
Zitat:

Zitat von F.W.
Ich hab schon versucht die Belegungen zu ändern, aber das hat nicht geklappt.

Hmm wenn das Spiel für Gamepads und Joysticks ausgelegt ist, solltest du das ändern können...

Zitat:

Zitat von F.W.
Ich habe gestern mal Assarbads Tutorial zum Thema Hooks durchgearbeitet (allerdings nur die lokalen).
Und bevor ich mir weitere Mühe mache, wollte ich fragen ob das funktioniert die Eingaben von meinem Lenkrad -die an das Spiel gehen- abzufangen, zu ändern und dann ans Spiel zu schicken?

Eigendlich schon, aber ! Pedale sind kein Key-Down Ereigniss...

Bei Pedalen & Co handelt es sich um Achsen, welche sozusagen einen Status abgeben wo sie sich befinden, wie genau das funktioniert kann ich dir nicht sagen...

Zitat:

Zitat von F.W.
Wie kann ich einen Tastendruck (z.B. NUM5) abfangen und "umleiten" (z.B. auf "t")? >> Was im Prinzip das selbe wie bei meinem Lenkrad wäre, nur halt auf der Tastatur.

In der DLL, halt nicht die alten parameter zur ursprünglichen Funktion zurückschicken, sondern die mit der geänderten Taste...

Zitat:

Zitat von F.W.
Der Grund ist, dass das Lenkrad und somit auch die Software wo man das so umstellen kann nicht mehr produziert wird und die Software aber nicht unter Win2000/XP läuft.

Das wird nicht nur Software sein, sondern nen Treiber :zwinker:

Wenn die Standard-Win-Wheel Treiber nicht gehen, hast du wohl Pech gehabt, oder du schreibst einen neuen :cyclops:


Bye

brechi 26. Jul 2005 11:56

Re: Keyhook für Lenkrad
 
ich denk mal das läuft über directx bzw directinput, da kannste mit messagehook glaub ich wohl nicht so viel machen

Kedariodakon 26. Jul 2005 12:01

Re: Keyhook für Lenkrad
 
Zitat:

Zitat von brechi
ich denk mal das läuft über directx bzw directinput, da kannste mit messagehook glaub ich wohl nicht so viel machen

Damit hast du recht, aber da gibts sicher was anderes, was man Hooken könnte und wenn man sich auch direkt ins Game einklinken muß ;)

Allerdings könnte dich da DX gleich wieder rauskicken, Cheatgefahr und so ;)
Das könnte durchaus seh kompliziert werden :cat:

Bye

F.W. 26. Jul 2005 14:26

Re: Keyhook für Lenkrad
 
Ich hatte mir das so vorgestellt: bsw. in meiner HookProc steht der Parameter wParam für die Taste/das Pedal und lParam beinhaltet die Position oder so, aber wie gesagt, so hatte ich es mir ausgemalt ;)

Zitat:

Zitat von Kedariodakon
Hmm wenn das Spiel für Gamepads und Joysticks ausgelegt ist, solltest du das ändern können...

Ja aber man kann die Achsen nicht selbst belegen (stell dir vor jemand verwendet das Gaspedal zum schießen, was würde da die Position angeben?)

Zitat:

Zitat von Kedariodakon
Das wird nicht nur Software sein, sondern nen Treiber

Ich weiß nicht ob es am Treiber liegt, jedenfalls gibts ne Fehlermeldung (falscher Einsprungpunkt in der rundll32 oder so) (was ja klar ist wenn es für ältere Windows Versionen ist) beim belegen der Lenkradtasten in dem Programm/Treiber wie auch immer ;)

Zu dem Hook der NUM5 Taste: Ich werde mich erstmal mit globalen Hooks befassen, hier jetzt alles zu fragen wär' ja sinnlos, für sowas gibts ja Tuts :warn: ;)

D.h. wenn jemand weiß wie ich das mit dem Lenkrad hinbekomme, soller ruhig schreiben!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 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