Taakze dneska jsem uspesne uchodil dvojici techle padu pod linuxem. Jedna se o Xbox verzi s napajenou USB koncovkou. Pokud by nekdo pouzival PS2 verzi s EMS redukci, tak ta by mela fungovat v podstate hned, protoze si povida pres HID standard. Pokud jde o USB verzi, situace je slozitejsi. Nevim, jak to je se starsimi verzemi jadra, ale v soudobem ( 2.6.11 ) se nachazi ovladac pro Xbox gamepad s napajenou koncovkou ( obdoba windowsiho XBCD ). Problem je ale v tom, ze mapuje 4 smery ddr padu jako dve osy
tzn. ze stepmanie z toho nic nevyuzije protoze tu zajimaji tlacitka.
Nastesti jsem nekde z hlubin internetu vyhrabal verzi, ktera umi mapovat tyto tlacitka na tlacitka ( tedy nejsou zadny problemy s dvojicemi sipek na stejnou stranu ). Muzete si ji stahnout
zde. Predpokladam ze vam kompilace jadra neni cizi, pokud je tak mi napiste a ja vam s tim pomuzu. Takze kdyz mame tenhle vychytanejsi xpad.c tak s nim prepiseme puvodni ( nachazi se v /drivers/usb/input/ ) a nastavime ze jej chceme jako modul ( dale potrebujete modul joydev ktery vam udela zarizeni joysticku ). Dale spustime preklad modulu jako obvykle a zkompiluje se nam novejsi xpad modul.
Ted, kdyz mame driver pripraveny tak muzeme zasunout ddr pad do USB slotu. Nyni se podivame na vypis prikazu 'dmesg', konkretne na posledni radky, u me to pise :
ohci_hcd 0000:00:02.1: wakeup
usb 3-1: new full speed USB device using ohci_hcd and address 38
hub 3-1:1.0: USB hub found
hub 3-1:1.0: 3 ports detected
usb 3-1.1: new full speed USB device using ohci_hcd and address 39
|
Timhle nam tedy kernel rika ze nasel nejake USB zarizeni, a pro nas je to test, ze jsme draty pripajeli spravne
( a taky se dokazuje ze kazdy ddr pad je zaroven 3portovy usb hub ). Sice je super ze kernel zarizeni vidi, ale nevi co s nim. Pomuzeme mu tedy a prikazem
nahrajeme modul. Nyni by mel 'dmesg' vypsat neco ve stylu
input: X-Box pad on usb-0000:00:02.1-1.1<6>usbcore: registered new driver xpad
drivers/usb/input/xpad.c: X-Box pad driver:v0.0.6
drivers/usb/input/xpad.c: DDR mode enabled.
|
Tohle uz je zprava od prave nahraneho driveru a rika ze nasel xboxovy pad na nejake USB adrese. Nyni staci akorat provest
, tim se vytvori zarizeni /dev/js0 ( prvni joystick v systemu, predpokladam ze jich vic nemate ). Podivame se na jeho vystup prikazem
to by melo zpusobit ze se na obrazovku zacnou sypat divne znaky - je to vystup dat ze zarizeni. Ted muzeme zkusit ruzne produpat sipky a mel by se menit coz znamena ze pad funguje
. Kdyz mame koukani na proud dat dost tak to CTRL+C ukoncime. Dal uz je to stejna jako ve windowsech, stepmanie si najde pad sama a dovoli ho namapovat. S druhym padem je to uz jednoduche, pokud jej pripojite tak bude videt jako /dev/js1.