|
MOUSE(4) manual page
Table of Contents
mouse - interfaccia per il mouse seriale
I mouse
seriali sono connessi a una linea seriale dialout RS232/V24. Si veda cua
(4)
per una descrizione.
La piedinatura della
solita presa a 9 pin usata per i mouse seriali è:
| pin | nome | usato
per |
| 2 | RX | Dati |
| 3 | TX | -12 V, corrente max = 10 mA |
| 4 | DTR | +12
V, corrente max = 10 mA |
| 7 | RTS | +12 V, corrente max = 10 mA |
| 5 | GND
| Massa |
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. Circa 14 ms dopo il mouse invierà 0x4D nella
linea dati. Dopo ulteriori 63 ms i mouse compatibili Microsoft invieranno
0x33. Altri mouse inviano valori differenti.
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/s
| stringa |
| 9600 | *q |
| 4800 | *p |
| 2400 | *o |
| 1200 | *n |
Come si può
notare il primo byte del pacchetto di dati può essere usato per la sincronizzazione.
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:
| byte | d6 | d5 | d4 | d3 | d2 | d1 | d0 |
| 1
| 1 | lb | rb | dy7 | dy6 | dx7 | dx7 |
| 2 | 0 | dx5 | dx4 | dx3 | dx2 | dx1 | dx0 |
| 3 | 0 | dy5 | dy4 | dy3 | dy2 | dy1 | dy0 |
I mouse Microsoft originali hanno
solo due tasti. Nonostante ciò, ci sono alcuni mouse a tre tasti che usano
il protocollo Microsoft. La pressione del terzo tasto è riportata dall'invio
di un pacchetto con nessun movimento e nessun tasto premuto.
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:
| byte | d7 | d6 | d5
| d4 | d3 | d2 | d1 | d0 |
| 1 | 1 | ? | ? | ? | ? | lb | mb | rb |
| 2 | 0 | dxa6 | dxa5
| dxa4 | dxa3 | dxa2 | dxa1 | dxa0 |
| 3 | 0 | dxb6 | dxb5 | dxb4 | dxb3 | dxb2 | dxb1
| dxb0 |
| 4 | 0 | dya6 | dya5 | dya4 | dya3 | dya2 | dya1 | dya0 |
| 5 | 0 | dyb6
| dyb5 | dyb4 | dyb3 | dyb2 | dyb1 | dyb0 |
Il protocollo Sun
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
3 byte. dx è spedito in un unico valore in complemento a due, dy come
un valore in complemento a due negato. lb (mb , rb ) viene portato basso
(0) quando il tasto sinistro (centrale, destro) sono premuti:
| byte
| d7 | d6 | d5 | d4 | d3 | d2 | d1 | d0 |
| 1 | 1 | ? | ? | ? | ? | lb | mb | rb |
| 2 |
0 | dx6 | dx5 | dx4 | dx3 | dx2 | dx1 | dx0 |
| 3 | 0 | dy6 | dy5 | dy4 | dy3 | dy2
| dy1 | dy0 |
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:
| byte | d7 | d6 | d5 | d4 | d3 | d2 | d1 | d0 |
| 1 | 1 | ? | ? |
dxs | dys | lb | mb | rb |
| 2 | 0 | dx6 | dx5 | dx4 | dx3 | dx2 | dx1 | dx0 |
| 3 |
0 | dy6 | dy5 | dy4 | dy3 | dy2 | dy1 | dy0 |
/dev/mouse un link simbolico
usato comunemente come puntatore al dispositivo del mouse.
cua(4)
, bm(4)
Table of Contents
|