man mouse (Fichiers spéciaux) - Interface de souris série.

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 :

center; r c l. 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éalité, 9 V 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 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 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 :

center; l l. 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é :

center; r c c c c c c c. 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 (central, droit) est pressé :

center; r c c c c c c c c. 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é :

center; r c c c c c c c c. 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

ttys(4), gpm(8).

TRADUCTION

Christophe Blaess, 1996-2003.