Lircmd
De Wiki de la communauté Mandriva.
Sommaire |
Lircmd : simuler une souris avec sa télécommande.
Prérequis
Vous devez avoir LIRC installé et fonctionnel sur votre Mandriva.
Description
Le paquet et programme LIRC permet de simuler une souris avec une télécommande. Nous allons paramétrer une télécommande du récepteur infrarouge de marque Terratec Cinergy T2 pour pouvoir déplacer le curseur de la souris dans les 4 directions de base, haut, bas, droite et gauche. On paramètrera aussi le clic droit et le clic gauche. D'autres télécommandes permettent en plus les déplacements en diagonale comme celles de marque ATI par exemple.
Paramétrage
Il vous faut bien connaître les noms de vos touches de télécommande. Pour cela, on tape en console :
Ensuite, l'ordinateur doit être en attente de pression de touche. En utilisant votre télécommande, vous devez voir apparaître une ligne à chaque pression, c'est-à-dire quelque chose du genre :
0000000080010067 00 UP terratec_cinergy_T2
où UP est le nom de la touche.
Maintenant, vous allez pouvoir remplir le fichier de configuration suivant, avec votre éditeur de texte préféré, ici kwrite soit :
Le fichier est vide. Mais pour votre cinergy T2 et toute autre télécommande, vous pouvez y copier/coller ceci :
PROTOCOL IntelliMouse # ACCELERATOR start max multiplier ACCELERATOR 1 10 50 ACTIVATE * RED MOVE_N * UP MOVE_E * RIGHT MOVE_S * DOWN MOVE_W * LEFT BUTTON1_CLICK * INFO BUTTON2_CLICK * TEXT
Pour les modèles de télécommande autres que le Cinergy T2, vous veillerez à modifier, dans ce fichier, les noms de touches à l'aide de la commande IRW.
Description du ficher lircmd.conf
Le protocole
Il en existe trois sortes : MouseSystems, IntelliMouse et IMPS/2.
On a choisi ici : IntelliMouse.
La fonction ACCELERATOR
Elle est composée de trois variables. La première est le nombre de pixels parcourus avant que l'accélération ne prenne effet (soit un effet seuil). La deuxième est le nombre maximal de pixels parcourus en une pression de touche. Enfin, la troisième variable est un coefficient multiplicateur.
La fonction ACTIVATE
Elle permet le lancement de l'application LIRCMD, ici il s'agit de la touche qui porte le nom RED.
La fonction MOVE
Elle permet de paramétrer les directions. Elle est suivie d'un astérisque qui remplace le nom de la télécommande et elle est suivie du nom de la touche de votre télécommande. Ici, la direction west, c'est à dire celle de gauche, est exécutée par la touche du nom LEFT.
Les fonctions BUTTONX_CLICK
Elles paramètrent les clics droit et gauche.
Il existe d'autres fonctions utilisables pour ce fichier /etc/lircmd.conf. Rendez-vous à :
http://www.lirc.org/html/configure.html#lircmd.conf
Vous pouvez trouver de nombreux fichiers lircmd.conf déjà paramétrés pour votre télécommande sur le net !
Configurer le fichier xorg.conf
Il vous reste à modifier votre serveurX pour la prise en compte de la nouvelle souris LIRC. On ouvre le fichier :
Mettez-y, avec les autres sections InputDevice, ceci :
Section "InputDevice"
Identifier "LIRC-Mouse"
Driver "mouse"
Option "Device" "/dev/lircm"
Option "Protocol" "IntelliMouse"
Option "SendCoreEvents"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
EndSection
Il faut aussi copier/coller ceci dans la partie ServerLayout, tout en bas de votre xorg.conf :
InputDevice "LIRC-Mouse"
Puis relancez votre serveur graphique.
Les tests
A chaque modification du fichier lircmd.conf, il faut veiller à relancer lirc :
Réponse de l'ordinateur, entre autres :
Lancement du service pour télécommande infrarouge (lircd) : [ OK ] Lancement de l'émulation de la souris par télécommande infraroug[ OK ]d) :
On lance LIRCMD en appuyant sur la touche RED de la télécommande, puis le curseur de la souris devrait se déplacer avec l'aide des touches directionnelles de votre télécommande.
- Si rien ne se passe :
- Vérifiez en console que irw fonctionne, sinon :
- Vérifiez votre fichier /etc/sysconfig/lircd et son paramétrage avec l'installation de votre recepteur infrarouge (voir l'installation de lirc et paramétrages Comment installer LIRC ?).
Cas particuliers
Il arrive lors de l'utilisation de irw, que le comportement de la télécommande ne soit pas celui voulu. En effet, on peut obtenir notamment l'envoi d'un signal double lors d'une seule pression de touche, c'est-à-dire : un signal apparaît lors de la pression et un autre lors de la relache. Par conséquent, toutes les fonctions sont doublées ! Il est donc difficile de sélectionner une chaîne de TV, on veut la 2 et on est sur la 22 !
Il peut aussi arriver qu'IRW ne répète pas le signal lors d'une pression continue.Ces types de problèmes sont fréquents et se résolvent par le paramétrage du ficher /etc/lircd.conf. ( voir l'article sur LIRC Comment installer LIRC ?)
Pour notre Cinergy T2 qui cumulait ces deux problèmes, on a ajouté et modifié quelques lignes au début du fichier lircd.conf :
begin remote name terratec_cinergy_T2 bits 16 eps 30 aeps 100 one 0 0 zero 0 0 pre_data_bits 16 pre_data 0x8001 gap 199695 toggle_bit 0 begin codes
Pour conclure, tout fonctionne correctement. Il reste le problème de udev qui peut changer de temps en temps les entrées des périphériques au démarrage, conséquence : LIRC ne trouve plus le périphérique infrarouge. Ce souci disparaît, semble-t-il, en ajoutant une règle de démarrage à evdev. Problème à chaque démarrage : Udev et Lirc

