geoff@kipper.york.ac.uk
;asl@launay.org
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.
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.
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
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.
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.
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!
echo
"*n" > /dev/mouse
, qui devrait avoir le même effet
que la débrancher. Maintenez enfoncé le bouton gauche
pour le mode Mouse Systems, et pas pour Microsoft. Vous pouvez
mettre ceci dans tout script que vous utilisez pour lancer X.rnichols@interaccess.com
)
a écrit un court programme en C faisant la même chose,
et qui peut fonctionner si echo "*n"
ne marche pas (et
vice versa). Vous pouvez trouver une copie du source sur http://kipper.york.ac.uk/src/fix-mouse.c.Essayez de joindre les broches 1-2 ou 2-3, et voyez si ça change le comportement de la souris. Dans ce cas, vous pouvez soit placer un petit cavalier, soit soudre les contacts pour une solution rapide et permanente.----------- | o | o | o | SW1 ----------- 1 2 3
"ChordMiddle"
dans le XF86Config
et vous avez un bouton du milieu fonctionnel.(Les broches sont généralement numérotés comme suit:)Pin 3 Mode ----- ---- Libre Par défaut Microsoft. Mouse Systems si un bouton est enfoncé au lancement. Terre Toujours Mouse Systems. Vdd Toujours Microsoft.
(Cette info provient de Hans-Christoph Wirth et Juergen Exner, qui l'ont posté sur de.comp.os.linux.hardware). Vous pouvez soudre un lien entre la broche 3 et la terre, ce qui fixera la souris en mode MouseSystems.____ pin1 -| \/ |- pin2 -| |- pin3 -| |- -| |- -| |- -| |- -| |- pin8 -|____|-
La souris-test était un modèle sans nom MUS2S - cependant son fonctionnement pour une autre souris dépend de son circuit; si l'interrupteur est connecté au sol et non à l'alimentation, un transistor NPN comme le BC547 devrait marcher; R et C devront aussi être changés.----- --- R ---------O------ + Alimentation | ----- | | C = 100nF condensateur | | E | R = 100kOhm | __ / | T = BC557 transistor | / \ O | B | #V | T / |-----|-# | / Interrupteur du bouton gauche de la souris | | #\ | O | \__/ | --- \ C | --- C ------O----------> (Vers quelque part dans les profondeurs | de la souris) | ### Terre
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.
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.
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.
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
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.
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.
Section "Pointer" Protocol "microsoft" Device "/dev/mouse" EndSection
# # Mouse definition and related parameters # Microsoft "/dev/mouse"
Section "Pointer" Protocol "microsoft" Device "/dev/mouse" Emulate3Buttons EndSection
# # Mouse definition and related parameters # Microsoft "/dev/mouse" Emulate3Buttons
Section "Pointer" Protocol "mousesystems" Device "/dev/mouse" ClearDTR # These two lines probably won't be needed, ClearRTS # try without first and then just the DTR EndSection
# # Mouse definition and related parameters # MouseSystems "/dev/mouse" ClearDTR # These two lines probably won't be needed, ClearRTS # try without first and then just the DTR
Section "Pointer" Protocol "MouseSystems" Device "/dev/gpmdata" EndSection
# # Mouse definition and related parameters # MouseSystems "/dev/gpmdata"
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.
Subsection "Display" Modes "1024x768" "800x600" "640x480" "1280x1024" Invert_VCLK "*" 1
gpm
version 1.13 et
suivantes doivent également supporter la souris 2.1A, en
utilisant le type de souris pnp
. (Voir la section gpm pour savoir comment ré-exporter les
données. La "Microsoft Intellimouse" pose également
des problèmes, cependant elle doit maintenant être
supportée par XFree version 3.3 et suivante.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.
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é: