Lircmd

De Wiki de la communauté Mandriva.


Lircmd fait partie du programme Lirc. Il permet à Lirc, le serveur des signaux infrarouges des systèmes Linux, d'associer les touches d'une télécommande aux déplacements du curseur d'une souris. C'est-à-dire qu'il permet de contrôler une souris avec une télécommande.

Sommaire

Lircmd : simuler une souris avec sa télécommande.

Prérequis

Vous devez avoir LIRC installé et fonctionnel sur votre Mandriva.

Comment installer LIRC ?

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 :

Image:Konsole.png
[utilisateur@ordi ~]$ irw

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 :

Image:Konsole.png
[root@ordi ~]# kwrite /etc/lircmd.conf

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
Attention !
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 :

Image:Konsole.png
[root@ordi ~]# kwrite /etc/X11/xorg.conf

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 :

Image:Konsole.png
[utilisateur@ordi ~]$ /etc/init.d/lircd restart

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

Attention !

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

Récupérée de « http://wiki.mandriva.com/fr/Lircmd »
en recherche d’emploi ?