Witam
Po chwili grania w grę "RiverRide" na emulatorze Atari przy użyciu klawiatury uznałem ze Joystickiem było by ciekawie (jak za dawnych lat) .
W wiec napisałem program w Delphi 7 z użyciem Omegi do obsługi joysticka, a dokładnie Pada pod USB
Program odbiera dane przyciśniętych klawiszy i odpowiednio symulować naciskanie klawiszy na klawiaturze.. i tu powstał problem..
Jeżeli napisze krótki programik wysyłający klawisz z użyciem Timera:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
keybd_event(VK_LEFT, 0, 0, 0);
end;
i gdy okno emulatora atari jest aktywne to klawisz działa i samolocik skręca w lewo.
Natomiast mój program do obsługi joysticka nie działa gdy nie jest aktywny :/
procedure TForm1.Timer1Timer(Sender: TObject);
begin
OmegaInput1.Joystick.Update;
Label1.Caption:=OmegaInput1.Joystick.Name; //wyswietlanie nazwy joysticka na formie
if oisLeft in OmegaInput1.Joystick.States then
begin
Label3.Color:=clRED; //zmiana koloru tla gdy wcisnie sie przycisk na joyu
keybd_event(VK_LEFT, 0, 0, 0); // no i wysłanie klawisza
end
else
begin
Label3.Color:=clBtnFace;
keybd_event(VK_LEFT, 0, KEYEVENTF_KEYUP, 0);
end;
end;
Proszę o pomoc jak wykonać może Hook'a na joystick lub przerobić aplikacje żeby działała w tle? i wysyłała znaki do aktywnego okna?