Lucid alatt keltettem életre az Apple kis távirányítóját. Először a lirc-et telepítettem fel:
sudo apt-get install lirc
Device-nek egy házi bütykölésű soros vevőt használok. A lomex-ben olcsón és gyorsan sikerült mindent megvennem. Vettem egy marék kristályt is az antituninghoz és nem kb. egy ezrest fizettem. Az AM2+ lapon van soros aljzat, csak egy kivezetést kellett szerezni. Bacsisnak szerencsére hegyekben áll és nagylelkűen adott egyet. A telepítésnél ezért a következőt választottam ki:
TeleHome-brew (16x50 UART compatible serial port)
Gyors teszt, gomb lenyomásra szépen lehet látni, hogy dolgozik a vevő:
mode2 -d /dev/lirc0
Szerencsére már létezik lirc config az távirányítóhoz. Gyorsan át is másoltam.
sudo cp /usr/share/lirc/remotes/apple/lircd.conf.macmini /etc/lirc/lircd.conf
Ekkor jött a pofáraesés. Valamiért nem megy. Valószínűleg ha a hozzá való vevő is kellene, de azt nem bonthatom ki más gépéből. A megoldás az irrecord, de előtte érdemes lelőni a lirc daemont.
sudo /etc/init.d/lirc stop
sudo irrecord -d /dev/lirc0 /etc/lirc/lircd.conf
Ha minden jól ment, akkor a második sorban már egyesével jelentek meg a pontok. A sikeres ( 3. nekifutás ) configomat a bejegyzés végére raktam. Lirc újraindítás és tesztelés következik:
sudo /etc/init.d/lirc start
sudo irw
Szerencsére minden OK, legalábbis a kimenet szerint.
0000000077e1d041 00 KEY_UP apple
0000000077e1d041 01 KEY_UP apple
0000000077e1e041 00 KEY_RIGHT apple
0000000077e1b041 00 KEY_DOWN apple
0000000077e12041 00 KEY_PLAYPAUSE apple
0000000077e1d041 00 KEY_UP apple
Az XBMC már kicsit keményebb dió. Nagyon sok beállítás lehetséges. Több helyen említik, hogy van a gombokra hold event, amit nekem nem sikerült előállítani. Erről valószínűleg vagy a vevő vagy az OSX tehet. Mármint, a linux nem kezeli le ezt az eventet. Az XBMC fórum alapján létrehoztam két állományt és módosítottam egy harmadikat. Ennyi elég is, hogy az alap funkciókat tudja a lejátszóprogram. Meglepő, hogy ilyen kevés gombbal milyen jól lehet navigálni, ha az ember hajlandó kis kompromisszumokra. (Nincs subtitle, audió sáv váltás és hasonló, de ezeket is be lehetne hegeszteni al-al menübe)
lircd.conf
begin remote
name apple
bits 8
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9182 4508
one 636 1665
zero 636 539
ptrail 639
repeat 9177 2214
pre_data_bits 16
pre_data 0x77E1
post_data_bits 8
post_data 0x41
gap 109247
toggle_bit_mask 0x0
begin codes
KEY_PLAYPAUSE 0x20
KEY_UP 0xD0
KEY_DOWN 0xB0
KEY_LEFT 0x10
KEY_RIGHT 0xE0
KEY_MENU 0x40
end codes
end remote
~/.xbmc/userdata/Lircmap.xml
<lircmap>
<remote device="apple">
<select>KEY_PLAYPAUSE</select>
<left>KEY_LEFT</left>
<right>KEY_RIGHT</right>
<up>KEY_UP</up>
<down>KEY_DOWN</down>
<menu>KEY_MENU</menu>
</remote>
</lircmap>
~/.xbmc/userdata/keymaps/remote.xml
Az xbmc share könyvtárából átmásoltam a remote.xml állományt a saját testre szabott xbmc konfigurációmhoz. A pontos helyre rá kell keresni, alapból a /usr/local alatt van. Ezután Két sort módosítottam. Az érdekes sort kiemeltem.
cp ~/xbmc/share/xbmc/system/keymaps/remote.xml ~/.xbmc/userdata/keymaps/remote.xml
Az elsőnél a videólejátszásnál a play-pause funkciót lőttem be. :
<FullscreenVideo>
<remote>
...
<select>Pause</select>
...
Majd a shutdown funkciót a főmenüben a rá raktam menü gombra. Így könnyedén, távirányítóról le lehet lőni a gépet.
<Home>
<remote>
<menu>XBMC.ActivateWindow(shutdownmenu)</menu>
....