Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
lirc [Le 03/09/2016, 04:40]
181.132.143.116 [Méthode alternative avec InputLirc]
lirc [Le 11/09/2022, 11:54] (Version actuelle)
moths-art 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)
Ligne 1: Ligne 1:
-{{tag>hardy télécommande multimédia matériel media_center}}+{{tag>Xenial ​télécommande multimédia matériel media_center}}
 ---- ----
  
-====== LIRC - Installation & maintenance ​====== +====== ​Paramétrer sa télécommande avec LIRC ====== 
- +De nombreuses télécommandes infrarouges sont compatibles sous Linux (mais pas toutes). Les fonctionnalités de  l'​infrarouge (ir-core) sont désormais intégrées par défaut au [[:​kernel|noyau]].\\ 
-===== Description ===== +LIRC (Linux Infrared Remote Control) est un ensemble d'​outils permettant de reconnaître et configurer les récepteurs et télécommandes infrarouge. Il existe depuis longtemps, bien avant que le noyau ne reconnaissent nativement les télécommandes IR.
- +
-LIRC permet d'​utiliser une télécommande infrarouge. Presque toutes ​(mais pas toutes) sont compatibles+
 Par défaut, Les scripts d'​initialisation de LIRC sont correctement configurés pour la gestion d'un seul appareil, mais en réalité les scripts du pilote peuvent en gérer plusieurs. Si vous cherchez à configurer un transmetteur infrarouge et un récepteur, plusieurs transmetteurs,​ ou plusieurs récepteurs,​ commencez d'​abord par configurer un seul appareil et vérifiez son bon fonctionnement. Après cela seulement, vous pourrez vous intéresser à la section traitant la configuration de multiples appareils. Par défaut, Les scripts d'​initialisation de LIRC sont correctement configurés pour la gestion d'un seul appareil, mais en réalité les scripts du pilote peuvent en gérer plusieurs. Si vous cherchez à configurer un transmetteur infrarouge et un récepteur, plusieurs transmetteurs,​ ou plusieurs récepteurs,​ commencez d'​abord par configurer un seul appareil et vérifiez son bon fonctionnement. Après cela seulement, vous pourrez vous intéresser à la section traitant la configuration de multiples appareils.
  
-Cette page explique comment configurer LIRC avec le pilote « lirc_mceusb ». C'est un exemple. Si vous souhaitez utiliser LIRC avec un autre type de récepteur, vous pouvez le compiler directement avec un autre pilote (pour certains récepteurs vous trouverez des [[#​pilotes_demandant_un_effort_supplementaire|informations complémentaires]]).+Essayer d'​abord l'​utilisation d'[[:irkeytable|IR-Keytable]]. Si l'​utilisation de IR-Keytable n'a rien donnée, alors suivez les instructions de cette page.
  
 +===== Prérequis =====
  
-<note important>​ Depuis le noyaux 2.6.33 et LIRC 0.9 beaucoup de choses ont changé avec l'​intégration au noyau de fonctionalités télécommandes infrarouge (ir-core) et de fait ce qui est décrit ci-dessous ne s'​applique pas forcement. Le site français MythTV publie des informations très utiles sur le sujet [[http://​mythtv-fr.org/​wiki/​piloter_par_telecommande]].</​note>​ +  ​Disposer ​des [[:sudo|droits d'​administration]]. 
-===== Installation et configuration pour une télécommande ===== +  ​* Disposer d'​une ​connexion ​à Internet configurée ​et activée.
- +
-==== Prérequis ==== +
- +
-Le [[:​dépôts|dépôt]] universe doit être activé. +
- +
-==== Installation ==== +
- +
-**Avec keytable (fonctionne très bien avec ubuntu 14.04) :** +
- +
-Avec keytable, les touches de votre télécomande se comporteront comme des touches de clavier. +
- +
-[[:tutoriel:​comment_installer_un_paquet|Installez les paquets]] [[apt://​ir-keytable]] (il est préférable de désinstaller LIRC auparavant si vous l'​aviez installé). +
- +
-Pour savoir si votre récepteur est reconnue tapez dans la console : +
-  ​sudo ir-keytable +
-Si votre récepteur est reconnue vous obtenez quelque chose de la sorte : +
- Found /​sys/​class/​rc/​rc2/​ (/​dev/​input/​event14) with: +
-     Driver (null), table rc-dib0700-rc5 +
-     Supported protocols: NEC RC-5 RC-6  +
-     Enabled protocols: RC-5  +
-     Name: IR-receiver inside an USB DVB re +
-     bus: 3, vendor/​product:​ 2040:7050, version: 0x0598 +
-     Repeat delay = 500 ms, repeat period = 125 ms +
-Dans cet exemple le récepteur est le rc2 et il gère les protocoles NEC, RC-5 et RC-6. +
-Si votre récepteur est reconnue, il faut maintenant vérifier que votre télécommande est reconnue. Tapez : +
-  ir-keytable -t --sysdev rc2 +
-Remplacer rc2 par votre récepteur (rc0, rc1, ...). +
- +
-<​note>​[cas particulier ?]  Lorsque vous débranchez et rebrancher votre récepteur IR, le nom de celui-ci va changer : si c'était rc0 il deviendra rc1.</​note>​ +
- +
-Appuyez sur les touches de votre télécommande. Si votre télécommande est reconnue, à chaque appuie sur une touche, une où des lignes ​ apparaîtront : +
-  1446572211.444184:​ event type EV_MSC(0x04):​ scancode = 0x1f32 +
-  1446572211.444184:​ event type EV_SYN(0x00). +
-  1446572211.558001:​ event type EV_MSC(0x04):​ scancode = 0x0d +
-Chaque touche ​à un scancode même s'il est très probable que toutes les touches ne soient pas reconnues. +
- +
-Maintenant il faut pouvoir associer chaque touche à une lettre.  +
- +
-__En utilisant un fichier de paramétrage existant :__ +
- +
-Des fichiers situés dans /​lib/​udev/​rc_keymaps existent ​et contiennent déjà des paramètres (ce qui vous évitera de créer vous même votre fichier). +
- +
-Pour cela, en remplaçant 0x0d par votre scancode, tapez la ligne ci-dessous qui affichera les fichiers contenant ce scancode : +
-  grep -iH 0x0d /​lib/​udev/​rc_keymaps/​* +
-Vous obtenez quelque chose de la sorte : +
-  /​lib/​udev/​rc_keymaps/​apac_viewcomp:​0x0d KEY_STOP +
-  /​lib/​udev/​rc_keymaps/​ati_tv_wonder_hd_600:​0x0d KEY_UP +
-  /​lib/​udev/​rc_keymaps/​ati_x10:​0x0d KEY_1 +
-  /​lib/​udev/​rc_keymaps/​avermedia_cardbus:​0x0d KEY_7 +
-  /​lib/​udev/​rc_keymaps/​behold_columbus:​0x0D KEY_SETUP +
-  /​lib/​udev/​rc_keymaps/​budget_ci_old:​0x0d KEY_MUTE +
-  /​lib/​udev/​rc_keymaps/​cinergy:​0x0d KEY_CHANNELUP +
-  ... +
-Dans cet exemple j'​obtenais le scancode 0x0d lorsque j’appuyais sur le bouton "​Couper le son" de ma télécommande. Grâce à la commande précédente je me rend compte que le fichier budget_ci_old contient le bon scancode. +
- +
-Pour avoir le bon fichier, répéter l'​opération avec différents scancodes. +
- +
-__En créant votre fichier de paramétrage :__ +
- +
-Vous pouvez créer votre fichier (avec gedit par exemple). +
- +
-La première ligne doit être la suivante : +
-  # table nomdevotretable,​ type: letypedelatélécommande +
-Le type de la télécommande correspond à RC5, RC6, NEC, UNKNOWN, ... +
- +
-Et ensuite les affectations de touches sous la forme :  +
-  scancode latouche +
- +
-Exemple :  +
-  # table telecommandetv,​ type: RC5+
   ​   ​
-  0x00 KEY_SPACE +===== Installation =====
-  0x01 KEY_N +
-  0x02 KEY_BRIGHTNESSUP +
-  0x0d KEY_MUTE +
-  ...+
  
-Pour vous aidez à la rédaction de ce fichier, vous trouverez une liste des scancodes avec leur signification ​[[https://​linuxtv.org/​wiki/​index.php/​Remote_Controllers ​ici]].+[[:tutoriel:​comment_installer_un_paquet|Installez les paquets]] **[[apt>​lirc]]**.
  
-Finalement il faut associer le fichier (un récupéré ou celui que vous avec créé) à un récepteur. Tapez la commande ci-dessous :  +===== Configuration =====
-   sudo ir-keytable -c -w /​etc/​rc_keymaps/​budget_ci_old --sysdev rc2 +
-Dans cet exemple, j'​utilise le fichier budget_ci_old pour le récepteur rc2. (Dans la ligne le -c permet de nettoyer la table de rc2 et -w permet écrire la nouvelle table à partir du fichier sélectionné). +
-Une fois que vous aurez testé vos modifications,​ il suffira d'​ajouter cette ligne de commande au fichier /​etc/​rc.local pour qu'​elles soient prises en compte au prochain redémarrage.+
  
-Maintenant chaque touche de votre télécommande agit comme une touche du clavier.+==== Configuration des modules ====
  
-Pour VLC, par exemple, vous pouvez associer dans Outils-->​Configuration-->​Raccourcies chaque touche de votre télécommande à une action (changer de chaîne, mettre en plein écran, pause, ...). +Durant la configuration des modules LIRC vous devrez sélectionner le type de récepteur infrarouge que vous allez utiliser ​avec la commande : <​code>​sudo dpkg-reconfigure lirc</code>
- +
-**Avec LIRC :** +
- +
-[[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] [[apt://​lirc]],​ [[apt://​lirc-modules-source]] et [[apt://​module-assistant]]. +
- +
-<​note>​Certaines télécommandes sont directement supportées par le [[:​kernel|noyau]] (voir la section « [[#​materiel_gere_par_i2c]] »).</​note>​ +
-<​note>​Pour Maverick et après, lirc-modules-source ne doit pas forcement être installé (voir [[http://​www.mail-archive.com/​ubuntu-bugs@lists.ubuntu.com/​msg2555899.html|bug]]). Le paquet n'​existe plus dans Precise Pangolin (12.04 LTS)</​note>​ +
- +
-==== Configuration ==== +
- +
-=== Configuration des modules === +
- +
-Durant la configuration des modules LIRC vous devrez sélectionner le type de récepteur infrarouge que vous allez utiliser+
- +
-  ​sudo dpkg-reconfigure lirc-modules-source +
- +
-ou pour les versions récentes sans lirc-modules-sources +
- +
-  sudo dpkg-reconfigure lirc +
- +
-|Informations diverses sur les périphériques IR supportés. (Flèches haut et bas pour faire défiler).\\ Notez le (les) nom(s) du (des) module(s) que vous voulez utiliser.\\ Sélectionnez « OK » grâce à la touche de tabulation (->​).|{{lirc:​info_modules.png?​320}}| +
-|Sélectionnez le (les) module(s) que vous souhaitez configurer. Pour certains modules, consultez la partie [[#​pilotes_demandant_un_effort_supplementaire]].\\ (Utilisez les flèches haut et bas pour naviguer et la barre d'​espace pour sélectionner ; tabulation pour aller sur le bouton ​<OK>)|{{lirc:​select_modules.png?​320}}| +
-|Le script vous propose de compiler automatiquement les modules. Sélectionnez <​non>​.|{{lirc:​autoconstruct.png?​320}}| +
-|Vous avez maintenant différentes options pour remplacer le fichier ''​lirc-modules-source.conf''​. Sélectionnez « Installer la version du responsable du paquet ».|{{lirc:​replace_modules-source_dot_conf.png?​320}}|+
  
 +|Sélectionnez le (les) module(s) que vous souhaitez utiliser et configurer. Pour certains modules, consultez cette  [[#​pilotes_demandant_un_effort_supplementaire|partie de la page]].\\ (Utilisez les flèches haut et bas pour naviguer et la barre d'​espace pour sélectionner ; tabulation pour aller sur le bouton <​OK>​)|{{ :​utilisateurs:​zarmu:​lirc_uxenial_01.png?​direct&​320 |}}|
 +|Choisissez ensuite le transmetteur correspondant à votre matériel.|{{ :​utilisateurs:​zarmu:​lirc_uxenial_02.png?​direct&​320 |}}|
  
 === Modification du fichier /​etc/​lirc/​hardware.conf === === Modification du fichier /​etc/​lirc/​hardware.conf ===
Ligne 134: Ligne 33:
   * Remplissez la section « ''​MODULES''​ » avec le nom de votre module entre guillemets, préfixé de l'​acronyme « ''​lirc_''​ » (par exemple pour le pilote ''​mceusb'',​ mettez « ''​lirc_mceusb''​ »).   * Remplissez la section « ''​MODULES''​ » avec le nom de votre module entre guillemets, préfixé de l'​acronyme « ''​lirc_''​ » (par exemple pour le pilote ''​mceusb'',​ mettez « ''​lirc_mceusb''​ »).
  
-<note tip>Sur le site du projet LIRC, [[http://​www.lirc.org/​html/​table.html|une page]] recense les matériels supportés avec les modules appropriés (colonne « //Required LIRC kernel modules// »). Suivant le récepteur utilisé, on utilise soit un module, comme indiqué précédemment,​ soit un pilote. Dans ce dernier cas, il faut laisser le paramètre ''​MODULES''​ vierge.</​note>​+<note tip>Sur le site du projet LIRC, [[https://​www.lirc.org/​html/​table.html|une page]] recense les matériels supportés avec les modules appropriés (colonne « //Required LIRC kernel modules// »). Suivant le récepteur utilisé, on utilise soit un module, comme indiqué précédemment,​ soit un pilote. Dans ce dernier cas, il faut laisser le paramètre ''​MODULES''​ vierge.</​note>​
  
 La page [[:lirc - exemples "​hardware.conf"​]] de la documentation donne des exemples de fichiers ''​hardware.conf''​. La page [[:lirc - exemples "​hardware.conf"​]] de la documentation donne des exemples de fichiers ''​hardware.conf''​.
- 
-==== Compilation des modules LIRC ==== 
- 
-<note important>​ 
-Les modules LIRC ont besoin d'​être recompilés à chaque mise à jour du noyau. 
-</​note>​ 
-<​note>​Selon votre matériel, cette étape n'est pas nécessaire.</​note>​ 
- 
-Nettoyez le système ancienne version du module LIRC : 
-  sudo rm /​usr/​src/​lirc*deb 
-  sudo m-a clean lirc 
- 
-Préparez votre système à une compilation de nouveaux modules noyau (cette étape lui fait préparer les bons //​headers//​) : 
-  sudo m-a update,​prepare 
- 
-Compilez et installez les modules du noyau : 
-  sudo m-a a-i lirc 
- 
-Mettez à jour la liste des modules : 
-  sudo depmod -a 
- 
-Redémarrez LIRC : 
-  sudo /​etc/​init.d/​lirc restart 
  
 ==== Le fichier lircd.conf ==== ==== Le fichier lircd.conf ====
  
 Le fichier ''​lircd.conf''​ liste les correspondances entre le signal IR et la fonction de la touche. Il existe deux façons de l'​obtenir : Le fichier ''​lircd.conf''​ liste les correspondances entre le signal IR et la fonction de la touche. Il existe deux façons de l'​obtenir :
-  * trouver un fichier existant (sur le site [[http://​www.lirc.org/​remotes/​|lirc.org]] ; le plus simple) ;+  * trouver un fichier existant (sur le site [[https://​www.lirc.org/​remotes/​|lirc.org]] ; le plus simple) ;
   * le créer à partir d'un utilitaire de LIRC (''​irrecord''​).   * le créer à partir d'un utilitaire de LIRC (''​irrecord''​).
  
Ligne 202: Ligne 78:
 Pour la création des fichiers lircrc, il faut se reporter à [[:​tutoriel:​lircrc|ce tutoriel]]. Pour la création des fichiers lircrc, il faut se reporter à [[:​tutoriel:​lircrc|ce tutoriel]].
  
-===== Pilotes demandant ​en effort supplémentaire =====+===== Pilotes demandant ​un effort supplémentaire =====
  
 ==== Récepteur ou émetteur infrarouge ==== ==== Récepteur ou émetteur infrarouge ====
  
 Une boîte de dialogue supplémentaire s'​affichera au moment de la configuration des modules. Une boîte de dialogue supplémentaire s'​affichera au moment de la configuration des modules.
- 
-==== Périphériques GPIO ==== 
- 
-Depuis le noyau 2.6.22, on ne peut plus utiliser le pilote lirc_gpio de LIRC. À la place, les périphériques GPIO seront gérés par le pilote native ''/​dev/​input''​ de LIRC. Lors de la configuration des modules, on vous demandera quel périphérique d'​événement vous voulez utiliser pour votre télécommande. Cette information peut être trouvée à l'aide de la commande suivante : 
-<​code>​cat /​proc/​bus/​input/​devices</​code>​ 
  
 ==== Télécommande Apple ==== ==== Télécommande Apple ====
Ligne 217: Ligne 88:
 Il faut trouver le périphérique d'​événement dans ''/​dev/''​ et le renseigner dans le paramètre ''​DEVICE''​ dans le fichier ''/​etc/​lirc/​hardware.conf''​. Il faut trouver le périphérique d'​événement dans ''/​dev/''​ et le renseigner dans le paramètre ''​DEVICE''​ dans le fichier ''/​etc/​lirc/​hardware.conf''​.
  
-==== Méthode alternative avec InputLirc ==== 
-InputLirc est un daemon léger qui permet de ré-envoyer les KeyCodes générés par /​dev/​input/​eventX aux clients Lirc. 
- 
-Pour commencer, il faut stopper le daemon Lircd. Pour cela, nous allons reconfigurer le paquet Lirc : 
-<​code>​ sudo dpkg-reconfigure lirc </​code>​ 
- 
-Il faut alors répondre "​none"​ aux deux questions posées. Maintenant, le paramètre START_LIRCD devrait être configuré sur "​false"​ dans etc/​lirc/​hardware.conf \\ 
-On peut alors installer InputLirc : 
- 
-<​code>​ sudo apt-get install inputlirc </​code>​ 
- 
-Pour le configurer, il faut connaître le numéro du EventX correspondant à votre récepteur IR : 
- 
-<​code>​cat /​proc/​bus/​input/​devices </​code>​ 
- 
-Dans mon cas, sur ma Zbox nano, j’obtiens : 
- 
-<​code>​I:​ Bus=0019 Vendor=1050 Product=00c5 Version=0062 
-N: Name="​Nuvoton w836x7hg Infrared Remote Transceiver"​ 
-P: Phys=nuvoton/​cir0 
-S: Sysfs=/​devices/​pnp0/​00:​02/​rc/​rc0/​input7 
-U: Uniq= 
-H: Handlers=kbd event7 ​ 
-B: PROP=0 
-B: EV=100013 
-B: KEY=fff 0 108fc010 4004900000000 0 40000a000 1080c4000801 9e168000000000 2 
-B: MSC=10</​code>​ 
-  
-Donc, dans mon cas, les signaux de ma télécommande sont transmis à travers /​dev/​input/​event7,​ ce qu'il faut indiquer à inputLirc en ajoutant au fichier /​etc/​default/​inputlirc : 
-<​file>​EVENTS="/​dev/​input/​event7"​ 
-OPTIONS="​-g -m 0 -c"</​file>​ 
- 
-Il ne reste plus qu'à redemarrer inputLirc : 
-<​code>/​etc/​init.d/​inputlirc stop 
-/​etc/​init.d/​inputlirc start</​code>​ 
- 
-<​note>​ Ces informations sont issues de [[http://​kodi.wiki/​view/​HOW-TO:​Set_up_an_MCE_remote_control_in_Linux]] (en anglais)</​note>​ 
 ===== Installation et configuration pour plusieurs télécommandes ===== ===== Installation et configuration pour plusieurs télécommandes =====
  
-<note warning>​Partie à vérifier avec les dernières versions.</​note>​ +Une fois que LIRC fonctionne avec une télécommande,​ vous pouvez modifier la configuration pour supporter des télécommandes supplémentaires.
- +
-Une fois que LIRC fonctionne avec une télécommande,​ vous pouvez modifier la configuration pour supporter des télécommandes supplémentaires. ​La première chose à faire sera de vous assurer que votre noyau contient tous les pilotes nécessaires pour faire fonctionner ce matériel supplémentaire. Si, lors de la configuration pour un seul appareil, vous aviez construit les modules dont vous pensiez avoir besoin pour les autres, vous pouvez sauter l'​étape suivante. +
- +
-==== Compiler les modules supplémentaires dont on a besoin ==== +
- +
-Nettoyez les vieux modules : +
-  sudo rm /​usr/​src/​lirc*deb +
-  sudo m-a clean lirc +
- +
-Arrêtez LIRC et déchargez tous les modules correspondants : +
-  sudo /​etc/​init.d/​lirc stop +
-  sudo rmmod LOADED_LIRC_MODULES +
- +
-Remplacez LOADED_LIRC_MODULES par les noms des modules LIRC que vous aviez chargés. +
- +
-Reconfigurez lirc-modules-source. Choisissez tous les modules dont vous aurez besoin, y compris ceux d'​avant : +
-  sudo dpkg-reconfigure lirc-modules-source +
- +
-Compilez et installez tout ça : +
-  sudo m-a a-i lirc +
- +
-Si vous avez un message qui dit qu'il n'​arrive pas à installer, vous pouvez forcer ceci :   +
-  sudo dpkg -i /​usr/​src/​lirc*deb+
  
 ==== Modification des scripts d'​initialisation ==== ==== Modification des scripts d'​initialisation ====
Ligne 328: Ligne 139:
   * USB-UIRT (avec le module lircd natif).   * USB-UIRT (avec le module lircd natif).
  
-Les émetteurs utilisant i2c ont une configuration spécifique car n'​utilisant plus LIRC.+Les émetteurs utilisant i2c ont une configuration spécifique car n'​utilisant plus LIRC (Voir ir-keytable)
  
 Cette partie va donc décrire les configurations spécifiques à différents types d'​émetteurs infrarouge. Après avoir préparé les configurations spécifiques à un matériel, il faut passer à la partie sur la configuration générale de la transmission infrarouge. Cette partie va donc décrire les configurations spécifiques à différents types d'​émetteurs infrarouge. Après avoir préparé les configurations spécifiques à un matériel, il faut passer à la partie sur la configuration générale de la transmission infrarouge.
Ligne 340: Ligne 151:
 === Récepteur infrarouge et quadruple-transmetteur CommandIR === === Récepteur infrarouge et quadruple-transmetteur CommandIR ===
  
-Le [[http://​www.commandir.com/​content/​view/​37/​54/​|site de CommandIR]] (en anglais) indique comment installer ce matériel. Il suffit de lancer ''​gnome-lirc-properties''​ (dans un bureau Gnome) et de sélectionner le bon matériel.+Le [[https://​www.commandir.com/​content/​view/​37/​54/​|site de CommandIR]] (en anglais) indique comment installer ce matériel. Il suffit de lancer ''​gnome-lirc-properties''​ (dans un bureau Gnome) et de sélectionner le bon matériel.
  
 === Transmetteur infrarouge MCEUSB2 === === Transmetteur infrarouge MCEUSB2 ===
Ligne 354: Ligne 165:
 Téléchargez le micrologiciel Hauppauge et ajoutez le jeu de codes approprié à votre fichier lircd.conf pour le périphérique que vous voulez contrôler. Téléchargez le micrologiciel Hauppauge et ajoutez le jeu de codes approprié à votre fichier lircd.conf pour le périphérique que vous voulez contrôler.
  
-Le micrologiciel peut être trouvé [[http://​www.blushingpenguin.com/​mark/​lmilk/​haup-ir-blaster.bin|ici]]. Téléchargez-le et placez-le dans le répertoire ''/​lib/​firmware/''​.+Le micrologiciel peut être trouvé [[https://​www.blushingpenguin.com/​mark/​lmilk/​haup-ir-blaster.bin|ici]]. Téléchargez-le et placez-le dans le répertoire ''/​lib/​firmware/''​.
  
-Les jeux de codes sont  [[http://​www.blushingpenguin.com/​mark/​lmilk/​lircd.conf|ici]]. ​ Ce fichier contient les jeux de codes de tous les périphériques de la base de données. Extrayez-en l'​information de votre périphérique et insérez-la dans le fichier ''/​etc/​lirc/​lircd.conf''​ -- en prenant soin de sauvegarder l'​original dans un lieu sûr.+Les jeux de codes sont  [[https://​www.blushingpenguin.com/​mark/​lmilk/​lircd.conf|ici]]. ​ Ce fichier contient les jeux de codes de tous les périphériques de la base de données. Extrayez-en l'​information de votre périphérique et insérez-la dans le fichier ''/​etc/​lirc/​lircd.conf''​ -- en prenant soin de sauvegarder l'​original dans un lieu sûr.
  
 Une fois ces deux étapes effectuées,​ redémarrez l'​ordinateur avant de continuer. Une fois ces deux étapes effectuées,​ redémarrez l'​ordinateur avant de continuer.
Ligne 362: Ligne 173:
 == Ajout du jeu de codes pour le transmetteur == == Ajout du jeu de codes pour le transmetteur ==
  
-Il vous faut déterminer le code de votre appareil. Pour le trouver, consultez la liste [[http://​www.blushingpenguin.com/​mark/​lmilk/​IRcodesets.html|ici]]. Il n'est pas toujours aisé de trouver le bon code pour votre appareil. Cependant, la liste principale permet généralement de le trouver par élimination.+Il vous faut déterminer le code de votre appareil. Pour le trouver, consultez la liste [[https://​www.blushingpenguin.com/​mark/​lmilk/​IRcodesets.html|ici]]. Il n'est pas toujours aisé de trouver le bon code pour votre appareil. Cependant, la liste principale permet généralement de le trouver par élimination.
  
 Une fois que vous avez déterminé votre code, il faut extraire le jeu de codes correspondant dans le fichier principal. Il faut ensuite les ajouter au fichier ''/​etc/​lirc/​lircd.conf''​ comme pour une autre télécommande. Une fois que vous avez déterminé votre code, il faut extraire le jeu de codes correspondant dans le fichier principal. Il faut ensuite les ajouter au fichier ''/​etc/​lirc/​lircd.conf''​ comme pour une autre télécommande.
Ligne 425: Ligne 236:
  
 Les problèmes avec la sélection des codes, le positionnement de l'​émetteur et autres vont au-delà de l'​objectif de cette page. Vous pouvez faire de plus amples recherches sur Internet qui possède des informations sur ces sujets. Les problèmes avec la sélection des codes, le positionnement de l'​émetteur et autres vont au-delà de l'​objectif de cette page. Vous pouvez faire de plus amples recherches sur Internet qui possède des informations sur ces sujets.
- 
-=== Matériel géré par i2c === 
- 
-Ubuntu Edgy a introduit directement dans son noyau la gestion de quelques télécommandes via le bus i2c. Pour ces télécommandes,​ il est déconseillé d'​utiliser LIRC. Quand vous appuyez sur des boutons de votre télécommande,​ ils devraient être reconnus directement comme des touches ordinaires du clavier. Si les comportements de ces touches ne vous plaisent pas, voyez la page [[tutoriel:​creer_et_utiliser_un_agencement_de_clavier_personnalise|Créer et utiliser un agencement de clavier personnalisé]]. 
- 
-Si vous vous entêtez à vouloir garder lirc, il existe un tutoriel en anglais pour adapter votre noyau à cet usage : [[http://​www.ubuntuforums.org/​showthread.php?​t=288229|HOWTO:​ Lirc in Edgy]]. 
- 
-<note warning>​Partie à vérifier avec les dernières versions.</​note>​ 
- 
-Sous Intrepid, on peut parvenir au même résultat en indiquant simplement à HAL d'​ignorer le périphérique,​ ce qui permet à lirc de le détecter et de l'​utiliser. Pour cela, [[:​tutoriel:​comment_editer_un_fichier|éditez le fichier]] ''/​usr/​share/​hal/​fdi/​preprobe/​20thirdparty/​lirc.fdi'',​ à la ligne :  
-<​file>​ 
-<match key="​info.product"​ contains_ncase="​saa7134 ir">​ 
-</​file>​ 
-remplacez ''​saa7134 ir''​ par l'''​info.product''​ de votre télécommande,​ que l'on peut trouver à l'aide de la commande ''​lshal''​. Après redémarrage,​ la télécommande devrait être accessible pour LIRC avec le pilote ''​dev/​input''​. 
  
 ==== Configuration générale et utilisation ==== ==== Configuration générale et utilisation ====
Ligne 465: Ligne 262:
  
 Si la transmission de fonctionne pas immédiatement,​ la meilleure méthode pour commencer un diagnostic est d'​utiliser un appareil photo numérique. Allumez l'​appareil photo et regardez la [[http://​fr.wikipedia.org/​wiki/​Diode_électroluminescente|DÉL]] infrarouge de laquelle vous essayez de transmettre à travers l'​objectif. Vous devriez voir des flashs violets venant de la DÉL infrarouge quand vous essayez de transmettre. Si vous ne voyez rien, votre appareil ne transmet rien. Si la transmission de fonctionne pas immédiatement,​ la meilleure méthode pour commencer un diagnostic est d'​utiliser un appareil photo numérique. Allumez l'​appareil photo et regardez la [[http://​fr.wikipedia.org/​wiki/​Diode_électroluminescente|DÉL]] infrarouge de laquelle vous essayez de transmettre à travers l'​objectif. Vous devriez voir des flashs violets venant de la DÉL infrarouge quand vous essayez de transmettre. Si vous ne voyez rien, votre appareil ne transmet rien.
 +
 +
 +==== InputLirc ====
 +''​InputLirc''​ est un daemon léger qui permet de ré-envoyer les KeyCodes générés par ''/​dev/​input/​eventX''​ aux clients Lirc.\\ ​
 +Il faut donc installer **[[apt>​inputlirc]]**.
 +
 +<note warning>​ImputLirc est incompatible avec Lirc. Pour que cette méthode fonctionne, il faut impérativement désinstaller Lirc ou s'​assurer que le daemon Lircd n'est pas lancé. Pour cela, lors de l'​installation de Lirc ou de sa re-configuration : <​code>​sudo dpkg-reconfigure lirc</​code>​ il faut bien avoir répondu none aux questions posée. Assurez vous également que le paramètre START_LIRCD est bien configuré sur ''​false''​ dans **etc/​lirc/​hardware.conf**.</​note>​
 +
 +Pour le configurer, il faut connaître le numéro du EventX correspondant à votre récepteur IR :
 +
 +<​code>​cat /​proc/​bus/​input/​devices </​code>​
 +
 +Par exemple, sur une Zbox nano, vous pourrez obtenir :
 +<​code>​I:​ Bus=0019 Vendor=1050 Product=00c5 Version=0062
 +N: Name="​Nuvoton w836x7hg Infrared Remote Transceiver"​
 +P: Phys=nuvoton/​cir0
 +S: Sysfs=/​devices/​pnp0/​00:​02/​rc/​rc0/​input7
 +U: Uniq=
 +H: Handlers=kbd event7 ​
 +B: PROP=0
 +B: EV=100013
 +B: KEY=fff 0 108fc010 4004900000000 0 40000a000 1080c4000801 9e168000000000 2
 +B: MSC=10</​code>​
 + 
 +Donc, ici les signaux de la télécommande sont transmis à travers ''/​dev/​input/​event7'',​ ce qu'il faut indiquer à ''​inputLirc''​ en ajoutant au fichier ''/​etc/​default/​inputlirc''​ :
 +<​file>​EVENTS="/​dev/​input/​event7"​
 +OPTIONS="​-g -m 0 -c"</​file>​
 +
 +<​note>​[cas particulier ?]  Lorsque vous débranchez et rebrancher votre récepteur IR, le numero eventX ​ peut changer. Voir plus bas comment s'​affranchir de cet inconvénient</​note>​
 +
 +Il ne reste plus qu'à redémarrer inputLirc :
 +<​code>/​etc/​init.d/​inputlirc stop
 +/​etc/​init.d/​inputlirc start</​code>​
 +
 +Et tester que maintenant, votre télécommande est bien reconnue et que l'​appui de touche renvoie le bon code lirc :
 +<​code>​irw</​code>​
 +
 +<note tip>​Maintenant que InputLirc fonctionne, les scancodes générés par votre télécommande ne sont plus transformés en événements clavier KeyCode mais en événements télécommande. La commande <​code>​ir-keytable -t --sysdev rc2</​code>​ ne ferait plus rien apparaître lors de l'​appui des touches. C'est pour cela qu'il faut désormais utiliser la commande <​code>​irw</​code>​ pour tester votre télécommande.</​note>​
 +<note warning>​la commande irw fait partie du paquet Lirc qu'il faut donc installer pour l'​utiliser. Rappelons que InputLirc et Lirc sont incompatibles. Assurez vous bien que le daemon Lircd n'est pas lancé !</​note>​
 +==== Cas où le numero EventX change de temps en temps ====
 +Il arrive que le numero EventX change parfois. Lors d'un redémarrage ou lorsque l'on débranche puis rebranche son récepteur IR USB. Il faut alors créer une règle permanente avec Udev.\\
 +Commençons par rechercher un peu plus d'​information sur votre récepteur IR en tapant (remplacer event8 par le numéro d'​eventX correspondant dans cette cession à votre récepteur IR) :
 +<​code>​ udevadm info -a -p $(udevadm info -q path -n /​dev/​input/​event8) </​code>​
 +
 +On obtient alors par exemple :
 +<​code>​Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every devicefound, ​
 +all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device.
 +
 +  looking at device '/​devices/​pnp0/​00:​01/​rc/​rc0/​input8/​event8':​
 +    KERNEL=="​event8"​
 +    SUBSYSTEM=="​input"​
 +    DRIVER==""​
 +
 +  looking at parent device '/​devices/​pnp0/​00:​01/​rc/​rc0/​input8':​
 +    KERNELS=="​input8"​
 +    SUBSYSTEMS=="​input"​
 +    DRIVERS==""​
 +    ATTRS{name}=="​Nuvoton w836x7hg Infrared Remote Transceiver"​
 +    ATTRS{phys}=="​nuvoton/​cir0"​
 +    ATTRS{properties}=="​0"​
 +    ATTRS{uniq}==""​
 +
 +  looking at parent device '/​devices/​pnp0/​00:​01/​rc/​rc0':​
 +    KERNELS=="​rc0"​
 +    SUBSYSTEMS=="​rc"​
 +    DRIVERS==""​
 +    ATTRS{protocols}=="​[other] [unknown] [rc-5] [nec] [rc-6] [jvc] [sony] [rc-5-sz] [sanyo] [sharp] [mce_kbd] [xmp] [lirc]"​
 +
 +  looking at parent device '/​devices/​pnp0/​00:​01':​
 +    KERNELS=="​00:​01"​
 +    SUBSYSTEMS=="​pnp"​
 +    DRIVERS=="​nuvoton-cir"​
 +    ATTRS{id}=="​NTN0530"​
 +
 +  looking at parent device '/​devices/​pnp0':​
 +    KERNELS=="​pnp0"​
 +    SUBSYSTEMS==""​
 +    DRIVERS==""​
 +</​code>​
 +
 +Il faut alors rechercher l'''​ATTRS{id}''​ correspondant à votre matériel (dans mon cas ''​ATTRS{id}=="​NTN0530"''​) pour créer le lien symbolique ''​MaTelecommande''​ pointant toujours sur le bon ''​EventX'':​
 +
 +<​code>​sudo echo '​KERNEL=="​event*",​ATTRS{id}=="​NTN0530",​SYMLINK="​input/​MaTelecommande"'​ > /​etc/​udev/​rules.d/​10-persistent-ir.rules </​code>​
 +
 +(vous pouver aussi modifier directement le fichier ''/​etc/​udev/​rules.d/​10-persistent-ir.rules'' ​ en ajoutant la ligne : <​file>''​KERNEL=="​event*",​ATTRS{id}=="​NTN0530",​SYMLINK="​input/​MaTelecommande"''</​file>​
 +\\
 +Redemarrez Udev pour que les changements prennent effet :
 +<​code>​sudo /​etc/​init.d/​udev reload
 +sudo udevadm trigger</​code>​
 +
 +Vous devriez voir désormais apparaître le fichier spécial ​ ''/​dev/​input/​MaTelecommande''​\\
 +N'​oubliez pas pour terminer de reconfigurer InputLirc :
 +
 +<​file>​EVENTS="/​dev/​input/​MaTelecommande"​
 +OPTIONS="​-g -m 0 -c"</​file>​
 +
 +Et redemarrer inputLirc :
 +<​code>​sudo /​etc/​init.d/​inputlirc stop
 +sudo /​etc/​init.d/​inputlirc start</​code>​
 +
 +
  
 ===== Liens ===== ===== Liens =====
  
-  * [[http://​www.lirc.org/​|Site officiel de lirc]]+  * [[https://​www.lirc.org/​|Site officiel de lirc]]
   * [[http://​lirc.sourceforge.net/​remotes/​|Fichiers de configuration pour télécommandes]]   * [[http://​lirc.sourceforge.net/​remotes/​|Fichiers de configuration pour télécommandes]]
-  * [[http://​www.lirc.org/​receivers.html|Faire son récepteur pour quelques euros]]+  * [[https://​www.lirc.org/​receivers.html|Faire son récepteur pour quelques euros]]
   * [[https://​help.ubuntu.com/​community/​InstallLirc/​Hardy|Documentation anglophone]]   * [[https://​help.ubuntu.com/​community/​InstallLirc/​Hardy|Documentation anglophone]]
  
 ------ ------
-//​Contributeurs : [[utilisateurs:​Jonas]],​ [[utilisateurs:​Ju]],​ [[utilisateurs:​zetotof]],​ [[utilisateurs:​Julius22]]//​+//​Contributeurs : [[utilisateurs:​Jonas]],​ [[utilisateurs:​Ju]],​ [[utilisateurs:​zetotof]],​ [[utilisateurs:​Julius22]],  [[utilisateurs:​zarmu]]//
  • lirc.1472870413.txt.gz
  • Dernière modification: Le 03/09/2016, 04:40
  • par 181.132.143.116