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.
-----------
| o | o | o | SW1
-----------
1 2 3
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.
"ChordMiddle"
dans le XF86Config et vous avez un bouton du milieu
fonctionnel.
Pin 3 Mode
----- ----
Libre Par défaut Microsoft. Mouse Systems si un bouton est
enfoncé au lancement.
Terre Toujours Mouse Systems.
Vdd Toujours Microsoft.
(Les broches sont généralement numérotés
comme suit:)
____
pin1 -| \/ |-
pin2 -| |-
pin3 -| |-
-| |-
-| |-
-| |-
-| |-
pin8 -|____|-
(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.
-----
--- 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
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.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é: