MOUSE
Section: Linux Programmer's Manual (4)
Updated: 10 febbraio 1996
Index
Return to Main Contents
NOME
mouse - 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 è:
pin | name | used for
|
2 | RX | Data
|
3 | TX | -12 V, Imax = 10 mA
|
4 | DTR | +12 V, Imax = 10 mA
|
7 | RTS | +12 V, Imax = 10 mA
|
5 | GND | Ground
|
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/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.
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:
byte | 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
|
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:
byte | 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
|
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:
byte | 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
|
FILE
- /dev/mouse
-
un link simbolico usato comunemente come puntatore al dispositivo del mouse.
VEDERE ANCHE
ttyS(4),
gpm(8)
Index
- NOME
-
- CONFIGURAZIONE
-
- DESCRIZIONE
-
- Introduzione
-
- Protocollo Microsoft
-
- Protocollo Microsoft a tre bottoni
-
- Protocollo Logitech
-
- Protocollo Mousesystems
-
- Protocollo Sun
-
- Protocollo MM
-
- FILE
-
- VEDERE ANCHE
-
This document was created by
man2html,
using the manual pages.
Time: 23:03:52 GMT, June 17, 2008