MOUSE(4)

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)