Souris Série 3 Boutons

Geoff Short, geoff@kipper.york.ac.uk;
Version Française par Arnaud Launay, asl@launay.org

v1.33, 31 Mai 1998
Comment avoir une souris 3 boutons qui fonctionne correctement sous Linux.

1. Mise en garde

Le document qui suit est proposé dans de bonnes intentions, et tente d'offrir un compromis correct entre des manipulations et de la programmation sûres. Aucune responsabilité ne sera acceptée par l'auteur ou le traducteur quelque soient les dommages ou les pertes causés de quelque façon que ce soit à une personne ou à du matériel, en tant que conséquence directe ou indirecte des instructions suivantes.

2. Introduction

La version la plus récente de ce document se trouve toujours sur http://kipper.york.ac.uk/mouse.html
Il existe une traduction japonaise sur http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/3-Button-Mouse.euc
La dernière traduction française se trouve sur http://www.freenix.org/unix/linux/HOWTO/mini/3-Button-Mouse.html.

La plupart des applications X avec la certitude que l'utilisateur utilisera une souris 3 boutons. Les souris séries sont couramment utilisées sur les ordinateurs et sont économiques. La plupart de ces souris ont 3 boutons et déclarent utiliser le protocole Microsoft, ce qui signifie en théorie qu'elles sont parfaites pour une configuration X Window. (Le record de la souris à 3 boutons fonctionnelle la moins chère est de 1,14$ [6,9 FRF au 1 Juillet 1998]).

La plupart des souris bi-protocole fonctionnent dans ces deux modes:

Ce document vous guidera pas-à-pas au cours des étapes nécessaires pour configurer votre souris, et plus spécialement les étapes nécessaires pour utiliser le fort utile mode 3 boutons.

Comme les distributions deviennent de plus en plus simple à installer, la plupart des problèmes disparaissent. Par exemple, la RedHat dispose du programme mouseconfig pour configurer les choses à votre place. Cependant, quelques versions de la RH5.0 ont un bug dans mouseconfig, donc vérifiez l'existence des corrections.

3. Ports Séries

La première chose à faire est de s'assurer que les logiciels peuvent trouver la souris. Cherchez à quel port votre souris est connectée - habituellement ce sera /dev/ttyS0 (COM1 sous DOS) ou /dev/ttyS1 (COM2). (ttyS0 est généralement la prise 9 broches, ttyS1 la prise 25 broches, mais bien entendu il n'y a aucune règle pure et dure à ce propos.) Il y a également un nombre équivalent de périphériques /dev/cua, qui sont principalement la même chose que les ttyS, mais leur utilisation est dorénavant désapprouvée. Pour plus de facilités, créez un nouveau lien /dev/mouse pointant sur ce port. par exemple, pour ttyS0:

ln -s /dev/ttyS0 /dev/mouse

4. Souris à commutateur

Quelques souris, et en général pas les moins chères, ont un interrupteur sur le côté marqué "2/3". Quelques fois ce peut être "PC/MS". Dans ce cas le "2" est la marque pour le mode 2 boutons Microsoft, et le "3" pour le mode 3 boutons MouseSystems. La notation "PC/MS" est quelque peu plus compliquée. Vous devriez probablement trouver que le "MS" indique le mode Microsoft et le "PC" le mode MouseSystems. (Vous pouvez trouver que "PC" indique le mode PS/2)., Si vous avez une telle souris, vous pouvez changer le commutateur sur "3" ou "PC", mettre le mode MouseSystems dans votre XConfigs (voir plus loin) et la souris devrait parfaitement fonctionner en mode 3 boutons.

5. Souris Normale

Si vous n'avez ni commutateur ni instructions, alors un peu d'expérimentation est nécessaire. La première chose à faire est de supposer que le fabricant de la souris dit la vérité, et donc que la souris est pleinement Microsoft. Configurez votre XConfigs (voir la section Xconfig) de manière à espérer une souris Microsoft et essayez.

Si la souris ne fonctionne pas du tout, soit vous n'avez pas une souris Microsoft, soit il y a un autre problème. Essayez les autres protocoles dans la configuration, la page man étant le meilleur endroit où regarder. Voyez également la section Problèmes divers plus bas.

Vous trouverez probablement que lorsque vous lancez X, la souris fonctionne bien mais que seuls les 2 boutons les plus éloignés fonctionnent. Vous pouvez bien sûr accepter celà, et émuler le 3ème bouton (pressez les 2 boutons en même temps pour cliquer avec le troisième) comme vous le feriez avec une souris 2 boutons. Pour celà, changez le fichier Xconfig comme indiqué dans la section Exemples de Xconfig plus loin. Celà peut signifier que vous avez acheté une souris 3 boutons sans raisons, et vous n'avez certainement pas besoin d'aller plus loin. Ceci dit, vous devez maintenant regarder votre matériel.

6. Passer la souris en mode 3 boutons

Même les souris les moins chères peuvent fonctionner en mode MouseSystems, avec les 3 boutons fonctionnels. Le truc est de pousser la souris à penser qu'elle est MouseSystems, quelque chose que vous verrez rarement dans les instructions.

Quand la souris est alimentée, si le bouton gauche est enfoncé elle se met en mode MouseSystems. Un truc très simple, mais pas toujours documenté. Notez qu'un relancement logiciel de votre ordinateur peut ne pas couper l'alimentation et donc continuer à fonctionner. Il y a un certain nombre d'autres moyens de changer ce mode, qui peuvent ou non fonctionner avec telle ou telle souris. Quelques uns sont bien moins drastiques qu'un reboot, et deux le sont beaucoup plus!

Ainsi, le choix dépend de vous. Optez pour le mode Microsoft 2 Boutons par défaut, ou tentez de changer le mode et de configurer X pour prendre cet avantage en compte.

7. Souris à roulettes

Les souris à roulettes sont apparues ces dernières années, en commençant avec la Microsoft Intellimouse et se développant ensuite aux autres fabricants. La roulette peut être cliquée comme un bouton, ou tournée vers le haut ou vers le bas. Pour plus d'informations, la référence de loin la meilleure est sur http://www.inria.fr/koala/colas/mouse-wheel-scroll/ qui décrit comment avoir de nombreuses applications X reconnaissant l'action de déplacement.

En général, vous aurez besoin d'un serveur X relativement récent pour utiliser cette action de déplacement, mais quelques serveurs anciens reconnaîtront les actions de cliquage. Par exemple, l'Intellimouse est supportée à partir d'XFree 3.3.1.

8. Utiliser gpm pour changer le mode de la souris

gpm est le programme qui vous permet d'utiliser la souris sur une console en mode texte. Il est généralement présent dans les distributions linux, et peut être lancé de la ligne de commande ou dans le script de lancement /etc/rc.d/rc.local. Notez que les distributions n'ont pas toujours la version la plus récente (1.14 lors de la parution de ce document) qui peut être trouvée sur les miroirs de sunsite.unc.edu.

Les deux modes principaux pour une souris série sous gpm sont:

gpm -t ms
gpm -t msc
gpm -t help

Pour les modes Microsoft ou MouseSystems, ou pour observer la souris à votre place et vous dire ce qu'il trouve. Pour lancer gpm en mode MouseSystems, vous pouvez avoir besoin de l'option -3, et également de l'option DTR, en utilisant -o dtr:

gpm -3 -o dtr -t msc

Cependant, gpm est souvent capable de reconnaître les 3 boutons de la souris, même en mode Microsoft. Et les versions récentes (Version 1.0 et suivantes (?)) peuvent rendre cette information disponible pour d'autres programmes. Pour que ceci fonctionne, vous devrez lancer gpm avec l'option -R, comme suit:

gpm -R -t ms

Ceci permettra à gpm d'exporter les données de la souris vers un nouveau périphérique, /dev/gpmdata, qui semblera être une souris pour tout autre programme. Notez que ce périphérique utilise toujours le protocole MouseSystems. Vous devez ensuite configurer votre Xconfig pour utiliser ceci à la place de /dev/mouse comme plus haut, mais vous devrez bien sur vous assurer que gpm tourne toujours lorsque vous lancez X. Quelques personnes ont rapporté que quelques évènements liés au bouton du milieu ne sont pas correctement interprétés par X en utilisant cette technique, celà peut être rapporté à une configuration spécifique pour la souris.

8.1 Changer la carte des boutons pour gpm et X

Envoi de gustafso@math.utah.edu.

Vous pouvez trouver que gpm utilise une carte des boutons différente de celle de X, donc utiliser les 2 systèmes sur la même machine peut être confus. Pour que X utilise les mêmes boutons pour le copier/coller que gpm, utilisez la commande X:

xmodmap -e "pointer = 1 3 2"

qui permet la sélection par le bouton gauche et le collage par le bouton droit, pour une souris soit 2 soit 3 boutons. Pour forcer gpm à utiliser la carte standard de X, lancez le avec un -B:

gpm -t msc -B 132

9. Utiliser Deux Souris

Dans quelques cas, par exemple un portable avec un périphérique de pointage inclus, vous pouvez désirer utiliser une souris série en tant que second périphérique. Dans la plupart des cas le système intégré utilise le protocole ps/2, et peut être ignoré si vous ne désirez pas l'utiliser. Configurez simplement gpm ou X pour utiliser /dev/ttyS0 (ou autre) comme d'habitude.

Pour utiliser les deux en même temps, vous pouvez utiliser gpm -M pour ré-exporter les périphériques. Plus de détails dans la page man de gpm. De plus, XFree 3.3.1 et suivants supportent l'entrée par plusieurs périphériques de concert, en utilisant le mécanisme XInput. Les fichiers XF86Config auto-générés doivent contenir les commentaires nécessaires pour le mettre en place.

10. Fichiers d'exemples pour XF86Config et Xconfig

L'emplacement du fichier de configuration pour X dépend de la version et de la distribution que vous utilisez. Ce sera probablement soit /etc/Xconfig, /etc/XF86Config ou usr/X11/lib/X11/XF86Config. Vous devriez voir duquel il s'agit lorsque vous lancez X - il sera affiché à l'écran avant les options. La syntaxe est quelque peu différente entre les fichiers XF86Config et Xconfig, donc les deux sont donnés.

10.1 Souris Série Microsoft

10.2 Souris Série Microsoft (2 ou 3 boutons) avec Emulation Trois Boutons

10.3 Souris Série 3 Boutons MouseSystems

10.4 Souris Série Microsoft avec gpm -R

11. Câbles, extensions et adaptateurs

Les seuls câbles utiles dans un câble souris sont les suivants: TxD et RxD pour le transfert des données, RTS et/ou DTR pour les sources d'énergie, et la terre.

Traduit en numéro de broches, ce sont:

                9-pin port      25-pin port
        TxD         3                 2
        RxD         2                 3
        RTS         7                 4
        DTR         4                20
        Gnd         5                 7

Le tableau ci-dessus peut être utilisé si vous désirez créer des adaptateurs entre prises 9 et 25 broches, ou des câbles d'extension.

12. Problèmes divers et Configurations

13. Modèles Testés

Il existe beaucoup de souris différentes, et je ne peux honnêtement dire que vous devriez acheter celle-ci plutôt que celle-là. Ce que je peux faire est vous donner une liste de ce que je pense que font ces souris, basé sur l'expérience et le bouche à oreille. Même avec cette information vous devez être vigilant - nous avons deux souris identiques dans notre bureau sur deux ordinateurs, et certaines choses fonctionnent sur l'un et pas sur l'autre ! Toute addition à cette liste sera la bienvenue.

Souris optique Mouse Systems, version série
Fonctionne bien (comme vous pouvez l'espérer d'après le nom!) sans ClearDTR ou ClearRTS dans la config.
Souris WiN, vendue par Office World pour 8 Livres Sterling
Standard double-mode Microsoft/MouseSystems.
Souris Agiler 2900
Standard double-mode Microsoft/MouseSystems. La puce SYSGRATION SYS2005 est soudable.
Souris Sicos
Fonctionne bien, nécessite ClearDTR et ClearRTS dans la config.
Index vend une souris pour 10 Livres Sterlin
Ne fonctionne pas en mode 3 boutons, mais contient des instructions :-)
Artec
Souris bi-protocole classique, nécessite ClearDTR dans la config, mais PAS ClearRTS.
Souris série DynaPoint 3 boutons
Souris bi-protocole classique, nécessite ClearDTR et ClearRTS dans le Xconfig.
Souris Genius Easymouse 3 boutons
Fonctionne bien avec le protocole Mouseman sans le paramètre ChordMiddle. De Roderick Johnstone ( rmj@ast.cam.ac.uk).
Truemouse, fabriquée à Taiwan
Fonctionne bien, nécessite ClearDTR dans la config. De Tim MacEachern ( http://ccn.cs.dal.ca/~ae721/Profile.html).
Souris de marque Champ
Nécessite d'avoir l'interrupteur en mode PC, qui donne également le protocole MouseSystems. De tnugent@gucis.cit.gu.edu.au.
Souris MicroSpeed
Souris bi-protocole classique.
Souris de marque Venus (7$)
Contient un cavalier pour changer entre les modes 2 et 3 boutons. De mhoward@mth.com.
Saturn
Souris à interrupteur, fonctionne bien en MouseSystems en position 3 boutons. De grant@oj.rsmas.miami.edu.
Souris Manhattan
Interrupteur pour les modes "MS AM" / "PC AT", MS fonctionne bien avec la méthode gpm -R. De komanec@umel.fee.vutbr.cz.
Souris Inland
Interrupteur pour modes "PC/MS", fonctionne bien. De http://ptsg.eecs.berkeley.edu/~venkates.
qMouse (3-boutons), FCC ID E6qmouse X31
Vendue aux USA pour environ 10$. Fonctionne avec "gpm -t msc -r 20". Pas de cavalier ni interrupteur pour le mode MouseSystems 3 boutons. Non fiable sous X. Ne répond pas à echo "*n" > /dev/mouse.
Souris Mitsumi (2-boutons), FCC ID EW4ECM-S3101
Vendue aux USA pour environ 12$. Fiable sous X et gpm, double bouton lisse. De gustafso@math.utah.edu.
Souris PC Accessories de CompUSA pour 10$
Interrupteur "PC/MS" sur le côté. Fonctionne bien. De steveb@communique.net.
Souris First - vendue sérieusement par Tempo à 7.79 Livres Sterling
Double protocole Microsoft/MouseSystems, mode choisi par pression du bouton à l'allumage. Ni interrupteurs ni liens. Connection par quatre câbles, echo '*n' ne fonctionne pas. gpm -R fonctionne. De peterk@henhouse.demon.co.uk.
Souris Trust 3-boutons
Double mode avec interrupteur, fonctionne bien avec MouseSystems en mode "PC". gpm n'apprécie cependant pas le mode Microsoft.
Chic 410
Fonctionne parfaitement lorqu'elle est laissée en mode ms et utilisée avec la commande gpm -R. De Stephen M. Weiss ( steve@esc.ie.lehigh.edu).
Souris KeyMouse 3-boutons
Pas d'interrupteur, fonctionne bien avec ClearDTR et ClearRTS dans le Xconfig; gpm nécessite -o dtr. De EZ4PHIL@aol.com.
Clavier Qtronix "Scorpio 60"
Les trois boutons fonctionnent en mode MouseSystems. De hwe@uebemc.siemens.de.
Portable Tecra 720
Le pointeur intégré est en /dev/cua0; le stylo est en /dev/psaux. De apollo@anl.gov.
Souris Anubis
Fonctionne bien, nécessite de maintenir enfoncé le bouton gauche dès qu'il faut changer vers la console X virtuelle. De Joel Crisp ( Joel.Crisp@bristol.ac.uk).
Souris Yakumo No.1900
Fonctionne avec gpm -R -t ms exportant vers X. D'Oliver Schwank ( flinx.nbg.sub.org!oli@flinx.nbg.sub.org).
Trackball Genius "Easy Trak"
N'est PAS compatible Microsoft, utilisez Mouseman dans le Xconfig et il marchera bien. De VTanger@aol.com.
Highscreen Mouse Pro
"Fonctionne bien" d'après alfonso@univaq.it.
Série Logitech CA
Fonctionne sous X en utilisant le protocole MMseries, à 2400 Baud, 150 SampleRate. (Doit aussi s'appliquer aux souris Logitech CC, CE, C7 et C9). De vkochend@nyx.net.
Souris A4-Tech
Fonctionne bien, nécessite la ligne DTR sous X et gpm. De deane@gooroos.com.
Souris Mouse Systems "Scroll" (quatre boutons et une roulette-bouton)
Dispose d'un interrupteur 2/3 - en mode 3 fonctionne comme une souris MouseSystems 3 boutons, ignorant l'extra-bouton et la roulette. Ne nécessite pas ClearRTS/DTR. De parker1@airmail.net.
Boeder M-7 "Bit Star" (et les autres séries M à partir de M13)
Change vers le protocole Mousesystems en enfonçant n'importe quel bouton au démarrage. De sjt@tappin.force9.co.uk.
Souris Vertech
Environnement normal Microsoft/Mousesystems, peut être soudée pour une fixation permanente. De duncan@fs3.ph.man.ac.uk.
Souris série 3 boutons Radio Shack
Modèle 26-8432, disponible chez Tandy pour environ 20 livres. Fonctionne en Mousesystems avec ClearDTR. De Sherilyn@sidaway.demon.co.uk.
Souris série Dexxa
Fonctionne bien en utilisant le protocole Microsoft dans le Xconfig, pas de ChordMiddle ou autre nécessaire. De mailto:slevy@ncsa.uiuc.edu.
Souris 3 boutons Belkin
Achetée chez Sears, nécessite -o rts pour gpm (et probablement ClearRTS sous X) en mode PC. De mailto:mmicek@csz.com.

14. Informations Complémentaires

15. Queue de la Souris

La plupart des informations de ce document ont été récupérées dans les divers linux newsgroups. Je suis désolé je ne conserve pas de traces de ceux qui ont contribués, je vous remercie tous.

Donc, en résumé: