XBian, czyli kolejne XBMC dla RPi + Dżojpad
W tytule pisząc kolejne XBMC miałem na myśli to, że tytułowy XBian nie jest jedyną taką dystrybucją dostępną dla Raspberry Pi na rynku - przecież jest jeszcze Raspbmc i OpenELEC.
To czym on się wyróżnia na tle konkurencji? - pewnie ktoś zapyta.
Otóż XBian jest oparty na Raspbianie, czyli głównym systemie operacyjnym dla maliny. Dzięki czemu jest zgodny z wszystkimi pakietami, które znajdują się w repozytoriach tego systemu. Szybkość uruchamiania jest na bardzo przyzwoitym poziomie (na pewno szybsze od Raspbmc). Zaś sam interfejs też działa sprawnie i elastycznie. Nie jest zamkniętym pudłem jak OpenELEC (mamy dostęp do konsoli przez ssh). Twórcy XBiana zapewniają, że dokładają wszelkich starań, aby ich system dostawał nowe funkcjonalności tak szybko jak to możliwe i zarazem działał dziarsko i stabilnie :)
Instalcja
Instalacja owego systemu jest równie łatwa jak jego obsługa. Mniej zaawansowany użytkownik może skorzystać z Installera, który został przygotowany zarówno pod Windows jak i OS X, czy Linuxa (supportuje tylko systemy 64‑bit i X11) lub po prostu ściągnąć cały obraz i wpakować go bezpośrednio na kartę SD za pomocą dd lub jakiegoś Image Writera.
Do rzeczy!
Kluczem w tytule mojego wpisu jest słowo Dżojpad (pisownia specjalna). Bo jak sterować XBMC? Myszką, klawiaturą? No moim zdaniem to się mija z celem :) Ja do obsługi mojego Medialnego Centrum wybrałem pada od konsoli Xbox 360.
Aby kontroler zadziałał na malince potrzebujemy doinstalować sterownik, który nam to umożliwi. W Linuxie, czyli najlepszym systemie operacyjnym pod słońcem wykonujemy to używając jednego polecenia:
apt-get install xboxdrv
dla pewności mały restarcik.
Teraz podłączamy pada (ja używam PC Wireless Controller Gaming Receivera, więc czeka mnie jeszcze parowanie :) ) i za pomocą komendy:
sudo xboxdrv --debug
możemy sprawdzić, czy wszystko działa jak należy - jeśli inputy trafiają z kontrolera na ekran to możemy przejść dalej.
W tym momencie musimy stworzyć mapę, dzięki której będziemy mogli przypisać danemu klawiszowi pada jakąś akcję (tak naprawdę możemy przypisać dowolny klawisz z klawiatury lub myszy)
[code=] ######################################################## # # Podstawowa konfiguracja pliku Pada # MAN: http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv.html #BTN_BACK ######################################################### # [xboxdrv] # Czyszczenie mapowania ui‑clear=true extra-devices=false extra-events=false deadzone=4000 # DPad traktowany jest jako zwykle przyciski dpad-as-button=true # Triggery traktowane sa jako zwykle przyciski trigger-as-button=true [ui‑buttonmap] # Klawisz A to Enter :) A=KEY_ENTER # Klawisz B - poprzednie taki = BACK B=KEY_BACKSPACE # Kontrolki OSD (PLAY/STOP idt.) X=KEY_M # Menu kontekstowe Y=KEY_C # Klawisze strzalek beda nam sluzyly jako standardowe kursory z klawiatury DU=KEY_UP DD=KEY_DOWN DL=KEY_LEFT DR=KEY_RIGHT # shutdown menu START=KEY_S # Klawisz Xboxa - poprzenie menu / Home screen / wyjscie z pelenego ekranu GUIDE=KEY_ESC # Pauza podczas odtwarzania BACK=KEY_SPACE # Klawisz LB/RB bedzie sterowal glosnoscia naszego XBMC LB=KEY_MINUS RB=KEY_EQUAL # Na klawisze TL/TR nie mam na razie pomyslu # LT= ??? # RT= ??? [ui‑axismap] # Jeszcze raz przemapowane klawisze strzalek - lewy analog X1=KEY_LEFT:KEY_RIGHT Y1=KEY_UP:KEY_DOWN # Sterowanie kursorem - prawy analog X2=REL_X Y2=REL_Y # EOF #[/code]
Ową konfigurację zapisujemy w pliku np. mapowanie i zapisujemy w katalogu użytkownika. Teraz możemy przystąpić do testu zrobionego przez nas konfiga, robimy to korzystając z komendy:
xboxdrv --config /home/xbian/mapowanie --debug
oczywiście uruchomionej z prawami roota. Jeśli nic nie popsuliśmy po drodze, to XBMC powinno zacząć łapać inputy z kontrolera.
Aby mapowanie działało od samego startu naszej maliny możemy dodać skrypt uruchamiający do /etc/rc.local. Skrypt powinien wyglądać tak:
#!/bin/bash xboxdrv --config /home/xbian/mapowanie --silent &
zapisujemy go w naszym katalogu domowym jako np. mapowanie.sh.
Zaś w pliku /etc/rc.local musimy podać ścieżkę do niego czyli /home/xbian/mapowanie.sh - podajemy to przed exit 0 ;)
PS
Mam nadzieję że o niczym nie zapomniałem bo wpis choć krótki, to powstawał prawie dwa miesiące - Ach ta Zima ;/