Joystick w E-UAE
Tani joypad za 10 złotych będący podróbką tego od Playstation tylko podłączany przez usb znakomicie nadaje się do grania w klasykę.
Na chińskim pudełeczku napisane jest, że działa bez dodatkowych sterowników już pod Win98 więc urządzenie bez problemu wykrywane jest także pod Linuksem. W systemie zgłasza się jako /dev/input/js0. Joy'a należy skalibrować, posłuży do tego program jscal z pakietu joystick, jeśli ktoś chciałby to wszystko zobaczyć w bardziej przystępnej formie może zainstalować pakiet jscalibrator (wszystko dostępne w standardowym repozytorium).
Konfiguracja joysticka w systemie:
Podłączamy joystick, uruchamiamy program jscal z parametrem urządzenia:
~$ jscal /dev/input/js0 Joystick has 6 axes and 10 buttons. Correction for axis 0 is broken line, precision is 0. Coeficients are: 112, 142, 5534751, 5534751 Correction for axis 1 is broken line, precision is 0. Coeficients are: 112, 142, 5534751, 5534751 ... Correction for axis 5 is broken line, precision is 0. Coeficients are: 3, 3, 178956970, 178956970
Pad zgłasza się jako sześcio-osiowy, to zapewne dzięki osiom zarezerwowanym dla grzybków, które dodano w dual-shockach, ale nie w wersji budżetowej za dychę. To tak na prawdę jedyna komplikacja, jeśli trafisz urządzenie z ilością osi odpowiadającą faktycznie występującym manipulatorom, czyli np. klasyczny joystick z dwiema osiami czy prawdziwy dual-shock (krzyżyk i dwa grzybki) z sześcioma to praktycznie od razu można zacząć grać.
Ja jednak w tym układzie musiałem ustalić jaka oś odpowiada prawo-lewo, a jaka góra-dół i przekazać to do gry, czyli oczywiście do emulatora Amigi. Odpaliłem:
~$ jscal -c /dev/input/js0
zatrzymał się na
Move axis 0 to minimum position and push any button. Axis 0: 1
Enter, Enter, ... dopiero trzecia oś zaczęła reagować na ruchy na padzie, czyli trzecia to lewo-prawo, przyciskam lewo i Enter ...
Move axis 3 to minimum position and push any button. Axis 3: 0
później nic nie przyciskam, czyli że środkowe położenie manipulatora
Move axis 3 to center position and push any button. Axis 3: 127
... i prawo, czyli skrajne maksymalne położenie
Move axis 3 to maximum position and push any button. Axis 3: 255
Tak samo postępuję z osią pionową. Wiem już, że oś 3 i 4 to mój krzyżak - teraz trzeba to ustawić w e-uae.
Konfiguracja E-UAE pod joystick:
Jest kilka nieudokumentowanych zmiennych w pliku konfiguracyjnym, które służą ustawieniom joysticka. Oto one:
joyport
joyport0=mouse joyport1=joy0
Określa jakie urządzenie wpięte jest do wirtualnej Amigi. Możliwe parametry: mouse; kbd1, kbd2, kbd3 czyli układy klawiatury emulujące joystick; joy0, joy1 czyli kolejne systemowe joysticki.
input.config
input.config=1
Określa, która konfiguracja jest w ogóle brana pod uwagę, zaraz poniżej definujemy ustawienia dla konkretnych "inputów". Na początek potrzeba przynajmniej jeden, ale dobry, w kolejnych można trzymać inne warianty.
input
input.1.joystick.0.disabled=0 input.1.joystick.0.axis.3=JOY2_HORIZ.0 input.1.joystick.0.axis.4=JOY2_VERT.0 input.1.joystick.0.button.0=JOY2_FIRE_BUTTON.0 input.1.joystick.0.button.1=JOY2_2ND_BUTTON.0 input.1.joystick.0.button.2=JOY2_3RD_BUTTON.0
Konkretne wskazanie elementów urządzenia sterującego i zmapowanie go na wirtualny manipulator.
input.1 - czyli to co skonfigurowane w input.config
joystick.0 - czyli pierwszy joystick dostępny w systemie gospodarzu (
w Ubuntu się znaczy)
disabled=0 - czyli, że w ogóle włączony
axis.3 - oś, z naszego kontrolera, którą chcemy zmapować na joystick w Amidze
axis.4 - j.w.
JOY2_HORIZ.0 - określa wirtualny joystick Amigi oraz jego oś (tu poziomą), na którą przełożona będzie oś rzeczywistego kontrolera, jest tu pewna zmyłka, bo joysticki nie są tu numerowane od zera, a od 1, zatem JOY2 to wirtualny joystick siedzący w drugim porcie Amigi (czyli normalna konfiguracja w rzeczywistości, kiedy w porcie pierwszym była mysz, a w drugim joy)
JOY2_VERT.0 - j.w., ale dla osi pionowej
button.0 - pierwszy guzik rzeczywistego urządzenia
JOY2_FIRE_BUTTON.0 - podstawowy i często jedyny "fajer" w dżoju amigowym, jednak system Amigi pozwala na wykorzystanie do trzech guzików (np. Flashback obsługuje dwa)
Gotowy konfig:
Gotowy konfig do doklejenia na koniec standardowego pliku konfiguracyjnego. Oczywiście należy zwrócić uwagę, żeby nie dublować parametrów. Jest to ustawienie pod pierwszego pada podłączonego do kompa, działa jak joy wetknięty do drugiego portu Amigi.