Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| utilisateurs:quent57:lirc_avancee [Le 23/12/2010, 18:41] – quent57 | utilisateurs:quent57:lirc_avancee [Le 11/09/2022, 13:12] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | |||
| ====== LIRC, dans le vif du sujet ! ====== | ====== LIRC, dans le vif du sujet ! ====== | ||
| Ligne 5: | Ligne 4: | ||
| < | < | ||
| + | |||
| + | |||
| + | |||
| 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. | 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, | Concrètement, | ||
| + | |||
| + | LIRC permet d' | ||
| + | |||
| + | Par défaut, Les scripts d' | ||
| + | |||
| + | |||
| + | ===== Ce qui a changé ===== | ||
| + | Résumer ce que l'on trouve ici : http:// | ||
| + | FIXME | ||
| Ligne 18: | Ligne 29: | ||
| Puis trouver le bloc correspondant à votre récepteur infrarouge. | Puis trouver le bloc correspondant à votre récepteur infrarouge. | ||
| - | Si vous voyez | + | Si vous voyez dans ce bloc |
| H: Handlers=kdb event8 | H: Handlers=kdb event8 | ||
| Cela signifie que votre télécommande sera reconnu comme un clavier par Xorg (kdb = keyboard = clavier). | Cela signifie que votre télécommande sera reconnu comme un clavier par Xorg (kdb = keyboard = clavier). | ||
| Ligne 24: | Ligne 35: | ||
| ==== Journal de Xorg ==== | ==== Journal de Xorg ==== | ||
| - | Brancher le récepteur et lancer : | + | Brancher le récepteur et lancer : |
| tail / | tail / | ||
| Les dernières lignes donneront des infos sur votre récepteur infrarouge. | Les dernières lignes donneront des infos sur votre récepteur infrarouge. | ||
| ==== Sortie du noyau ==== | ==== Sortie du noyau ==== | ||
| - | Brancher le récepteur et lancer : | + | Brancher le récepteur et lancer : |
| dmesg | tail -20 | dmesg | tail -20 | ||
| Les dernières lignes donneront des infos sur votre récepteur infrarouge. | Les dernières lignes donneront des infos sur votre récepteur infrarouge. | ||
| Ligne 37: | Ligne 48: | ||
| Vous pouvez aller voir ici | Vous pouvez aller voir ici | ||
| ls -l / | ls -l / | ||
| - | 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. | + | 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 quelle |
| - | + | ||
| - | Il est mieux d' | + | |
| On remarque qu'il s'agit juste d'un lien symbolique sur un évènement, | On remarque qu'il s'agit juste d'un lien symbolique sur un évènement, | ||
| + | Udev peut décider d' | ||
| - | Vous devez retenir un chemin de la forme "/ | + | Vous devez donc retenir un chemin de la forme "/// |
| - | (udev peut décider d' | ||
| - | ===== Récupérer les signaux émis par la télécommande ===== | ||
| - | ==== Signaux attrapés | + | ==== Récupérer les signaux émis par la télécommande |
| - | Si xorg arrive à attraper les signaux de la télécommande, | + | |
| - | Si le périphérique est considéré comme un clavier par xorg, | + | === Signaux attrapés par Xorg : === |
| - | on peut savoir ce qui sa passe sur ce périphérique (les évènements " | + | Si xorg arrive à attraper les signaux de la télécommande, |
| + | |||
| + | 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 " | ||
| sudo evtest votre_periph | sudo evtest votre_periph | ||
| // | // | ||
| - | ==== Signaux attrapés par LIRC ==== | + | Penser a installer le paquet [[apt:// |
| + | |||
| + | |||
| + | === Signaux attrapés par LIRC === | ||
| Il faut configurer LIRC avec le fichier / | Il faut configurer LIRC avec le fichier / | ||
| - | Ensuite il suffit de lancer | + | Ensuite il suffit de lancer |
| irw | irw | ||
| Puis appuyez sur les touches de la télécommande, | Puis appuyez sur les touches de la télécommande, | ||
| + | |||
| + | |||
| + | ===== 2 systèmes de gestion de la télécommande, | ||
| + | ==== Garder juste la gestion xorg ==== | ||
| + | Utiliser xmodmap pour assigner les touches a des actions : http:// | ||
| + | Cependant c'est moins puissant que LIRC. | ||
| + | |||
| + | ==== Utiliser LIRC ==== | ||
| + | Pour cela voir plus bas. | ||
| ===== Configurer LIRC ===== | ===== Configurer LIRC ===== | ||
| + | |||
| + | Pour commencer, il faut l' | ||
| + | FIXME donner les bon paramètres a l' | ||
| ==== Fichier de configuration matériel ou / | ==== Fichier de configuration matériel ou / | ||
| - | C’est ici qu’est défini le matériel. | + | 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, | 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, | ||
| Concrètement, | Concrètement, | ||
| - | Il y a plusieurs paramètre a regler dans ce fichier : | + | Il y a plusieurs paramètre a regler dans ce fichier : |
| === REMOTE === | === REMOTE === | ||
| Vous pouvez entrer ici le nom de votre télécommande, | Vous pouvez entrer ici le nom de votre télécommande, | ||
| Ligne 77: | Ligne 102: | ||
| === REMOTE_DRIVER === | === 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 / | + | 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 / |
| - | Vous aurez la liste des drivers supportés en lançant : | + | Vous aurez la liste des drivers supportés en lançant : |
| lircd -H help | lircd -H help | ||
| | | ||
| Ligne 86: | Ligne 111: | ||
| C’est le fichier périphérique qui a été créé par le module noyau que vous avez chargé. Ceci indique au démon LIRC avec qui il va devoir dialoguer. | C’est le fichier périphérique qui a été créé par le module noyau que vous avez chargé. Ceci indique au démon LIRC avec qui il va devoir dialoguer. | ||
| - | Entrer ici le chemin du récepteur IR trouvé plus haut. | + | Entrer ici le chemin du récepteur IR trouvé plus haut ou quelque chose de la forme : LIRC_DEVICE=" |
| === REMOTE_LIRCD_CONF === | === REMOTE_LIRCD_CONF === | ||
| Ligne 92: | Ligne 117: | ||
| - | === Conclusion | + | === Pour aller plus loin (non nécessaire) |
| Comme décrit plus haut, ces informations servent juste à lancer le démon lircd. | Comme décrit plus haut, ces informations servent juste à lancer le démon lircd. | ||
| - | Une fois ces informations en main, vous pouvez donc le lancer manuellement avec : | + | Une fois ces informations en main, vous pouvez donc le lancer manuellement avec : |
| sudo lircd -H REMOTE_DRIVER -d REMOTE_DEVICE -n | sudo lircd -H REMOTE_DRIVER -d REMOTE_DEVICE -n | ||
| Les autres options vus plus haut étant facultative, | Les autres options vus plus haut étant facultative, | ||
| - | -n permet de lancer le programme en tant que démon, en tache de fond, ne pas le mettre si vous voulez voir les retours du programme : | + | -n permet de lancer le programme en tant que démon, en tache de fond, ne pas le mettre si vous voulez voir les retours du programme : |
| sudo lircd -H REMOTE_DRIVER -d REMOTE_DEVICE | sudo lircd -H REMOTE_DRIVER -d REMOTE_DEVICE | ||
| Vous pouvez ensuite tenter de lancer irw dans un autre terminal, et voir ce qu'il se passe. | Vous pouvez ensuite tenter de lancer irw dans un autre terminal, et voir ce qu'il se passe. | ||
| Ligne 115: | Ligne 140: | ||
| Jusqu’ici le démon lircd que vous pouvez maintenant lancer sait comment dialoguer avec votre périphérique émetteur ou récepteur. Mais il ne sait pas vraiment ce qu’il va trouver pendant son dialogue, qu’est ce qu’il doit garder et qu’est ce qu’il doit jeter. Ce fichier lircd.conf est là pour ça : c’est une sorte de « carte » de votre télécommande. A l’intérieur, | Jusqu’ici le démon lircd que vous pouvez maintenant lancer sait comment dialoguer avec votre périphérique émetteur ou récepteur. Mais il ne sait pas vraiment ce qu’il va trouver pendant son dialogue, qu’est ce qu’il doit garder et qu’est ce qu’il doit jeter. Ce fichier lircd.conf est là pour ça : c’est une sorte de « carte » de votre télécommande. A l’intérieur, | ||
| - | Deux cas peuvent se présenter : | + | Deux cas peuvent se présenter : |
| === Vous utilisez le driver devinput === | === Vous utilisez le driver devinput === | ||
| Les codes seront directement envoyés par XOrg (je trompe-je ??). | Les codes seront directement envoyés par XOrg (je trompe-je ??). | ||
| - | Ils suivent une norme, le fichier est donc universel, vous pouvez le trouver | + | Ils suivent une norme, le fichier est donc universel, vous pouvez le trouver |
| ici : [[http:// | ici : [[http:// | ||
| Ligne 129: | Ligne 154: | ||
| === Vous n' | === Vous n' | ||
| + | |||
| Où trouver ce fichier de configuration? | Où trouver ce fichier de configuration? | ||
| Ligne 140: | Ligne 166: | ||
| + | A ajouter : Une partie des fichier est déjà présent par défaut, pour les visualiser naviguer dans ces fichiers : | ||
| + | ls -R / | ||
| + | Pour les inclure : ?? include ~/ | ||
| - | ===== Le point ===== | + | ==== Le point ==== |
| //Mais alors, comment mes applications savent jouer avec LIRC ?// | //Mais alors, comment mes applications savent jouer avec LIRC ?// | ||
| Ligne 151: | Ligne 180: | ||
| Et la configuration de ces applications, | Et la configuration de ces applications, | ||
| - | ===== / | + | ==== / |
| - | ==== Qu' | + | === Qu' |
| Les applications se connectent à la socket lircd, OK. Mais comment l’application sait quoi faire selon la touche pressée? C’est ici qu’intervient le fichier .lircrc. | Les applications se connectent à la socket lircd, OK. Mais comment l’application sait quoi faire selon la touche pressée? C’est ici qu’intervient le fichier .lircrc. | ||
| Ligne 168: | Ligne 197: | ||
| L’appui de la touche « Play » (touche nommée ainsi dans le fichier / | L’appui de la touche « Play » (touche nommée ainsi dans le fichier / | ||
| - | ==== Ou trouver ce fichier ? ==== | + | === Ou trouver ce fichier ? === |
| Plusieurs possibilités : des gens distribuent leur propre fichier, les application peuvent proposer leurs fichiers, ... | Plusieurs possibilités : des gens distribuent leur propre fichier, les application peuvent proposer leurs fichiers, ... | ||
| Sinon des programme peuvent éssayer de les générés comme celui ci : [[apt:// | Sinon des programme peuvent éssayer de les générés comme celui ci : [[apt:// | ||
| - | ===== Une synthèse ===== | + | === A savoir pour le faire soi-même |
| + | [[: | ||
| + | |||
| + | La syntaxe basique pour l' | ||
| + | < | ||
| + | begin | ||
| + | prog = PROGRAMME | ||
| + | button = BOUTON | ||
| + | config = ACTION | ||
| + | end | ||
| + | </ | ||
| + | |||
| + | Où : | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Un [[lircrc|tutoriel spécifique]] existe pour la création des fichiers lircrc (fichiers définissant l' | ||
| + | |||
| + | Vous pourrez trouver des fichiers d' | ||
| + | |||
| + | Pour des informations plus détaillées sur ce fichier, consultez [[http:// | ||
| + | |||
| + | |||
| + | == IRexec == | ||
| + | FIXME | ||
| + | IRexec permet de lancer une application sur la pression d'une touche. La syntaxe est la suivante : | ||
| + | |||
| + | begin | ||
| + | prog = irexec | ||
| + | button = BOUTONS | ||
| + | config = APPLICATION | ||
| + | end | ||
| + | |||
| + | Où APPLICATION est le chemin vers l' | ||
| + | |||
| + | == IRKick == | ||
| + | Pour kde.FIXME | ||
| + | |||
| + | ===== Lancer LIRC ===== | ||
| + | |||
| + | |||
| + | ==== Une petite synthèse ==== | ||
| lircd est un démon qui s’interface avec un périphérique / | lircd est un démon qui s’interface avec un périphérique / | ||
| Les programmes se connectent à cette belle socket, lisent un fichier de conf .lircrc dans le home de l’utilisateur, | Les programmes se connectent à cette belle socket, lisent un fichier de conf .lircrc dans le home de l’utilisateur, | ||
| + | |||
| + | |||
| + | ==== Lancer / redémarrer / arrêter LIRC (enfin !) : ==== | ||
| + | |||
| + | Voici les commandes correspondantes : | ||
| + | |||
| + | sudo service lirc start | ||
| + | sudo service lirc restart | ||
| + | sudo service lirc stop | ||
| ===== Problèmes ===== | ===== Problèmes ===== | ||
| - | ===== Chaque clics est interprétés 2 foix ===== | + | ==== Chaque clics est interprétés 2 foix ==== |
| Chaque clics est interprétés 2 foix : une foix par le xorg, et une foix par LIRC (ce n'est pas pratique pour un bouton comme mute, car l' | Chaque clics est interprétés 2 foix : une foix par le xorg, et une foix par LIRC (ce n'est pas pratique pour un bouton comme mute, car l' | ||
| - | Pour empêcher Xorg d' | + | Pour empêcher Xorg d' |
| - | et inscrire | + | et inscrire |
| Section " | Section " | ||
| Ligne 192: | Ligne 272: | ||
| | | ||
| EndSection | EndSection | ||
| + | |||
| + | ==== Je ne sais pas si ma télécommande marche (piles HS ?, télécommande morte ?) ==== | ||
| + | Si la transmission de fonctionne pas immédiatement, | ||
| + | |||
| + | |||
| + | |||
| + | ==== Je veux utiliser plusieurs télécommandes ==== | ||
| + | <note important> | ||
| + | === Modification des scripts d' | ||
| + | |||
| + | [[: | ||
| + | * Assurez-vous que tous vos modules figurent sur la ligne MODULES="", | ||
| + | * Modifiez les lignes du côté de LIRCD_ARGS="" | ||
| + | < | ||
| + | LIRCD_ARGS=" | ||
| + | LIRCD2_ARGS=" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | [[: | ||
| + | * Changez : | ||
| + | < | ||
| + | LIRCD_ARGS=`build_args $LIRCD_ARGS` | ||
| + | start-stop-daemon --start --quiet --exec / | ||
| + | < /dev/null | ||
| + | </ | ||
| + | en : | ||
| + | < | ||
| + | LIRCD_ARGS=`build_args $LIRCD_ARGS` | ||
| + | LIRCD2_ARGS=`build_args $LIRCD2_ARGS` | ||
| + | start-stop-daemon --start --quiet --exec / | ||
| + | < /dev/null | ||
| + | / | ||
| + | < /dev/null | ||
| + | </ | ||
| + | |||
| + | Faites les manipulations sur ''/ | ||
| + | |||
| + | |||
| + | === Essai === | ||
| + | |||
| + | Démarrez LIRC : | ||
| + | sudo / | ||
| + | |||
| + | Vous devriez avoir deux lircd actifs. Tout processus lirc qui tentera d' | ||
| + | |||
| + | ==== Je veux tester sans ma télécommande sous la main ==== | ||
| + | <note important> | ||
| + | |||
| + | La syntaxe pour la transmission est la suivante : | ||
| + | |||
| + | irsend -d $LIRCDPROCESS SEND_ONCE $REMOTE $BUTTON | ||
| + | |||
| + | où : | ||
| + | |||
| + | * $LIRCDPROCESS représente l' | ||
| + | * $REMOTE représente le nom de la télécommande, | ||
| + | * $BUTTON représente le bouton que vous essayez de transmettre. | ||
| + | |||
| + | Voici un exemple : | ||
| + | |||
| + | irsend -d /dev/lircd SEND_ONCE my_favorite_remote power | ||
| + | |||
| + | Ceci va transmettre le bouton de marche pour la télécommande « my_favourite_remote » en utilisant le processus lircd primaire. | ||
| + | |||
| + | ==== Mon récepteur Generic Mceusb ne marche pas ==== | ||
| + | Voir ce post : [[http:// | ||
| + | et celui la : [[http:// | ||
| + | |||
| + | ===== Aller plus loin ===== | ||
| + | |||
| + | Un logiciel de configuration automatique : http:// | ||
| + | |||
| + | Pour le fichier lircrc : voir | ||
| Ligne 197: | Ligne 352: | ||
| - | Sources : | + | |
| + | Sources : | ||
| * Merci à Gwendal Roulleau, http:// | * Merci à Gwendal Roulleau, http:// | ||
| * http:// | * http:// | ||
| + | * http:// | ||
| * http:// | * http:// | ||
| - | Documentation : | + | Documentation : |
| * Quelques aides pour le fichier lircrc : http:// | * Quelques aides pour le fichier lircrc : http:// | ||
| - | Contributeur : | + | * http:// |
| + | * http:// | ||
| + | * .lircrc avec la notation devinput pour mythTV : http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * http:// | ||
| + | |||
| + | Discussion intéressantes : | ||
| + | * http:// | ||
| + | * http:// | ||
| + | |||
| + | |||
| + | Contributeur : | ||
| * Quent57 | * Quent57 | ||
