The Linux Busmouse Howto, version française

Chris Bagwell, cbagwell@sprynet.com v2.0, 14 février 2000

(Adaptation et maintenance de la version française par Philippe Gaucher <mailto://gaucher@easynet.fr>) Ce document explique comment installer, configurer et utiliser les souris à bus sous Linux. On y trouve la liste des souris reconnues et on tente de répondre aux questions les plus courantes qui apparaissent dans les forums de discussion sur Usenet et les listes de distribution.

Table des matières

1 Introduction 2 1.1 Copyright et dénégations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Réactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Notes sur la version française . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Détermination du type de votre souris 3

2.1 Les interfaces de souris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1 Les souris Inport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.2 Les souris Logitech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.3 Les souris PS/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.4 Les combinés ATI souris-vidéo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.5 Les digitaliseurs Palmpilot IBM PC110 . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.6 Les souris des ordinateurs Apple de bureau . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.7 Souris hybride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Les protocoles de souris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Comment faire fonctionner votre souris 5

3.1 Réglage de l’interruption de la souris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1.1 Les souris Inport et Logitech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1.2 Les souris ATI-XL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1.3 Les souris PS/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2 Configuration du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.1 Compilation du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.2 Modification des interruptions avec un noyau récent . . . . . . . . . . . . . . . . . . . 8

3.3 Les périphériques associés aux souris. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4 Utilisation de votre souris 9

4.1 Configuration des applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1.1 RedHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1.2 Autres distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.2 gpm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3 XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.4 XFree86 et gpm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 Vous n’arrivez toujours pas à faire marcher votre souris ? 11

5.1 Autres sources d’information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.1.1 3-Button Mouse HOWTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.1.2 Laptop-HOWTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.1.3 Wacom Tablet HOWTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1 Introduction

Ce document est un guide pour faire marcher votre souris à bus sous Linux. Avec les distributions les plus avancées qui sont disponibles actuellement, la configuration de ce type de souris est en général facile, mais si vous rencontrez vraiment des problèmes, ce document vous donnera une meilleure compréhension sur la façon de configurer manuellement votre souris, au niveau matériel et logiciel. Aussi loin que je me souvienne, le support des souris à bus a toujours été implémenté dans le noyau, et il n’y a pas eu de réelles modifications pendant une longue période. Ce document devrait donc être valable pour n’importe quelle version de Linux que vous pourriez vraisemblablement avoir.

1.1 Copyright et dénégations

Ce document est Copyright (c)2000 par Chris Bagwell. Ce document peut être distribué selon les termes de la license du Linux Documentation Project à http ://linuxdoc.org/copyright.html <http://linuxdoc.org/ copyright.html>. Merci de contacter l’auteur si vous ne pouvez pas vous procurer cette licence. Vous utilisez les informations contenues dans ce document à vos propres risques. Nous déclinons toute responsabilité quant à son contenu. L’utilisation des concepts, des exemples ou de tout autre contenu se fait entièrement à vos propres risques. Tous les droits sont détenus par leurs propriétaires respectifs, sauf mention contraire explicite. L’utilisation d’un terme dans ce document ne constitue pas une limitation à sa validité en tant que marque. Le fait de citer un produit ou une marque particulière ne constitue pas un endossement. Il est fortement conseillé d’effectuer une sauvegarde de votre système avant une installation importante ainsi qu’à intervalles réguliers.

1.2 Réactions

Si vous trouvez des erreurs dans ce document, si vous avez le moindre commentaire à propos du contenu, une mise à jour ou bien un supplément à ajouter, envoyez-le moi par un courriel à l’adresse électronique signalée tout au début.

1.3 Remerciements

Ce howto a été, dans l’esprit de Linux, un effort collectif. Tous mes remerciements à Mike Battersby, mib@deakin.edu.au qui commença cette FAQ. La plupart des erreurs ont probablement été rajoutées par moi-même.

Tous mes remerciements à Johan Myreen pour la section concernant les souris PS/2, Robert T. Harris pour son aide concernant les sections ATI-XL, Reuben Sumner pour des infos variées et des critiques constructives.

Merci aussi à la foule des gens qui m’ont envoyé des informations sur les souris, ou bien des corrections, et aussi des mots d’encouragement.

1.4 Notes sur la version française

L’adaptation de ce document a été commencée et maintenue par Patrick Robbe jusqu’à la version 1.2, puis par Géraud Canet jusqu’à la version 1.8.

2 Détermination du type de votre souris

Il y a deux caractéristiques différentes et importantes que vous aurez besoin de savoir concernant votre souris avant de continuer : quelle interface est utilisée par la souris et quel est le protocole employé.

L’interface est l’aspect matériel de la souris, et elle inclut des choses comme les ports d’entrées/sorties utilisés ou comment vérifier que c’est installé. C’est la partie qui concerne le noyau, afin qu’il sache comment lire les données provenant de la souris.

Le protocole est l’aspect programmation de la souris. Les applications ont besoin de connaître ce protocole pour interpréter les données brutes provenant de la souris, et qui leur sont envoyées par l’intermédiaire du noyau.

2.1 Les interfaces de souris

Le noyau de Linux jusqu’au 2.2 reconnaît actuellement quatre types différents de souris bus : Inport (Microsoft), Logitech, PS/2 et ATI-XL.

La série 2.4 des noyaux inclut le support de plusieurs nouveaux bus de souris, notamment le pad digitaliseur PC110 d’IBM et la souris de bureau Apple. Elle contient aussi des pilotes pour des souris USB qui sont parfois discutés avec les souris à bus car elles ne rentrent pas dans le cadre des interfaces séries les plus courantes.

Il n’y a pas de méthode miracle pour déterminer le type d’interface de votre souris – les constructeurs de souris ont généralement leur propre idée de ce qu’est un standard. Les sections suivantes devraient vous aider, sinon il faudra improviser.

2.1.1 Les souris Inport

Elles comprennent la plupart des souris Microsoft ancien style, celles qui ont la forme d’une savonnette Dove. Les souris Inport se connectent généralement à une carte d’interface qui se branche sur le bus de la carte mère. Si la prise du câble de votre souris est ronde, qu’elle a 9 contacts et une encoche sur l’un des côtés, vous avez certainement une souris Inport.

ATI affirme actuellement que toutes les cartes combo ATI VGA + bus pour souris utilisent le matériel de Inport Microsoft. Donc les possesseurs de telles cartes devraient en premier essayer d’utiliser les pilotes pour souris à bus Microsoft.

La carte ATI-XL VGA + bus pour souris est en théorie compatible avec le pilote pour souris à bus Microsoft Inport mais a une utilisation des interruptions légèrement différentes et donc il y a un pilote spécifique. Évitez autant que possible ce pilote qui n’est pas très bien supporté.

2.1.2 Les souris Logitech

Les souris Logitech, en général, ressemblent comme deux gouttes d’eau aux souris Inport. Elles aussi se connectent à une carte d’interface via une prise mini-din à 9 connecteurs. Elles sont d’habitude livrées dans des boîtes Logitech, ou bien il y a marqué “Logitech” sur la carte d’interface, de façon à ce qu’on puisse formellement reconnaître que c’est une souris Logitech.

2.1.3 Les souris PS/2

Les souris PS/2 ne sont pas du tout des souris qui se connectent sur le bus. L’interface des souris PS/2 n’est pas sur une carte d’extension, la souris étant connectée au port de périphérique auxiliaire PS/2 sur le contrôleur clavier. Une souris PS/2 est munie d’une prise mini-DIN à 6 connecteurs, similaire à la prise du clavier. Beaucoup de portables utilisent également ce type d’interface pour leur trackball – mis à part le connecteur, bien entendu.

2.1.4 Les combinés ATI souris-vidéo

Les souris ATI-XL sont une variante des souris Inport, avec de légères différences dans la configuration des interruptions. Elle sont fournies avec les cartes ATI-XL combinant l’adaptateur vidéo et l’interface souris. Si vous n’êtes pas sûr d’avoir une carte ATI-XL (et donc une souris du même nom), c’est probablement que vous n’en avez pas. Ce type de souris peut utiliser au choix le pilote ATI-XL ou Inport du noyau ; même si le premier devrait donner de meilleurs résultats.

Il existe aussi une carte adaptateur vidéo/souris, plus ancienne, appelée VGA1024 ou ATI VGA Wonder. Ces cartes sont faites de la même façon que les ATI-XL, mais utilisent le protocole des souris Logitech. En ce qui concerne ces souris, bien que leur conception matérielle soit la même que celle des ATI-XL, vous devez les configurer (IRQ) de la même façon que les souris Logitech.

2.1.5 Les digitaliseurs Palmpilot IBM PC110

Le palmpilot IBM PC110 contient un pad digitaliseur qui peut être utilisé pour émuler une souris grâce au protocole des souris PS/2. Dans un tel cas, vous configurez l’interface matérielle à l’aide du pilote du périphérique IBM PC110 and configurez l’interface logicielle comme vous le feriez pour une souris PS/2.

2.1.6 Les souris des ordinateurs Apple de bureau

Ce bus de souris est commun à tous les Macintoshs et utilise un connecteur à 4 broches. La souris est controlée par le noyau mais toute application nécessitera d’être informée sur la nature de ce protocole de souris particulier. Je ne suis pour le moment pas au courant du type de protocole qu’utilise cette souris.

2.1.7 Souris hybride

A l’époque où les souris à bus étaient populaires, les compagnies vendant du matériel ont beaucoup expérimenté et ont échangé leurs technologies entre elles. Par conséquent vous pourriez avoir une souris ATI qui utilise l’interface matériel de Logitech, ou une Logitech qui utilise l’interface Inport. Si vous savez que vous avez une souris à bus mais que vous n’arrivez pas à la faire marcher avec les configurations standards interface/protocole, essayez d’expérimenter en utilisant différents pilotes d’interfaces avec différents protocoles de souris.

2.2 Les protocoles de souris

Le monde PC baigne dans des protocoles différents qui entrent en conflit les uns avec les autres. Heureusement, le choix de souris se connectant sur le bus est considérablement plus réduit que celui des souris série. La plupart des souris Inport, Logitech et ATI-XL utilisent le protocole “BusMouse”, bien qu’il y ait d’anciennes souris Logitech qui utilisent le protocole “MouseSystem”, et d’autres encore plus anciennes qui utilisent le protocole “Logitech”. Les souris PS/2 utilisent le protocole PS/2.

3 Comment faire fonctionner votre souris

Une fois que vous avez déterminé le type d’interface de votre souris et son protocole, vous êtes prêt à poursuivre.

3.1 Réglage de l’interruption de la souris

Maintenant que vous avez trouvé quelle interface matérielle utilise votre souris, vous allez avoir besoin de savoir quelle interruption votre souris utilise, et de vous assurer qu’elle n’entre en conflit avec aucun des autres périphériques que vous avez installés. Ce dernier point mérite d’être répété : assurez-vous qu’elle n’entre en conflit avec aucun des autres périphériques que vous avez installés !

Assurez-vous que votre souris n’essaie pas d’utiliser la même interruption que l’un de vos autres périphériques – la souris ne peut pas partager une ligne d’interruption sous Linux, même si elle le peut sous d’autres systèmes d’exploitation. Consultez la documentation de tous vos autres périphériques pour voir quelle interruption ils utilisent.

Les souris à bus sous Linux ne déclarent pas quelle IRQ elles utilisent jusqu’à ce qu’elles soient sollicitées par une application. Les matériels Plug-n-Play déclarent souvent leurs interruptions pendant la phase de démarrage. Cela rend possible qu’une carte Plug-n-Play de votre matériel s’empare de l’IRQ de votre souris. Gardez à l’esprit que, si d’autres systèmes d’exploitation peuvent initialiser ces cartes à une IRQ qui n’est pas utilisée par votre souris, les choses peuvent ne pas être aussi simples avec Linux. C’est à vous de vous assurer que l’ensemble de votre équipement ne connaît pas de conflit.

Dans la plupart des cas, l’IRQ4 est utilisée par le premier port série (/dev/ttyS0), l’IRQ3 par le second (/dev/ttyS1) (en supposant que vous ayez réellement ces périphériques – sinon vous pouvez en toute quiétude utiliser leur IRQ), l’IRQ5 pour certains adaptateurs SCSI, et l’IRQ12 pour certaines cartes réseau. Avoir une carte utilisant l’IRQ12 est un sérieux problème, dans la mesure où généralement, vous ne pouvez utiliser que l’IRQ12 pour le port PS/2.

Pour les souris ATI-XL, Inport et Logitech, le noyau utilise par défaut l’IRQ5, donc si vous êtes forcé d’utiliser un noyau pré-compilé (par exemple si vous utilisez Linux à partir d’un CD-ROM), vous devrez faire avec. Si vous utilisez une souris Inport ou Logitech avec un noyau plus récent, vous devriez pouvoir passer une option par la ligne de commande au noyau, lui indiquant les interruptions que vous utilisez, sans avoir à recompiler.

3.1.1 Les souris Inport et Logitech

Si vous ouvrez le capot de votre ordinateur et regardez la carte sur laquelle se branche votre souris, vous devriez remarquer un bloc de cavaliers sur la carte (avec un peu de chance, il sera indiqué “INTERRUPT”), avec les positions pour les interruptions (aussi appelées IRQ) numéro 2,3,4 et 5. Pour changer d’interruption, déplacez simplement le cavalier de sa position actuelle à la paire de connecteurs appropriée.

     ******************************************************
     ***     ASSUREZ-VOUS QUE L'ORDINATEUR EST ÉTEINT   ***
     ***         AVANT DE TOUCHER AUX CAVALIERS         ***
     ******************************************************

3.1.2 Les souris ATI-XL

Les souris ATI-XL, ainsi que quelques autres souris ATI, ont une interruption réglable par logiciel – vous devriez avoir reçu avec votre souris un programme MS-DOS (VSETUP.EXE) pour régler l’IRQ. Pour ce faire, vous devez (provisoirement) redémarrer sous MS-DOS et exécuter ce programme. Notez que le programme VSETUP reconnaît un paramètre optionnel « /70 » pour augmenter le taux de rafraîchissement vertical (ce qui diminue le scintillement). Le programme VSETUP vous permet également de choisir entre l’adresse primaire et l’adresse secondaire – vous avez intérêt à sélectionner l’adresse primaire, sinon le noyau ne sera pas capable de détecter votre souris.

Une fois que VSETUP aura été exécuté, vous devrez faire un redémarrage à froid (hard reset) pour que la nouvelle configuration prenne effet.

3.1.3 Les souris PS/2

Les souris PS/2 utilisent toujours l’IRQ 12 – il n’y a aucun moyen de le changer (sinon au fer à souder). Dans le cas (rare) où un autre périphérique utilise l’IRQ 12, il vous faudra le reconfigurer pour qu’il utilise une autre ligne d’interruption.

3.2 Configuration du noyau

Pour que votre souris bus fonctionne correctement, vous devrez recompiler le noyau en y intégrant le support de souris bus. Si vous utilisez un noyau précompilé, sachez que ces noyaux sont souvent munis d’un support intégré des trois souris bus. Ce ne sera peut-être pas suffisant. Le noyau pourrait essayer d’utiliser une mauvaise interruption, ou la détection pourrait s’embrouiller et se tromper de type de souris.

Dans la série pre-2.4 des noyaux il n’y a pas de support pour l’auto-détection de l’IRQ qu’une souris à bus utilise. Donc si votre carte est configurée pour autre chose que la valeur par défaut IRQ5 du noyau, vous allez avoir besoin de faire reconnaître au noyau l’IRQ effectivement utilisée. Cela peut être fait plusieures manières. La plus simple est de passer l’information au noyau au moment du démarrage dans une ligne de commande. Lire s’il-vous-plait la section 3.2.1 (Compilation du noyau) mais après avoir d’abord lu la section 3.2.2 (Modification des interruptions sous un noyau récent). Une grande aide dans ce type de problème : le Bootprompt-HOWTO, disponible sur la plupart des sites qui distribuent ce HOWTO.

3.2.1 Compilation du noyau

Allez dans le répertoire du noyau (on suppose ici qu’il s’agit de /usr/src/linux) et faites un

     make config

Si vous n’êtes pas sûr du type de votre souris, la première fois que vous recompilez le noyau, vous pouvez sélectionner toutes les souris bus qui vous sont proposées en option, dans l’espoir que le noyau détecte automatiquement le bon type. Cette méthode a un succès mitigé : ça ne marche pas toujours, mais d’un autre côté ça peut vous éviter d’avoir à recompiler le noyau plusieurs fois.

Répondez “y”ou “m” à la question concernant votre type d’interface et “n” à toutes les autres questions concernant les souris bus. Utilisez l’option “m” si la configuration de votre système permet le chargement des modules. Si ce n’est pas le cas, ou si vous ne pas comprenez de quoi il s’agit, il n’y a aucun inconvénient à répondre “y”, ce qui intégrera directement le support dans le noyau.

Par exemple, si vous avez une souris Inport, vous devrez répondre “y” à la question

     Microsoft busmouse support

et “n” à toutes les autres questions sur les souris bus. Répondez comme d’habitude à toutes les questions qui ne concernent pas les souris.

Pour compiler le noyau avec le support des souris PS/2, répondez “y” à la question

     PS/2 mouse (aka "auxiliary device") support

Le pilote de souris PS/2 reconnaît en fait deux types de périphériques : le contrôleur standard PS/2 et une interface PS/2 spéciale de Chips &Technologies, qui est utilisée pour les portables Texas Instruments Travelmate et Gateway Nomad. Pour compiler le support des trackballs sur ces machines, répondez “y” à la question

     C&T 82C710 mouse port support (as on TI Travelmate)

Notez que vous devrez auparavant avoir répondu “y” à la question sur le pilote PS/2 standard pour avoir la possibilité de répondre à cette question, puisque le pilote 82C710 en est en fait un supplément.

Lorsqu’il est configuré à la fois pour une interface PS/2 standard et pour le contrôleur 82C710, le pilote recherche d’abord une puce 82C710 lors du démarrage. S’il échoue, le pilote standard est utilisé à la place, donc un noyau configuré pour les deux types d’interfaces devrait aussi fonctionner sur une machine dotée d’un port PS/2 standard. Toutefois, il y a eu un cas rapporté où le pilote a détecté par erreur un processeur 82C710, alors pour mettre toutes les chances de votre côté, ne choisissez pas le support du 82C710 si vous n’en avez pas besoin.

Compilez votre nouveau noyau et redémarrez normalement.

Maintenant, vous allez pouvoir indiquer au noyau quelle interruption est utilisée par votre souris. Vous pouvez sauter cette étape si vous avez une souris PS/2, qui utilise toujours l’IRQ 12.

Si vous avez une souris Logitech, Inport, ou une souris ATI qui utilise le protocole Logitech, éditez le fichier

/usr/src/linux/include/linux/busmouse.h et changez la ligne :
     #define MOUSE_IRQ 5

pour correspondre à l’IRQ réellement utilisée par votre souris (Cf. la section 3.1 (Réglage de l’interruption de la souris) pour des détails concernant le réglage de l’IRQ)

Si vous avez une souris ATI-XL, éditez le fichier /usr/src/linux/drivers/char/atixlmouse.c et changez la ligne :

     #define ATIXL_MOUSE_IRQ 5

pour correspondre à l’IRQ réellement utilisée par votre souris.

À cause des caprices de l’architecture PC, si votre souris utilise l’IRQ 2, vous devez écrire IRQ 9 dans le

#define.

Exemples :

Pour une souris sur l’IRQ 3, modifiez la ligne comme suit :

     #define MOUSE_IRQ 3

Pour une souris sur l’IRQ 2, modifiez la ligne comme suit :

     #define MOUSE_IRQ 9

Ensuite, compilez le noyau selon les instructions qui l’accompagnent et redémarrez avec le nouveau noyau. Le support de votre souris bus devrait maintenant être correctement inclus dans le noyau compilé.

3.2.2 Modification des interruptions avec un noyau récent

Ces indications concernant la modification des interruptions utilisées par le noyau fonctionnent avec n’importe quelle version. Les noyaux plus récents (à partir de quelque part dans les 2.x.x) permettent de passer des arguments au noyau pendant le démarrage, par le biais de LILO ou LOADLIN, afin de préciser le numéro d’interruption concernant les souris Logitech et Microsoft Inport. Cela peut vous faire gagner pas mal de temps si vous pouvez éviter de recompiler le noyau (ou d’apprendre à le faire). Si vous avez configuré votre noyau de façon à charger le pilote souris en tant que module, vous devrez alors faire passer ces informations au chargement du module.

Vos pouvez ajouter les options suivantes à la ligne de commande lors de votre démarrage avec LILO :

     bmouse=3 (pour une souris Logitech)
     msmouse=3 (pour une Microsoft Inport)

Remplacez les 3 par le numéro d’interruption de votre souris. Voici un exemple de cette méthode avec LILO :

     LILO :linux msmouse=3

Vous pouvez consulter vos documentations de LILO et LOADLIN pour savoir comment ajouter des informations à leurs fichiers de configuration, afin de ne pas avoir à les taper à la main à chaque démarrage.

Si vous utilisez les modules, vous pouvez définir les interruptions manuellement, en utilisant insmodcomme suit :

     insmod msbusmouse.o mouse_irq=3 (souris Inport)
     insmod busmouse.o mouse_irq=3 (Logitech)

Si votre système utilise kerneld pour charger les modules automatiquement, vous pouvez éditer votre fichier /etc/conf.modules ou /etc/modules.conf (celui que votre système utilise), et y ajouter une des lignes suivantes :

     options msbusmouse mouse_irq=3
     options busmouse mouse_irq=3

3.3 Les périphériques associés aux souris.

Sous Linux, on accède aux souris via les périphériques du répertoire /dev. Le tableau qui suit donne la liste des types d’interfaces et les périphériques associés.

     INTERFACE        PERIPH.        MAJEUR    MINEUR
     ---------------------------------------------
     Logitech        /dev/logibm      10       0
     PS/2            /dev/psaux       10       1
     Inport          /dev/inportbm    10       2
     ATI-XL          /dev/atibm       10       3
                  Tableau 1.  Périphériques associés aux souris.

Note :

Si vous utilisez votre souris ATI-XL avec le pilote Inport, vous devez utiliser le périphérique /dev/inportbm, et non pas le périphérique /dev/atibm.

Les colonnes majeur et mineur donnent les numéros de périphérique correspondants.

Si vous n’avez pas ces périphériques, il vous faut tout d’abord les créer. Pour ce faire, vous devez exécuter ce qui suit (en tant que root)

     mknod /dev/logibm   c 10 0
     mknod /dev/psaux    c 10 1
     mknod /dev/inportbm c 10 2
     mknod /dev/atibm    c 10 3

Note :

Il y a un certain temps dans l’histoire (de moins en moins) récente de Linux, le nom des périphériques a changé. Les noms suivants ont été remplacés par ceux donnés plus haut, et doivent être effacés :

     bmousems, bmouseps2, bmouseatixl, bmouselogitech.

Nombreux sont ceux qui aiment à créer un lien symbolique entre le périphérique associé à leur souris et /dev/mouse de façon à ne pas avoir à se rappeler quel périphérique ils doivent utiliser. Si vous avez une distribution récente de Linux, vous avez certainement un tel lien. Si c’est le cas, ou si vous créez ce lien, assurez-vous qu’il pointe bien sur le périphérique correspondant à votre type de souris.

4 Utilisation de votre souris

Cette section traite de l’utilisation générale de votre souris avec différentes applications

4.1 Configuration des applications

La plupart des distributions Linux vous demanderont le type de votre souris durant leur installation et configureront gpm et X-Window pour vous. Si vous ne sélectionnez pas le protocole correct de souris ou si vous installez une nouvelle souris avec une nouvelle interface, vous pouvez en général lancer un programme qui reconfigurera pour vous et gpm et X-Window afin d’utiliser le nouveau protocole.

4.1.1 RedHat

Sous RedHat, vous pouvez lancer le programme /usr/sbin/mouseconfig.

4.1.2 Autres distributions

Consultez les documents qui sont livrés avec.

4.2 gpm.

gpm est un programme qui vous permet de réaliser des opérations de copier-coller entre différents terminaux virtuels sous Linux, de la même façon que sous X. C’est, de plus, un bon moyen de tester votre souris. La

version actuelle de gpm est gpm-1.13.tar.gz <http://sunsite.unc.edu/pub/Linux/system/mouse/gpm-1.

13.tar.gz> et vous pouvez la trouver dans votre site FTP Linux favori (comme ftp.lip6.fr – NdT). Elle contient des instructions pour sa compilation. La plupart des distributions de Linux contiennent un exécutable de gpm précompilé.

En lançant gpm, utilisez l’option -t pour préciser votre protocole de souris, et l’option -m pour indiquer quel périphérique vous utilisez. Trois protocoles utiles aux souris bus sont logi, bm et ps2. Par défaut, le périphérique souris est /dev/mouse, aussi pouvez-vous omettre l’option -m si vous avez déjà le lien symbolique approprié. Voici un exemple pour une souris Microsoft Inport :

     gpm -t bm

ou, si vous utilisez le protocole PS/2 :

     gpm -t ps2

Vous devriez alors, en bougeant votre souris, voir un petit bloc rectangulaire se déplacer sur l’écran ; vous devriez aussi pouvoir faire du copier-coller entre les terminaux virtuels en utilisant les boutons de la souris. Pour savoir comment faire, lisez la documentation de gpm, ou tapez man gpm.

4.3 XFree86

Pour utiliser votre souris bus sous XFree86, vous devez indiquer le protocole de votre souris dans votre fichier Xconfig. Si vous utilisez le protocole BusMouse, votre fichier Xconfig devrait contenir la section suivante (y compris les guillemets) :

     Section "Pointer"
         Protocol "Busmouse"
         Device "/dev/mouse"
         # Autres options telles que Emulate3Buttons
     EndSection

Pour les souris PS/2 changez la ligne concernant le protocole en :

         Protocol "PS2"

Si vous avez une souris à deux boutons, ajoutez la ligne

     Emulate3Buttons

qui vous permettra de simuler la présence d’un troisième bouton en pressant simultanément les deux seuls que vous avez. Toutes les autres lignes se rapportant à la souris, comme “BaudRate” et “SampleRate” devraient être commentées, car elles n’ont aucun effet sur les souris bus.

4.4 XFree86 et gpm

Durant une longue période du développement du noyau, il n’était pas possible de partager les souris bus entre les différents processus. À cause de cela, il était difficile d’utiliser XFree86 et gpm en même temps. Si vous essayez de lancer X pendant que vous utilisez gpm et que vous obtenez l’erreur suivante, c’est que vous utilisez un de ces anciens noyaux :

     Fatal server error:
     Cannot open mouse (Device or resource busy)

Il y a deux façons de faire marcher gpm avec XFree86 sous ces noyaux. La première consiste à tuer toute instance de gpm en cours avant de démarrer XFree86. La seconde consiste à utiliser l’option « repeater » de gpm (qui prend les données de la souris et répète l’information dans plusieurs applications).

Je vous conseille, autant que possible, de mettre à jour votre noyau, afin de pouvoir partager votre souris bus entre les applications. Dans ce document, je me contenterai d’évoquer une méthode permettant de faire fonctionner ensemble XFree86 et gpm avec ces vieux noyaux. Veuillez vous reporter à la documentation de gpm si vous souhaitez utilisez la méthode du répéteur.

gpm permet de terminer ses propres instances en tapant :

     gpm -k

Cela doit être fait avant de lancer X11. Vous voudrez peut-être ajouter une ligne au début de votre script startx pour que gpm soit arrêté automatiquement. Vous pouvez également placer à la fin du script une commande qui redémarre gpm, de telle sorte qu’il se relance à la sortie de votre session X.

5 Vous n’arrivez toujours pas à faire marcher votre souris ?

Alors comme ça, vous avez lu ce howto une douzaine de fois, tout fait scrupuleusement comme vous pensiez devoir le faire, et votre souris refuse encore de fonctionner ? Le meilleur conseil que je puisse vous donner est : faites des expériences. C’est sûr, vous allez en baver, mais au bout du compte la seule façon de savoir ce qui va marcher ou non avec votre souris, c’est d’essayer toutes les solutions jusqu’à ce que vous trouviez la bonne.

Comme toujours, s’il y a quelque chose que vous ne comprenez pas, lisez d’abord la page de manuel, et voyez si ça vous aide. Si vous avez une question spécifique, ou un problème pour lequel vous pensez que je peux vous aider, n’hésitez pas à me contacter à l’adresse qui figure au début de ce howto, et je verrai si je peux vous aider ou vous diriger vers quelqu’un qui peut.

Le newsgroup comp.os.linux.setup, ou comp.os.linux.hardware est l’endroit tout indiqué pour les discussions et/ou les questions concernant les souris, alors s’il vous plaît, ne postez pas ces questions dans d’autres groupes, et en particulier ne cross-postez pas de questions dans 2 ou plus de groupes de la hiérarchie Linux, ils sont déjà assez en désordre comme ça ! Lorsque vous postez une question, vous aurez une meilleure réponse (et bien moins de flames) si vous utilisez à bon escient les lignes Subject : et Keywords :. Par exemple

     Subject: BUSMICE - Gateway 2000 mouse wont work.
     Keywords: mouse busmouse gateway

NdT : Le groupe francophone fr.comp.os.linux.configuration est le groupe pertinent où poster vos messages, mais n’oubliez pas les recommandations ci-dessus. En particulier, si vous n’avez trouvé de solution nulle part, vous pouvez poster votre question dans le groupe modéré fr.comp.os.linux.moderated.

5.1 Autres sources d’information

Voici quelques sources d’information concernant Linux et les souris.

5.1.1 3-Button Mouse HOWTO

Pour les souris PS/2 à 3 boutons. Il donne des indications pour faire marcher le bouton intermédiaire.

5.1.2 Laptop-HOWTO Il donne des indications pour faire marcher une souris externe en même temps que la souris fournie avec.

5.1.3 Wacom Tablet HOWTO Il donne des indications pour faire marcher un Wacom Tablet comme une souris.