mouse(4) interfaccia per il mouse seriale

CONFIGURAZIONE

I mouse seriali sono connessi a una linea seriale dialout RS232/V24. Si veda ttyS(4) per una descrizione.

DESCRIZIONE

Introduzione

La piedinatura della solita presa a 9 pin usata per i mouse seriali è:

pinnameused for
2RXData
3TX-12 V, Imax = 10 mA
4DTR+12 V, Imax = 10 mA
7RTS+12 V, Imax = 10 mA
5GNDGround

Queste sono le specifiche, ma di fatto 9 V sono sufficienti per la maggior parte dei mouse.

Il driver del mouse può riconoscere un mouse portando basso RTS e rialzandolo di nuovo. Circa 14 ms dopo, il mouse invierà 0x4D ('M') nella linea dati. Dopo ulteriori 63 ms i mouse a tre bottoni compatibili Microsoft invieranno 0x33 ('3').

Il movimento relativo del mouse è inviato come dx (un valore positivo indica verso destra) e dy (un valore positivo indica verso il basso). Diversi mouse possono operare a velocità differenti. Per selezionare le velocità, bisogna provare tutte le velocità 9600, 4800, 2400 e 1200 bit/s, ogni volta scrivendo i due caratteri della tabella sotto e aspettando 0.1 secondi. La seguente tabella mostra le velocità disponibili e le stringhe che le selezionano:

bit/sstringa
9600*q
4800*p
2400*o
1200*n

Il primo byte del pacchetto di dati può essere usato per la sincronizzazione.

Protocollo Microsoft

Il protocollo Microsoft usa 1 bit di start, 7 bit di dati, nessuna parità e un bit di stop alla velocità di 1200 bit/s. I dati sono inviati a RxD in pacchetti di 3 byte. I movimenti dx e dy sono inviati in complemento a due, lb (rb) viene attivato quando il tasto sinistro (destro) è premuto:
byted6d5d4d3d2d1d0
11lbrbdy7dy6dx7dx6
20dx5dx4dx3dx2dx1dx0
30dy5dy4dy3dy2dy1dy0

Protocollo Microsoft a tre bottoni

I mouse Microsoft originali hanno solo due tasti. Nonostante ciò, ci sono alcuni mouse a tre tasti che usano il protocollo Microsoft. La pressione o il rilascio del bottone di mezzo è riportata dall'invio di un pacchetto con nessun movimento e nessun tasto premuto (perciò, a differenza degli altri due bottoni, lo stato del bottone di mezzo non è riportato in ogni pacchetto).

Protocollo Logitech

I mouse Logitech seriali a tre bottoni usa un'estensione diversa del protocollo Microsoft: quando il bottone di mezzo è su, il pacchetto da tre byte di più sopra è inviato; quando il bottone di mezzo è giù, un pacchetto da quattro byte è inviato, dove il quarto byte ha il valore 0x20 (o, per lo meno, ha il bit 0x20 impostato). In particolare, la pressione del bottone di mezzo è riportata come 0,0,0,0x20 se nessun altro bottone viene schiacciato.

Protocollo Mousesystems

Il protocollo Mousesystems usa un bit di start, 8 bit di dati, nessuna parità e due bit di stop alla velocità di 1200 bit/s. I dati sono spediti a RxD in pacchetti da 5 byte. dx è spedito come somma dei due valori in complemento a due, dy è spedito come somma negata dei due valori in complemento a due. lb (mb, rb)
 viene portato basso (0) quando il tasto sinistro (centrale, destro) sono premuti:
byted7d6d5d4d3d2d1d0
110000lbmbrb
20dxa6dxa5dxa4dxa3dxa2dxa1dxa0
30dya6dya5dya4dya3dya2dya1dya0
40dxb6dxb5dxb4dxb3dxb2dxb1dxb0
50dyb6dyb5dyb4dyb3dyb2dyb1dyb0

I byte 4 e 5 descrivono il cambiamento avvenuto a seguito della trasmissione dei byte 2 e 3.

Protocollo Sun

Il protocollo Sun è la versione a tre byte del protocollo Mousesystems a cinque byte di più sopra: gli ultimi due byte non sono inviati.

Protocollo MM

Il protocollo MM usa un bit di start, 8 bit di dati, parità dispari e un bit di stop alla velocità di 1200 bit/s. I dati sono spediti a RxD in pacchetti da 3 byte. dx e dy sono spediti come singoli valori con segno, e il bit di segno indica un valore negativo. lb (mb, rb) vengono attivati quando il tasto sinistro (centrale, destro) sono premuti:
byted7d6d5d4d3d2d1d0
1100dxsdyslbmbrb
20dx6dx5dx4dx3dx2dx1dx0
30dy6dy5dy4dy3dy2dy1dy0

FILE

/dev/mouse
un link simbolico usato comunemente come puntatore al dispositivo del mouse.

COLOPHON

Questa pagina fa parte del rilascio 3.73 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trova su http://www.kernel.org/doc/man-pages/.

La versione italiana fa parte del pacchetto man-pages-it v. 3.73, a cura di: ILDP "Italian Linux Documentation Project" http://www.pluto.it/ildp
Per la traduzione in italiano si può fare riferimento a http://www.pluto.it/ildp/collaborare/
Segnalare eventuali errori di traduzione a [email protected]