Autor Beitrag
Timi-loader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58

Win XP
Delphi 7 Personal
BeitragVerfasst: Fr 15.09.06 18:14 
hallo

unzwar habe ich bereits ein schon gut funktionierendes programm geschrieben, was (nebenbeibemerkt vom handy) signale empfängt und ebened zu tastendrücken macht.. bzw daraufhin dann ebend tastendrücke erstellt...

nun habe ich alölerdings das problem, dass diese jetzige art nicht immer funktioniert... also z.b. hätte ich gern, dass es auch mit meinem n64-emlator geht (projekt64) dieser ignoriert aber meine so erzeugten virtual keys... echte tastendrücke klappen aber...

also gibt es noch eine bessere möglichkeit die mehr abdeckt als keybd_event(); ?

mfg
timi-loader
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5285
Erhaltene Danke: 28

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 15.09.06 18:35 
project64 wird das wohl direkt vom treiber abfragen, deshalb wirst du net darum rumkommen einen treiber zu schreiben und das geht nur mit c++.


mfg
Timi-loader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58

Win XP
Delphi 7 Personal
BeitragVerfasst: Fr 15.09.06 18:37 
und gibt es nicht vielleicht irgendwo sonen treiber fertig?.. als dll oder so?
mfg
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Fr 15.09.06 18:39 
Project64 wird es kaum mit einem Treiber machen. Denk mal die Abfrage wird über DirectInput gemacht. Kann aber nichts garantieren.

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
Timi-loader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58

Win XP
Delphi 7 Personal
BeitragVerfasst: Fr 15.09.06 18:50 
öhm jo.. also da in dem project64 sekbst kann man auch verschiedene kontrollerplugins auswählen.. also 3 aber 1 geht nicht.. un beide anderen 2 heißen schon was mit directinput .. aloso gibts ne möglichkeit das zu verfälschen? also zu erzeugen?

edit: hab festgestellt diese plugins sind sogar dlls .. kann man die nicht irgendwie nutzen oder umprogrammieren?
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Fr 15.09.06 18:58 
hast du mal GetKeyboardState und SetKeyboardState versucht?

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
Timi-loader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58

Win XP
Delphi 7 Personal
BeitragVerfasst: Fr 15.09.06 19:20 
kannst du mir kurz sagen wie ich das anwende?.. und braucht das was anderes noch inner uses?

edit.. ok habs kurzmal so getestet:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.Button1Click(Sender: TObject);
var keyState :TKeyboardState;
begin
    keyState[VK_UP] := 0;
    SetKeyboardState(KeyState);
end;

procedure TForm1.Button2Click(Sender: TObject);
var keyState :TKeyboardState;
begin
    keyState[VK_UP] := 1;
    SetKeyboardState(KeyState);
end;


das funktioniert aber rein garnicht.. nichtmal im windows-explorer oder so..
loetmann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29


Delphi 3
BeitragVerfasst: Fr 15.09.06 22:09 
Hallo,

für Keaysenden nutze ich folgendes:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure sendKeytoapp(apphnd: Hwnd;key:integer);
begin
 PostMessage(apphnd, WM_KEYDOWN, key, 0); //taste drücken
 PostMessage(apphnd, WM_KEYUP  , key, 0); //und wieder loslassen
end;


apphnd ist das Handel des Programmes welches den Key erhalten soll.

ein Gruß
LM

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt
Timi-loader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58

Win XP
Delphi 7 Personal
BeitragVerfasst: Sa 16.09.06 08:20 
habs probiert.. mit postmessage gehts auch nicht... also das teil ansich geht, wenn ich z.b. oben das menü bediene und dann (per timer zum test) das proggi sonen key sendet registriert er ihn .. aber in der emulation selbst nicht..

mfg
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5285
Erhaltene Danke: 28

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Sa 16.09.06 11:39 
ich sag dir, dass das mit Autohotkey geht und der macht das afaik auf Treiberbasis
Timi-loader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58

Win XP
Delphi 7 Personal
BeitragVerfasst: Sa 16.09.06 22:29 
hmz... da muss ich dir leider sagen.. nein funzt auch nicht... also hab mir das proggi geloadet und auch ein einfaches script erstellt was aus einen alt+u ein {up} machen sollte... und dann hab ichs getestet.. inner normalen windows-umgebund geht es wie immer.. inner emlation direkt nicht
schade...
mfg

edit: also ich habe jetzt mal ALLE controllerplugins zu project64 die ich finden konnte ausprobiert... fazit: mit vkeys kommen nur die beiden simpelsten klar.. und diese können beide nur einen internen controller.. also ist kein multiplayer mehr drinn bei emulation.. und das ist das worum es mir ja als einzigstes ging.. hmz :-/
Timi-loader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58

Win XP
Delphi 7 Personal
BeitragVerfasst: Sa 23.09.06 10:46 
sooo^^

unzwar habe ich nach langem weiteren suchen schließlich bei swissdelpi was gefunden.. also dort stand es mehr so nebenbei auch drinn..

unzwar fehlte mir der 3. parameter in der funktion keybd_event der muss KEYEVENTF_EXTENDEDKEY sein damit es klappt... also vielleicht wusstet ihr das und dachtet ich wusste es auch aber nein ich wusste es nicht.. und in vielen threads wird das auch einfach totgeschwiegen...

also keydown: keybd_event(38, MapvirtualKey(38, 0), KEYEVENTF_EXTENDEDKEY, 0);

und keyup: keybd_event(38, MapvirtualKey(38, 0), KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);

..njo und 38 steht dabei für die hochtaste der pfeiltasten
..und diese sache geht dann auch in allen games (die ich getestet hab) ..also nfsu2 und project64 (n64-emulator)

..also wird mein btswitcher bald auch games supporten können dann in der nächsten version (2.0)..
(download dann auch unter www.tlp.here.de)

mfg
und trotzdem thx ^^


Zuletzt bearbeitet von Timi-loader am Mo 25.09.06 21:47, insgesamt 1-mal bearbeitet
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5285
Erhaltene Danke: 28

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Sa 23.09.06 13:32 
user profile iconTimi-loader hat folgendes geschrieben:
sooo^^

unzwar habe ich nach langem weiteren suchen schließlich bei swissdelpi was gefunden.. also dort stand es mehr so nebenbei auch drinn..

unzwar fehlte mir der 3. parameter in der funktion keybd_event der muss KEYEVENTF_EXTENDEDKEY sein damit es klappt... also vielleicht wusstet ihr das und dachtet ich wusste es auch aber nein ich wusste es nicht.. und in vielen threads wird das auch einfach totgeschwiegen...

also keydown: keybd_event(38, MapvirtualKey(38, 0), KEYEVENTF_EXTENDEDKEY, 0);

und keydown: keybd_event(38, MapvirtualKey(38, 0), KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);

..njo und 38 steht dabei für die hochtaste der pfeiltasten
..und diese sache geht dann auch in allen games (die ich getestet hab) ..also nfsu2 und project64 (n64-emulator)

..also wird mein btswitcher bald auch games supporten können dann in der nächsten version (2.0)..
(download dann auch unter www.tlp.here.de)

mfg
und trotzdem thx ^^

du meintest wohl up ^^
Timi-loader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58

Win XP
Delphi 7 Personal
BeitragVerfasst: Mo 25.09.06 21:48 
steht doch da :P
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5285
Erhaltene Danke: 28

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 26.09.06 14:15 
ja jetzt ;)