mouse(4) Interfaz de ratón serie

CONFIGURACIÓN

Los ratones serie se conectan a una línea serie RS232/V24, véase ttys(4) para una descripción.

DESCRIPCIÓN

Introducción

El diagrama de conexión de un conector de 9 pines normal como el usado por un ratón serie es:

pinnombreusado para
2RXData
3TX-12 V, Imax = 10 mA
4DTR+12 V, Imax = 10 mA
7RTS+12 V, Imax = 10 mA
5GNDGround

Esta es la especificación aunque, de hecho, 9 voltios son suficientes para la mayoría de los ratones.

El driver del ratón puede reconocer un ratón poniendo la RTS a nivel bajo y subiéndola de nuevo. Después de 14 ms el ratón enviará 0X4D ('M') en la línea de datos. Después de otros 63 ms, un ratón de 3 botones Microsoft-compatible enviará 0x33 ('3').

El movimiento relativo del ratón es enviado como dx (un valor positivio indica derecha) y dy (un valor positivo indica abajo). Ratones diferentes pueden operar a diferentes velocidades. Para seleccionar una velocidad, entre los valores 9600, 4800, 2400 y 1200 bit/s, se escriben los dos caracteres que aparecen en la tabla de abajo y se hace una pausa de 0.1 segundos. La siguiente tabla muestra las velocidades disponibles y las cadenas que las seleccionan:

bit/s string
9600 *q
4800 *p
2400 *o
1200 *n

El primer byte de un paquete de datos se puede usar para propósitos de sincronización.

Protocolo Microsoft

El protocolo Microsoft usa 1 bit de inicio, 7 bits de datos, no paridad y un bit de parada a la velocidad de 1200 bits/seg. Los datos se envía a RxD en paquetes de 3 bytes. Los movimientos dx y dy son enviados en complemento a dos, y el bit lb (rb) se pone a 1 cuando se presiona el botón izquierdo (derecho):

byted6d5d4d3d2d1d0

11lbrbdy7dy6dx7dx6
20dx5dx4dx3dx2dx1dx0
30dy5dy4dy3dy2dy1dy0

Protocolo Microsoft de 3 botones

El ratón original de Microsoft sólo tiene dos botones. No obstante, hay algunos ratones de tres botones que también usan el protocolo Microsoft. Presionar o soltar el tercer botón (botón central) se indica enviando un paquete de movimiento zero y ningún botón presionado. (Por tanto, a diferencia de los otros dos botones, el estado del tercer botón no se indica en cada paquete.)

Protocolo Logitech

Los ratones serie Logitech de 3 botones usan una extensión diferente del protocolo Microsoft: cuando el botón central está levantado, se envía el paquete anterior de 3 bytes. Cuando el botón central está pulsado, se envía un paquete de 4 bytes donde el 4º byte tiene el valor 0x20 (o, al menos, tiene activo el bit 0x20). En particular, la pulsación del botón central se indica como 0,0,0,0x20 cuando ningún otro botón está pulsado.

Protocolo Mousesystems

El protocolo Mousesystems usa 1 bit de comienzo, 8 bits de datos, no paridad y dos bits de parada a la velocidad de 1200 bits/seg. Los datos se envian a RxD en paquetes de 5 bytes. dx se envía como la suma de los dos valores en complemento a dos, dy se envía como la suma negada de los dos valores en complemento a dos. El bit lb (mb, rb) se pone a 0 cuando se presiona el botón izquierdo(central,derecho):

byted7d6d5d4d3d2d1d0

110000lbmbrb
20dxa6dxa5dxa4dxa3dxa2dxa1dxa0
30dya6dya5dya4dya3dya2dya1dya0
40dxb6dxb5dxb4dxb3dxb2dxb1dxb0
50dyb6dyb5dyb4dyb3dyb2dyb1dyb0

Los bytes 4 y 5 describen el cambio producido desde que se transmitieron los bytes 2 y 3.

Protocolo Sun

El protocolo Sun es la versión de 3 bytes del protocolo anterior Mousesystems de 5 bytes: los últimos 2 bytes no se envían.

Protocolo MM

El protocolo MM usa 1 bit de comienzo, 8 bits de datos, paridad impar y un bit de parada a la velocidad de 1200 bits/seg. Los datos se envían a RxD en paquetes de 3 bytes. dx y dy se envían como un único valor con signo, donde el bit de signo indica un valor negativo. El bit lb (mb, rb) se pone a 1 cando se presiona el botón izquierdo (central, derecho):

byted7d6d5d4d3d2d1d0

1100dxsdyslbmbrb
20dx6dx5dx4dx3dx2dx1dx0
30dy6dy5dy4dy3dy2dy1dy0

FICHEROS

/dev/mouse
un enlace simbolico frecuentemente usado, que apunta a un dispositivo de raton.