MOUSE
Section : Manuel du programmeur Linux (
4)
Mise à jour de la version anglaise : 10 février 1996
Index
Menu principal
NOM
mouse - Interface de souris série
CONFIGURATION
Les souris série sont connectées sur une ligne d'interface RS232/V24.
Voir
ttyS(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 | Données
|
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éalité, 9 volts suffisent avec la plupart des souris.
Le pilote peut s'assurer de la présence d'une souris en abaissant
la tension sur la broche RTS puis 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 compatibles 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 parcourir 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 à 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 (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
|
Protocole 3 boutons de Microsoft
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.
Protocole Logitech
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 (central, 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 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
|
FICHIERS
- /dev/mouse
-
Un lien symbolique habituellement utilisé
pour pointer sur le périphérique souris.
VOIR AUSSI
ttyS(4),
gpm(8)
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess
<http://www.blaess.fr/christophe/> le 18 octobre 1996
et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 4 mouse ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- CONFIGURATION
-
- DESCRIPTION
-
- Introduction
-
- Protocole Microsoft
-
- Protocole 3 boutons de Microsoft
-
- Protocole Logitech
-
- Protocole Mousesystems
-
- Protocole Sun
-
- Protocole MM
-
- FICHIERS
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 17 juillet 2008