Fórum Ubuntu CZ/SK
Ostatní => Tipy a triky pro Linux => Téma založeno: karlitos 28 Listopadu 2010, 16:33:39
-
Zdravim
Valel se mi tu puvodni dalkovy ovladac pro Xbox, tak sem popad pajku a pridelal USB kabel podle tohoto obrazku :
(http://alexanderkoch.net/wp-content/uploads/2010/09/IMG_0778.jpg)
Prace na 10 minut, staci odpajet ten puvodni konektor pro Xbox, nebo si udelat redukci Xbox kabel <-> USB, navodu je na netu jak mraku.
Pak jsem nahodil lirc a par dalsich baliku :
sudo apt-get install lirc pulseaudio-module-lirc
Pri instalaci se me to ptalo jaky ovladac a receiver - oboji jsem zadal jako none
Pak nasledovala uprava par konfiguraku :
sudo gedit /etc/lirc/hardware.conf
u me vypada takto :
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="None"
REMOTE_MODULES="lirc_atiusb lirc_dev"
REMOTE_DRIVER=""
REMOTE_DEVICE="/dev/lirc0"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF=""
REMOTE_LIRCD_ARGS="-r"
#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
#Enable lircd
START_LIRCD="true"
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"
#Try to load appropriate kernel modules
LOAD_MODULES="true"
# Default configuration files for your hardware if any
LIRCMD_CONF="lircd.conf"
#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="true"
START_LIRCMD=""
a jeste :
sudo gedit /etc/lirc/lircd.conf
ktery jsem upravil takto :
#This configuration has been automatically generated via
#the Ubuntu LIRC package maintainer scripts.
#
#It includes the default configuration for the remote and/or
#transmitter that you have selected during package installation.
#
#Feel free to add any custom remotes to the configuration
#via additional include directives or below the existing
#Ubuntu include directives from your selected remote and/or
#transmitter.
# brand: Microsoft Xbox DVD Receiever (also works with generic)
# remote control: Xbox remote or any remote using RCA DVD player codes
begin remote
name XboxDVDDongle
bits 8
eps 30
aeps 100
one 0 0
zero 0 0
gap 163983
toggle_bit_mask 0x0
begin codes
LEFT 0xA9
UP 0xA6
RIGHT 0xA8
DOWN 0xA7
SELECT 0x0B
1 0xCE
2 0xCD
3 0xCC
4 0xCB
5 0xCA
6 0xC9
7 0xC8
8 0xC7
9 0xC6
0 0xCF
MENU 0xF7
DISPLAY 0xD5
REWIND 0xE2
FFWD 0xE3
PLAY 0xEA
PAUSE 0xE6
STOP 0xE0
SKIP- 0xDD
SKIP+ 0xDF
TITLE 0xE5
INFO 0xC3
BACK 0xD8
end codes
end remote
No pak nasledoval restart a test pomoci irw
~ $ irw
000000000000000b 00 SELECT XboxDVDDongle
000000000000000b 01 SELECT XboxDVDDongle
000000000000000b 02 SELECT XboxDVDDongle
000000000000000b 00 SELECT_UP XboxDVDDongle
00000000000000a7 00 DOWN XboxDVDDongle
00000000000000a7 01 DOWN XboxDVDDongle
00000000000000a7 02 DOWN XboxDVDDongle
00000000000000a7 03 DOWN XboxDVDDongle
00000000000000a7 04 DOWN XboxDVDDongle
00000000000000a7 00 DOWN_UP XboxDVDDongle
00000000000000a7 00 DOWN XboxDVDDongle
00000000000000a7 01 DOWN XboxDVDDongle
00000000000000a7 00 DOWN_UP XboxDVDDongle
00000000000000a7 00 DOWN XboxDVDDongle
00000000000000a7 01 DOWN XboxDVDDongle
00000000000000a7 00 DOWN_UP XboxDVDDongle
00000000000000a7 00 DOWN XboxDVDDongle
00000000000000a7 00 DOWN_UP XboxDVDDongle
00000000000000a7 00 DOWN XboxDVDDongle
00000000000000a7 01 DOWN XboxDVDDongle
00000000000000a7 00 DOWN_UP XboxDVDDongle
00000000000000a7 00 DOWN XboxDVDDongle
00000000000000a7 01 DOWN XboxDVDDongle
00000000000000a7 00 DOWN_UP XboxDVDDongle
00000000000000a7 00 DOWN XboxDVDDongle
00000000000000a7 01 DOWN XboxDVDDongle
00000000000000a7 00 DOWN_UP XboxDVDDongle
00000000000000a6 00 UP XboxDVDDongle
00000000000000a6 01 UP XboxDVDDongle
00000000000000a6 00 UP_UP XboxDVDDongle
...
FAAAJN uz jsme na pul cesty doma.
No a chtel jsem hlavne ovladat hlasitost kdyz lezim na posteli a posloucham hudbu, takze jsem pridal radek
load-module module-lirc
do souboru /etc/pulse/default.pa
Jsou tam zakomentovane radky kde se da zapnout nacitani dalsich modulu tak jsem ten radek pridal pod ne :
...
### Load audio drivers statically (it's probably better to not load
### these drivers manually, but instead use module-hal-detect --
### see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink
load-module module-lirc
...
Aby se zmena projevila musi se jeste provest :
killall pulseaudio && pulseaudio -D
No a posednim krokem je vytvoreni souboru .lircrc :
sudo gedit ~/.lircrc
a vlozeni techto radku :
begin
remote = XboxDVDDongle
prog = pulseaudio
config = volume-down
button = DOWN
repeat = 0
end
begin
remote = XboxDVDDongle
prog = pulseaudio
config = volume-up
button = UP
repeat = 0
end
begin
remote = XboxDVDDongle
prog = pulseaudio
config = mute-toggle
button = SELECT
end
a SIMSALABIM - kouzlo - sipkama nahoru a dolu rpidavam a ubiram hlasitost a tim tlacitkem uprostred zapinam/vypinam zvuk.
Pro pulseaudio existuji nasledujici moznosti pro soubor .lircrc : volume-up, volume-down, mute, mute-toggle, reset
Tak doufam ze tohle nekoho inspiruje, docela me prkvapila jak plynule to to slo zprovoznit, stacilo si najit par HOWTO na internetu, tak jsem to tu shrnul.
Budu top jeste muset trochu doladit, mam pocit ze mi to posila vic povelu pri zmacknuti tlacitek - viz vystup z irw.
Kazdopadne dobry gadget aneb jak se hezky cesty rika bastl jak svina ;D ;D ;D
-
irw sbírá data přímo z ovladače a ten většinou posílá kód stisknutého tlačítka opakovaně, dokud ho držíš. Pokud použiješ v konfiguraci DO pro určitý program repeat 0, eliminuje to další pulzy a bere se jeden stisk jako jedna událost, dokud to tlačítko držíš. Pro nastavování hlasitosti je lepší použít repeat 1 a doplnit parametrem delay, který určí, kolik pulzů se má vynechat, než se pošle další událost, čímž si nastavíš rychlost jakou se bude hlasitost měnit, při držení tlačítka.
-
Diky za tip. Tohle byl zatim spis proof of concept jeste to trochu dopiluju. Jenom by me zajimalo jestli je DO vazane na dany prijmac. Mam totiz Logitech Harmony, ten prijmac funguje out-of-the-box, lze nastavit ze pouzivam treba Microsoft MCE Remote s tim prijmacem od Xboxu ?
-
Diky za tip. Tohle byl zatim spis proof of concept jeste to trochu dopiluju. Jenom by me zajimalo jestli je DO vazane na dany prijmac. Mam totiz Logitech Harmony, ten prijmac funguje out-of-the-box, lze nastavit ze pouzivam treba Microsoft MCE Remote s tim prijmacem od Xboxu ?
Podle letmého pohledu na popis xbox přijímače to vypadá takto:
The standard codes used by the Xbox IR receiver are RCA DVD player codes. You should be able to program any universal remote to use these codes.
-
No to stale neresi mou otazku : lze pouzit jine DO s timto prijmacem ? Jdu to zjistovat, mam tady totiz nejake dalkove ovladani od starsi TV karty a to ma vic tlacitek a i lepsi design. Pokud bych rozchodil to a mohl pak naprogramovat Hramony bylo by to supr - ziskal bych USB IR prijmac zadarmo. To Dd od toho DVD Kitu je sice fajn, ale treba nema vubec tlacitka na ovladani hlasitosti.
-
Otázku jsem přečetl správně a předložená citace je relevantní ;)
Ale karmu jsem ti za to dolu nedával, to jen aby bylo jasno ;D
-
Tak to by me zajimalo kterej dobrak :-\
You should be able to program any universal remote to use these codes.
prekladam jako "lze naprogramovat jakekoliv univerzalni DO k pouzivani tech kodu toho DO od toho Xbox DVDkitu" Jenze ja bych rad aby ten PRIJMAC od toho kitu prijmal povely od jineho DO, ktere si pak naprogramuju na tom univerzalu.
Jestli to dobre chapu tak sekce :
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="None"
REMOTE_MODULES="lirc_atiusb lirc_dev"
REMOTE_DRIVER=""
REMOTE_DEVICE="/dev/lirc0"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF=""
REMOTE_LIRCD_ARGS="-r"
definuje prijmac. O ten se stara ovladac/modul lirc_atiusb lirc_dev
# remote control: Xbox remote or any remote using RCA DVD player codes
???
Dobre, nejlepsi zpusob bude sehnat nekde jine - pro lirc zdokumentovane DO - vymenit sekci lircd.conf a otestovat
-
Jdeš na to moc složitě bych řekl. Ten přijímač je stavěný na určitý protokol a zdá se, že tento poslouchá dálkové ovladače DVD firmy RCA. Hledal bych v seznamu kódů tvého Harmony a zkusil to tam naťukat.
-
Jo tak RCA je fimra a vyrabi DVD prehravace ... (AHA-smajlik)
-
RCA určitě dělá DVD přehrávače a jejich konfigurace je běžně ve výbavě univerzálních ovladačů. Ten XBOX přijímač možná bude reagovat i na jiné DO, to zjistíš přes irrecord, pak si můžeš udělat vlastní konfiguraci ovladače. Myslím, že na rootu (http://www.root.cz/clanky/lirc-dalkove-ovladani-pro-vas-linux/) je to popsané celkem dobře..