MOUSE(4)           Manuel du programmeur Linux           MOUSE(4)


NOM
       mouse - Interface de souris série.

CONFIGURATION
       Les  souris  series sont connectées sur une ligne d'inter­
       face RS232/V24 voir cua(4)  pour  la  description  de  ces
       lignes.

DESCRIPTION
   Introduction
       Le  brochage  de  la prise DB9 classique utilisée pour les
       souris est le suivant :

                   broche   nom   utilisation
                        2   RX    Donnees
                        3   TX    -12 V, Imax = 10 mA
                        4   DTR   +12 V, Imax = 10 mA
                        7   RTS   +12 V, Imax = 10 mA
                        5   GND   Masse

       Il ne s'agit que de spécifications, en réalite 9  V  suff­
       isent avec la plupart des souris.

       Le  driver  peut  s'assurer de la présence d'une souris en
       abaissant la tension sur la broche RTS et en la remontant.
       Environ  14  ms  plus tard, la souris enverra l'octet 0x4D
       (`M') sur la ligne RX.  Encore 63 ms plus tard, les souris
       compatible Microsoft enverront 0x33 (`3') sur RX.

       Le mouvement relatif de la souris est transmis en tant que
       dx (positif vers la droite) et dy (positif vers  le  bas).
       Diverses  souris  peuvent  travailler  avec  des  vitesses
       différentes.  Pour sélectionner la vitesse, il  faut  par­
       courir  le  cycle  9600,  4800,  2400  et 1200 bit/sec, en
       envoyant chaque fois les deux caractères de la  table  ci-
       dessous,  et  attendre  0,1  seconde.  La table ci-dessous
       montre les différentes vitesses, et  les  deux  caractères
       correspondants :

                           bit/sec   message
                           9600      *q
                           4800      *p
                           2400      *o
                           1200      *n

       Comme  on peut le voir, le premier octet peut être utilisé
       pour se synchroniser.

   Protocole Microsoft
       Le protocole Microsoft utilise 1 bit de Start, 7  bits  de
       données,  pas  de  parité,  et  1 bit de Stop, ceci a 1200
       bits/sec. Les données sont envoyées sur RX par paquets  de
       3 octets.  Les mouvements dx et dy sont envoyés sous forme
       de complément à 2.  lb (rb) vaut 1 quand le bouton  gauche



Linux                       2 Mai 1999                          1





MOUSE(4)           Manuel du programmeur Linux           MOUSE(4)


       (droit) est pressé :

             octet   d6   d5    d4    d3    d2    d1    d0
                 1   1    lb    rb    dy7   dy6   dx7   dx6
                 2   0    dx5   dx4   dx3   dx2   dx1   dx0
                 3   0    dy5   dy4   dy3   dy2   dy1   dy0

       Les  souris  Microsoft originales n'avaient que 2 boutons.
       Néanmoins, il existe plusieurs  souris  à  3  boutons  qui
       utilisent  le  protocole  Microsoft.   Une  pression ou un
       relâchement sur le 3ème bouton (milieu) sont indiqués  par
       un  paquet  sans aucun mouvement et sans bouton pressé. De
       plus, contrairement aux deux  autres  boutons,  l'état  du
       bouton central n'est pas indiqué dans chaque paquet.

   Logitech protocol
       Les souris série Logitech à trois boutons peuvent utiliser
       plusieurs extensions du protocole Microsoft :  lorsque  le
       bouton  central  est en haut, le paquet de 3 octets décrit
       ci-dessus est envoyé. Lorsque le bouton  est  en  bas,  un
       paquet  de  4 octets est envoyé, dont le quatrième octet a
       la valeur 0x20 (ou au moins le bit 0x20 à  1).  En  clair,
       une  pression  sur le bouton central seul est indiquée par
       0, 0, 0, 0x20.

   Protocole Mousesystems
       Le protocole Mousesystems utilise 1 bit de Start,  8  bits
       de  données,  pas  de  parité et 2 bits de Stop, ceci à la
       vitesse de 1200 bits/sec.  Les données sont  envoyées  sur
       RX  par  paquets  de 5 octets.  dx est émis comme la somme
       des deux valeurs en complément à 2.   dy  est  émis  comme
       inverse  de  la  somme des deux valeurs en complément à 2.
       lb (mb, rb) sont mis à zéro quand le bouton  gauche  (cen­
       tral, droit) est pressé :

       octet   d7    d6     d5     d4     d3     d2     d1     d0
           1   1     0      0      0      0      lb     mb     rb
           2   0    dxa6   dxa5   dxa4   dxa3   dxa2   dxa1   dxa0
           3   0    dya6   dya5   dya4   dya3   dya2   dya1   dya0
           4   0    dxb6   dxb5   dxb4   dxb3   dxb2   dxb1   dxb0
           5   0    dyb6   dyb5   dyb4   dyb3   dyb2   dyb1   dyb0
       Les  octets  4  et 5 indiquent les changements qui se sont
       produits depuis le début d'émission des octets 2 et 3.

   Protocole Sun
       Le protocole Sun est la version 3 octets du protocole à  5
       octets  de MouseSystems : les deux derniers octets ne sont
       pas envoyés.


   Protocole MM
       Le protocole MM utilise 1 bit de Start, 8 bits de données,
       parité impaire et 1 bit de Stop, ceci à la vitesse de 1200
       bits/sec.  Les données sont envoyées sur RX par paquets de



Linux                       2 Mai 1999                          2





MOUSE(4)           Manuel du programmeur Linux           MOUSE(4)


       5  octets.   dx et dy sont émis comme des valeurs signées,
       le bit de signe indiquant une valeur  négative.   lb  (mb,
       rb)  sont  mis  à  zéro  quand  le bouton gauche (central,
       droit) est pressé :

          octet   d7   d6    d5    d4    d3    d2    d1    d0
              1   1     0     0    dxs   dys   lb    mb    rb
              2   0    dx6   dx5   dx4   dx3   dx2   dx1   dx0
              3   0    dy6   dy5   dy4   dy3   dy2   dy1   dy0


FICHIER
       /dev/mouse      Un lien symbolique habituellement  utilisé
       pour pointer sur le périphérique souris.

VOIR AUSSI
       cua(4), bm(4)


TRADUCTION
       Christophe Blaess, 1997.




































Linux                       2 Mai 1999                          3