Ceci est une ancienne révision du document !
LIRC, dans le vif du sujet
LIRC est une excellente suite logicielle visant à utiliser des télécommandes avec GNU/Linux. Sa compatibilité avec tout et n’importe quoi et sa versatilité en font un incontournable de tout PC orienté Home Cinema. Concrètement, et c’est souvent ce qu’on a du mal à comprendre la première fois qu’on y touche, LIRC est un mot fourre-tout pour ce qui est à la fois une paquet d’éxécutables (sous forme de démon ou non), un framework (utilisable par les application tierces), et un ensemble de modules noyaux (pour piloter le hardware de vos récepteurs).
Trouver des infos correspondant à notre périphérique
Liste des périphériques d'entrée
cat /proc/bus/input/devices
Puis trouver le bloc correspondant à votre récepteur infrarouge.
Journal de Xorg
Brancher le récepteur et lancer :
tail /var/log/Xorg.0.log
Les dernières lignes donneront des infos sur votre récepteur infrarouge.
Sortie du noyau
Brancher le récepteur et lancer :
dmesg | tail -20
Les dernières lignes donneront des infos sur votre récepteur infrarouge.
Nom de l'événement associé au récepteur
Vous pouvez aller voir ici
ls -l /dev/input/by-path
On repère la ligne qui contient ir (infra rouge). Si vous avez un doute, débranchez et rebranchez votre récepteur infrarouge, pour voir quel ligne apparait.
Il est mieux d'utiliser uniquement ce chemin qui ne changera jamais d'un démarrage sur l'autre.
On remarque qu'il s'agit juste d'un lien symbolique sur un évènement, et cet évènement nous avais déjà été renseigner par les commandes ci-dessus.
Vous devez retenir un chemin de la forme "/dev/input/by-path/xxx" xxx variant suivant votre modèle.
Récupérer les signaux émis par la télécommande
Signaux attrapés par Xorg :
Si xorg arrive à attraper les signaux de la télécommande, cette commande affichera les touches appuyés :
Si le périphérique est considéré comme un clavier par xorg : On peut savoir ce qui sa passe sur ce périphérique (les évènements "attrapés" par le xorg) grâce à
sudo evtest votre_periph
Votre périphérique correspondant au chemin trouvé plus haut.
Signaux attrapés par LIRC
Il faut configurer LIRC avec le fichier /etc/lirc/hardware.conf et /etc/lirc/lircd.conf (voir plus bas). Ensuite il suffit de lancer
irw
Puis appuyez sur les touches de la télécommande, si des lignes s'affichent, cela veux dire que LIRC attrape bien les événement de la télécommande.
Configurer LIRC
/etc/lirc/hardware.conf
C’est ici qu’est défini le matériel. Par contre, il ne fait pas partie de LIRC ! Ce fichier de configuration est une aide, laissée par les packageurs de votre distribution (Ubuntu dans notre cas) afin de simplifier l’utilisation des démons contrôlant LIRC. Il est donc nécessaire de faire attention à ce que vous lisez sur Internet, car en fonction de votre distribution les paramètres peuvent drastiquement changer. Le fichier peut même être totalement inutile. (Pour l’anecdote, je l’ai appris à mes dépends en perdant quelques heures lors d’une migration Ubuntu vers Debian) Concrètement, ce fichier est lu par le script de démarrage de LIRC (/etc/init.d/lirc, dont le contenu change selon les distributions). Celui-ci prépare l’environnement et construit la ligne de commande adéquate pour lancer le démon LIRC.
Il y a plusieurs paramètre a regler dans ce fichier :
REMOTE
Vous pouvez entrer ici le nom de votre télécommande, vous choisissez ce nom.
REMOTE_DRIVER
Ceci indique à LIRC quel pilote utiliser pour dialoguer. Cette notion de pilote est fois interne à LIRC : Il ne s’agit pas de périphérique noyau mais juste de définir comment LIRC va dialoguer avec votre périphérique /dev/machin. La subtilité, c’est que LIRC peut très bien avoir été compilé sans le support du périphérique que vous voulez utiliser. Vous aurez la liste des drivers supportés en lancant :
lircd -H help
Si vote récépteur IR est reconnu comme clavier, vous pouvez utiliser devinput.
REMOTE_DEVICE
Entrer ici le chemin du récepteur IR trouvé plus haut.
REMOTE_LIRCD_CONF
Entrer /etc/lirc/lircd.conf
/etc/lirc/lircd.conf
Sources :
- Merci à Gwendal Roulleau, http://mmed.roulleau.net/?p=7