Dernière mise à jour : 09/08/2005
Cet article va vous montrer comment paramétrer une télécommande Creative RM-1500 sous Linux grâce à un ensemble de pilotes et logiciels libres. J'ai utilisé Gentoo comme distribution Linux mais les commandes et fichiers de configuration ne devraient pas être trop difficiles à utiliser sur une autre distribution. Le kit télécommande Creative venait avec ma carte son Audigy 2 ZS et une baie 5"1/4 contenant toute la connectique nécessaire et le récepteur infrarouge.
Pour la partie sonore, j'ai utilisé les derniers pilotes ALSA (1.0.9b au moment de l'article). Le pilote à sélectionner est emu10k1. En effet, sous ALSA, emu10k1 supporte aussi le chipset emu10k2 qui est au coeur de l'audigy 2 ZS. Sous Gentoo, il vous suffit de compiler votre noyau avec un seul module son, celui de base :
Device Drivers ---> Sound ---> <*> Sound card support
Vous pouvez ensuite compiler alsa-driver en utilisant les paramètres suivants dans /etc/make.conf : ALSA_CARDS="emu10k1". Installez également : alsa-utils alsa-oss. Vous pouvez ensuite lancer alsaconf pour configurer votre carte automatiquement. Voici mes paramètres de noyau dans /etc/modules.d/alsa : options snd_emu10k1 enable_ir=1. Vous pouvez ensuite démarrer alsamixer et vous devriez avoir beaucoup de mixers, un peu comme ci-dessous (démarrez bien le service ALSA auparavant).

Vous devez à présent installer LIRC (Linux Infrared Remote Control). Vous pouvez donc le télécharger sur le site officiel. Dans Gentoo (mais pas seulement), il vous faudra spécifier ceci dans /etc/make.conf : LIRC_OPTS="--with-driver=livedrive_midi". Une fois le paquet compilé, enregistrez ce qui suit dans le fichier /etc/lircd.conf:
begin remote
name rm1500
flags SPACE_ENC|CONST_LENGTH
bits 32
eps 30
aeps 100
header 9000 4500
one 563 1687
zero 563 562
gap 108000
toggle_bit 0
repeat 9000 2250
frequency 38000
duty_cycle 33
begin codes
1 0x83228B74
2 0x83228F70
3 0x8322906F
4 0x83228A75
5 0x8322847B
6 0x83227887
7 0x83228976
8 0x8322837C
9 0x83227788
0 0x8322807F
stop 0x8322857A
play 0x83227986
pause 0x83227986
slow 0x83227D82
step 0x83227E81
prev 0x83227F80
next 0x83227A85
mute 0x83226E91
vol- 0x8322639C
vol+ 0x8322629D
eax 0x83228C73
options 0x8322827D
display 0x83227689
return 0x83228E71
start 0x83228877
close 0x83227C83
up 0x83227B84
down 0x83228D72
left 0x83228778
right 0x8322758A
ok 0x8322817E
power 0x8322619e
cmss 0x8322718e
record 0x8322738c
end codes
end remote
begin remote
name audigy_io_hub
flags SPACE_ENC|CONST_LENGTH
bits 32
eps 30
aeps 100
header 9000 4500
one 563 1687
zero 563 562
gap 108000
toggle_bit 0
repeat 9000 2250
frequency 38000
duty_cycle 33
begin codes
mute 0x80000040
vol+ 0x80008080
vol- 0x80008082
cmss 0x80000080
end codes
end remote
Pour tester si la télécommande marche correctement, il faut déclarer ceci dans le fichier de configuration de lircd. Donc pour Gentoo, éditez
-
ALSA alsa-kernel/pci/emu10k1/emufx.c:1385: Installing spdif_bug patch: Audigy 2 ZS [SB0350]
Vous devriez donc pouvoir à ce moment vérifier que la télécommande marche, lancez irw et appuyez sur les boutons de la télécommande. Si tout va bien, elle devrait retourner des signaux équivalents à ce que vous pouvez voir dans le fichier de configuration lircd.conf
Il vous faut à présent lier le fichier de configuration .lircrc (dans votre $HOME) à votre télécommande. J'utilise pour ma part le paquet xmms-lirc et utiliser le fichier de configuration suivant :
## Begin General Config ##
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = next
config = xscreensaver -no-splash &
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = last
config = killall -9 xscreensaver
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = eject
config = xmmsctrl launch &
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = 0
config = xmmsctrl quit
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = play
config = xmmsctrl play
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = stop
config = xmmsctrl stop
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = pause
config = xmmsctrl pause
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = next
config = xmmsctrl next
repeat = 1
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = last
config = xmmsctrl prev
repeat = 1
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = rrev
config = xmmsctrl time -10
repeat = 1
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = ffwd
config = xmmsctrl time +10
repeat = 1
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = vol-
config = xmmsctrl vol -5
repeat = 1
end
begin
remote = CREATIVE_INFRA_DVD
prog = irexec
button = vol+
config = xmmsctrl vol +5
repeat = 1
end
Voilà pour le moment, je mettrais bientôt à jour avec plus d'informations sur la façon de lier des touches de votre télécommande avec lirc. Si vous avez des suggestions, n'hésitez pas à envoyer un email.
