Niestety tutaj odzywa się brak odpowiedniej dokumentacji dla użytkownika, ale poradzimy sobie, po kolei:
Chciałem sprawdzić skrypt 12 i natrafiłem na problem.Oczywiście nie mam aviador tylko Logitech Extreme 3D.Rozumiem,że muszę zmienić w skrypcie nazwy zmiennych np.$aviador_button_001 na $Logitech Extreme 3D_button_001 itp,ale co dalej.
$aviador_button_001 to nazwa zmiennej i nie musi być w ogóle zmieniana (o tym później). Co musisz zrobić:
- Otworzyć okno konfiguracji modułu GameControllersInput
- Wybrać kontroler jaki chcesz użyć do tego skryptu.
- Kliknąć OK
W ten sposób zapisze się konfiguracja kontrolera i na liście zmiennych modułu pojawią się przyciski i osie. Teraz wybierasz zmienną (która odpowiada przyciskowi, który chcesz użyć do testów) i kopiujesz jej definicję. Np.
variable $Logitech_Extreme_3D_przycisk_000
{
module = "GameControllersInput";
id = "Logitech Extreme 3D:przycisk_000";
type = bool;
direct = in;
}
Teraz wystarczy, że usuniesz ze skryptu definicję zmiennej $aviador_button_001 a tam gdzie występuje jej nazwa ($aviador_button_001) zamieniasz na $Logitech_Extreme_3D_przycisk_000. W ten sposób postępujesz z wszystkimi zmiennymi reprezentującymi przyciski kontrolera czyli: $aviator_button_001, $aviator_button_002, $aviator_button_003 i $aviator_button_004.
Inny sposób, to w konfiguracji kontrolera, w kolumnie ID, na zakładce Przyciski zmieniasz identyfikator (wpisujesz nowy) na te występujące w skrypcie przykładowym ($aviator_button_001 itd.). W definicji zmiennej $aviator_button_001 w skrypcie musisz teraz zmienić jej ID. W skrypcie jest
id = "aviator:button_001";
więc zmieniasz na:
id = "Logitech Extreme 3D:button_001";
Ta część przed dwukropkiem (Logitech Extreme 3D) jest konfigurowana w oknie konfiguracji (pole ID pod listą wyboru kontrolera), stanowi ona identyfikator kontrolera i domyślnie jest nim nazwa kontrolera. W ten sposób zmieniasz tylko identyfikator zmiennej, możesz się nawet pokusić o skonfigurowanie swojego kontrolera tak, aby nie trzeba było zmieniać skryptu. Czyli nadajesz odpowiednie identyfikatory przyciskom i zmieniasz domyślny identyfikator kontrolera.
Po takiej zmianie skrypt będzie działał. Nie trzeba nic więcej zmieniać/konfigurować.
Wczytuję PrzykładoweSkrypty,wybieram Skrypt_12 i go uruchamiam i co dalej.Jeśli wybiorę moduł KeyboardInput oraz przycisk konfiguracja to otworzę okno gdzie jest okienko Dodaj....W tym momencie nie wiem co dalej robić.Może wybrałem nie te moduły?
W skrypcie użyte są funkcje z modułu KeyboardOutput, nie trzeba konfigurować modułu KeyboarInput (ten moduł służy do odczytywania stanu klawiatury i reprezentacji jej w skrypcie). KeyboardOutput nie ma konfiguracji. Ten moduł udostępnia tylko funkcje. W tym skrypcie nie trzeba nic zmieniać.
Z opisu tego przykładu wynika,że po otwarciu Notatnika i naciskaniu klawiszy w kontrolerze można zrobić pewne działania w Notatniku.
Aby sprawdzić jego działanie należy uruchomić DK (DomowyKokpit), wczytać skrypt, wybrać Skrypt_12... i uruchomić. Następnie uruchomić Notatnik i pozostawić go jako aktywne okno (kursor do pisania miga w oknie notatnika). Teraz można naciskać przyciski kontrolera. Cytat ze strony:
Naciśnięcie przycisku 1 (zmienna $aviator_button_001)spowoduje wpisanie w notatniku tekstu “DomowyKokpit”. Przycisk 2spowoduje wywołanie okienka do drukowania (standardowy skrótklawiaturowy CTRL+P). Przycisk 3 powoduje naciśnięcie klawisza SHIFT,pisanie wtedy w notatniku z prawdziwej klawiatury zaowocuje dużymiliterami. Przycisk 4 zwalania klawisz SHIFT.
Załóżmy,że ten przykład będzie działał.Teraz pytanie zasadnicze.Chcę aby kontroler np. MJoy z SV Mapper działał w Falconie podobnie ale przy pomocy KokpituDomowego(KD).Jak to zrobić?Dla przykładu w MJoy button 001 jest przyporządkowany do kombinacji Ctrl+Alt+1 co odpowiada LMFD OSB 01 w symulatorze.Jak to zrobić przy pomocy KD?
Należy skorzystać z funkcji KeyboardOutput:SendShortcut( "^%1" ); (znaki ^ i % są znakami specjalnymi, ^ - to CTRL a % to ALT, dodatkowo znak + to SHIFT). Czyli np.:
variable_changed $aviator_button_002
{
if ( $aviator_button_002 )
{
// wysłanie skrótu klawiaturowego CTRL+ALT+1
KeyboardOutput:SendShortcut( "^%1" );
}
}
Uf, trochę przydługawy ten post. Czekam na kolejne pytania
EDIT: Proszę moderatora o przeniesieni postów (od 525) z tego wątka do nowego "Aplikacja DomowyKokpit" w tym samym dziale.