Chapter 1. Introducci�n

NotePublicaci�n Anterior
 

Algunas partes de este documento aparecieron primero en Linux Magazine bajo una exclusividad de noventa dias.

Los ratones son conceptualmente uno de los interfaces de dispositivos m�s simples en el sistema operativo Linux. No todos los ratones son manejados por el n�cleo. Es vez de eso, hay una abstracci�n de dos capas.

Los controladores de rat�n del n�cleo y los controladores del espacio de usuario para los ratones serie son todos administrados por un demonio del sistema llamado gpm - el controlador de prop�sito general de rat�n. gpm maneja la acci�n de cortar y pegar en los textos de las consolas. Suministra una biblioteca general para aplicaciones que conocen el rat�n y administra la compartici�n de los servicios del rat�n con la interfaz de usuario del X Window System.

Algunas veces un rat�n habla un protocolo suficientemente complicado como para que sea manejado por el propio Gpm. La mayor�a de los controladores de rat�n siguen una interfaz com�n llamada protocolo de bus del rat�n.

Cada lectura de un dispositivo de una interfaz del bus de rat�n retorna un bloque de datos. Los tres primeros bytes de cada lectura est�n definidos de la siguiente forma:

Table 1-1. Codificaci�n de Datos del Rat�n

Byte 00x80 + los botones actualmente pulsados.
Byte 1Un valor con signo para el desplazamiento en la posici�n X
Byte 2Un valor con signo para el desplazamiento en la posici�n Y
Una aplicaci�n puede escoger leer m�s de 3 bytes. El resto de los bytes ser�n cero, o quiz�s opcionalmente retornen alguna informaci�n espec�fica del dispositivo.

Los valores de la posici�n son truncados si es que exceden del rango de los 8 bits (que es -127 <= delta <= 127). Como el valor -128 no encaja en un byte no es permitido.

Los botones son numerados de izquierda a derecha como 0, 1, 2, 3.. y cada bot�n establece el bit relevante. Por lo tanto un usuario presionando los botonoes de la izquierda y de la derecha en un rat�n de tres botones establecer�n los bits 0 y 2.

Todos los ratones est�n requeridos a soportar la operaci�n poll. Ser�a algo verdaderamente muy bonito si todos los usuarios de un controlador de un dispositivo usaran poll para esperar a que tuvieran lugar los eventos.

Finalmente el soporte as�ncrono de E/S de los ratonoes. Este es un t�pico que todav�a no hemos cubierto pero que explicar� m�s tarde, despu�s de mirar en un controlador simple de rat�n.