Home

mouse(4) - pt_BR

mouse(4)Device Drivers Manualmouse(4)

mouse - interface para mouse serial

Mouse serial são conectados em uma linha serial RS232/V24 dialout, veja ttyS(4) para uma descrição.

A pinagem do conector usual de 9 pinos como usada para mouse serial é:

pinonomeusado para
2RXDados
3TX-12 V, Imax = 10 mA
4DTR+12 V, Imax = 10 mA
7RTS+12 V, Imax = 10 mA
5GNDAterramento

Esta é a especificação, na verdade 9 V basta com a maioria dos mouses.

O driver de mouse pode reconhecer um mouse reduzindo RTS para baixo e aumentando-o novamente. Aproximadamente 14 ms depois, o mouse vai 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). Vários mouses podem operar em diferentes velocidades. Para selecionar a velocidade, muda entre as velocidades 9600, 4800, 2400 e 1200 bit/s, cada vez escrevendo os dois caracteres da tabela abaixo e aguardando 0,1 segundos. A tabela a seguir mostra as velocidades disponíveis e as strings que as selecionam:

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

O primeiro byte de um pacote de dados pode ser usado para propósitos de sincronização.

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:

byted6d5d4d3d2d1d0
11lbrbdy7dy6dx7dx6
20dx5dx4dx3dx2dx1dx0
30dy5dy4dy3dy2dy1dy0

Os mouses originais da Microsoft têm somente dois botões. De qualquer forma, há alguns mouses de 3 botões que usam o protocolo Microsoft. Pressionar ou soltar o botão do meio é relatado enviando 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 é relatado em cada pacote.)

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 bytes é enviado, onde o quarto byte tem valor 0x20 (ou pelo menos tem o bit 0x20 selecionado). Em particular, um pressionamento do botão do meio é relatado como 0,0,0,0x20 quando outros botões não estão pressionados.

O protocolo Mousesystems usa 1 bit de início, 8 bits de dados, sem paridade e 2 bits de parada 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 complemento de dois. lb (mb, rb) são limpados quando o botão esquerdo (médio, direito) é pressionado:

byted7d6d5d4d3d2d1d0
110000lbmbrb
20dxa6dxa5dxa4dxa3dxa2dxa1dxa0
30dya6dya5dya4dya3dya2dya1dya0
40dxb6dxb5dxb4dxb3dxb2dxb1dxb0
50dyb6dyb5dyb4dyb3dyb2dyb1dyb0

Bytes de 4 e 5 descrevem a alteração que ocorreu desde os bytes 2 e 3 serem transmitidos.

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.

O protocolo MM usa 1 bit de início, 8 bits de dados, paridade ímpar 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 valores simples sinalizados, o bit de sinal indicando um valor negativo. lb (mb, rb) são selecionados quando o botão esquerdo (médio, direito) é pressionado:

byted7d6d5d4d3d2d1d0
1100dxsdyslbmbrb
20dx6dx5dx4dx3dx2dx1dx0
30dy6dy5dy4dy3dy2dy1dy0

/dev/mouse
É um link simbólico normalmente usada para apontar o dispositivo de mouse.

ttyS(4), gpm(8)

A tradução para português brasileiro desta página man foi criada por André Luiz Fassone <[email protected]>, Carlos Augusto Horylka <[email protected]> e Rafael Fontenelle <[email protected]>.

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.

5 fevereiro 2023Linux man-pages 6.03