NOME¶
mouse - interface para mouse serial
CONFIGURAÇÃO¶
Mouse serial são conectados para uma linha serial RS232/V24 dialout, veja
ttys(4) para uma descrição.
DESCRIÇÃO¶
Introdução¶
A pinagem do plug usual de 9 pinos como usada para mouse serial é:
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 |
Esta é a especificação, de fato 9 V basta com a maioria dos
mouses.
O controlador de mouse pode reconhecer um mouse pela queda de RTS para baixo e
aumento novamente. Aproximadamente 14 ms depois o mouse irá enviar 0x4D
('M') na linha de dados. Depois de 63 ms, um mouse de 3 botões
compatível com o protocolo Microsoft irá enviar 0x33 ('3').
O movimento relativo do mouse é enviado como
dx (positivo significa
direita) e
dy (positivo significa abaixo). Varios mouses podem operar
em diferentes velocidades. Para selecionar a velocidade, círcule
atráves de velocidades de 9600, 4800, 2400 e 1200 bit/s, toda vez a
escrita de dois caracteres da tabela abaixo e aguarda 0,1 segundos. A tabela
seguinte mostra as velocidades disponíveis e as seqüencias que as
selecionam:
bit/s |
string |
9600 |
*q |
4800 |
*p |
2400 |
*o |
1200 |
*n |
O primeiro byte de um pacote de dados pode ser usado para propósitos de
sicronização.
Microsoft protocol¶
O protocolo
Microsoft usa 1 bit de início, 7 bits de dados, sem
paridade e um bit de parada na velocidade de 1200 bits/sec. Dados são
enviados para RxD em pacotes de 3 bytes. O movimento em
dx e
dy
são enviados com complemento de dois,
lb (
rb) são
selecionados quando o botão esquerdo (direito) é pressionado:
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 |
Protocolo Microsoft de 3 botões¶
O mouse original da Microsoft tem somente dois botões. De qualquer forma,
tem alguns mouses de 3 botões que usam o protocolo Microsoft.
Pressionando ou soltando o botão do meio é reportado um pacote com 0
movimento e nenhum botão pressionado. (Assim, diferente dos outros dois
botões, o status do botão do meio não é reportado em cada
pacote.)
Protocolo Logitech¶
Mouse serial Logitech de 3 botões usa uma extensão diferente do
protocolo Microsoft: quando o botão está ativo, o pacote citado
acima de 3 bytes é enviado. Quando o botão do meio não
está ativo um pacote de 4-byte é enviado, aonde o quarto byte tem
valor 0x20 (ou pelo menos tem o bit 0x20 selecionado). Em particular, um
aperto do botão do meio é reportado como 0,0,0,0x20 quando outros
botões não estão ativos.
Protocolo Mousesystems¶
O protocolo
Mousesystems usa 1 bit de início, 8 bits de dados, sem
paridade e 2 bits de para na velocidade de 1200 bits/sec. Dados são
enviados para RxD em pacotes de 5 bytes.
dx é enviado como a soma
de dois valores complemento de dois,
dy é enviado como soma
negativa de dois valores coplemento de dois.
lb (
mb,
rb)
são limpados quando o botão esquerdo (médio, direito) é
pressionado:
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 |
Bytes de 4 e 5 descrevem a alteração que ocorreu desde os bytes bytes
2 e 3 serem transmitidos.
Protocolo Sun¶
O protocolo
Sun é uma versão de 3 bytes do protocolo, citado
acima, Mousesystems de 5 bytes: os últimos dois bytes são não
enviados.
Protocolo MM¶
O protocolo
MM usa 1 bit de partida, 8 bits de dados, paridade par e um
bit de parada na velocidade de 1200 bits/seg. Dados são enviados para RxD
em pacotes de 3 bytes.
dx e
dy são enviados como simples
valores valores sinalizados, o bit de sinal indicando um valor negativo.
lb (
mb,
rb) são selecionados quando o botão
esquerdo (médio, direito) é pressionado:
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 |
ARQUIVOS¶
- /dev/mouse
- É uma ligação simbólica normalmente
usada para apontar o dispositivo de mouse.
VEJA TAMBÉM¶
bm(4),
ttys(4),
gpm(8)
TRADUZIDO POR LDP-BR em 21/08/2000.¶
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução)
Carlos Augusto Horylka <horylka@conectiva.com.br> (revisão)