viernes, 20 de noviembre de 2020

El ratón

Supongo que alguna vez te habrá pasado como a mí. Que viendo cómo los movimientos de tu mano sobre ese artilugio que llamamos "ratón" se traducen de forma casi instantánea en el desplazamiento de un puntero o cursor a lo largo y ancho de la pantalla del ordenador, habrás pensado... ¡Qué curioso! Pero hasta ahí. Sin entrar en investigar cómo y de qué manera se produce esa "traducción".

Hasta que llega el día en que decides enterarte de cómo funciona un ratón. Yo lo he hecho hace unas semanas y, para ahorrarte el trabajo, aquí te lo cuento. Espero que de forma clara y amena.

Lo primero, un poco de contexto histórico. Los que ya hacíamos nuestros pinitos con la informática en los años 70 del siglo pasado sabemos que esto del ratón no ha existido siempre. Lo suyo era el teclado, el cursor parpadeante y la secuencia de instrucciones del sistema operativo MS-DOS: A: PRINT ARCHIVO.DOC.


Prototipo de ratón de Engelbart (1968)
Pero ya en los años 60 había gente buscando una "human-computer interface" que fuera más natural y que permitiera un desarrollo de las posibilidades del ordenador para usos más gráficos. Fue en el Stanford Research Institute donde dos ingenieros americanos, Douglas Engelbart y Bill English, diseñaron un primer prototipo de una cajita de madera con un par de ruedas que giraban al moverla por una superficie plana, conectada por cable al ordenador, y que, por esa forma y ese cable, les pareció similar a un "mouse" y con el nombre de ratón se quedó (la patente original hablaba de un X-Y Position Indicator for a Display System).

El primer ordenador con ratón incluido fue el Xerox Star 8010, lanzado en abril de 1981. Pero su éxito "comercial" se produjo en 1984, con la salida al mercado del Macintosh de Apple.

Teniendo en cuenta que la aparición de las pantallas táctiles, tecnología sustitutiva del ratón en la mayoría de las aplicaciones (salvo, por ahora, en los videojuegos) se produjo en los 2000 (el iPad apareció en 2010), podemos decir que el "dominio del ratón" duró unos 25 años. 

En ese tiempo han existido 3 "tecnologías" asociadas al ratón: la bola de goma, el led y el láser, pero el fundamento del proceso siempre ha sido el mismo:
1) Detectar el movimiento del ratón en dos ejes: horizontal (X) y vertical (Y).
2) Traducir ese movimiento en un "paquete de información".
3) Enviar ese paquete al ordenador (a través del cable o por vía inalámbrica).
4) Convertir esa información en el movimiento que debe hacer el puntero o cursor en la pantalla del ordenador.

Hablamos primero de lo que es común, luego veremos cómo funciona cada tecnología en concreto. Lo común es el protocolo por el que se codifica el movimiento del ratón. Consiste en 3 bytes (cada uno son 8 bits) de información. 

Nota: Esta parte es la más técnica; si te quieres quedar con lo esencial, puedes saltar a la descripción del ratón de bola de goma.

El 2º byte indica el movimiento del ratón en el eje horizontal (X) desde que se envió el anterior paquete (esto es importante; no se trata de una posición absoluta sino relativa); sin signo (esto es, si es hacia la derecha o hacia la izquierda; luego vemos dónde va el signo). Como en un byte de información se pueden codificar números desde el 0 al 255 (2E8-1), ese es el máximo desplazamiento que podemos codificar. El 3er. byte indica lo mismo, pero para el desplazamiento del ratón en el eje vertical (Y). 

El 1er byte es más curioso. Cada bit significa una cosa distinta, si es "1" o "0":
Bit nº 7 (el de más a la izquierda): indica si el movimiento vertical (Y) ha sobrepasado las 255 unidades (indicador de "overflow")
Bit nº 6: lo mismo para el movimiento horizontal (X).
Bit nº 5: Signo del movimiento vertical: "1" si "hacia arriba"; "0" si "hacia abajo"
Bit nº 4: Signo del movimiento horizontal: "1" si "hacia la izquierda"; "0" si "hacia la derecha".
Bit nº 3: Siempre "1" (éste les sobraba).
Bit nº 2: Estado del botón central del ratón: "1" si apretado; "0" si no.
Bit nº 1: Idem para el botón derecho.
Bit nº 0: Idem para el botón izquierdo.

En forma gráfica:


Lo curioso del caso es que este proceso de codificación y envío de información desde el ratón al ordenador se produce con una gran frecuencia. Es lo que se conoce como "tasa de sondeo" (polling rate), y se determina en hercios: Hz. Así, cuando se dice que un ratón funciona a 125 Hz quiere decir que envía información 125 veces por segundo (o cada 8 milisegundos). De ahí que, al ojo humano, el movimiento del cursor le parezca que es continuo, no una sucesión de puntos.

Ahora vemos cómo cada tecnología detecta el movimiento del ratón.

Ratón de bola de goma "desarmado"
Bola de goma: fue la primera en el tiempo. Consistía en eso, una bola de metal recubierta de goma que sobresalía un poco por debajo del ratón, de forma que al moverlo con la mano la bola giraba siguiendo el movimiento. Ese movimiento se trasladaba de forma continua a dos ruedas o rodillos en el interior, situados uno a 90º del otro. Ese movimiento de cada rodillo es lo que determinaba la variación, en sentido horizontal y vertical de la posición del ratón. Un chip interno, con un software apropiado, traducía ese movimiento "analógico" en el paquete de información "digital" con el formato que hemos visto (la presión de los botones iba aparte, mediante unos sensores específicos).

El mayor inconveniente era que la bola iba recogiendo pequeñas partículas de polvo y suciedad que obligaban a limpiarla de vez en cuando, porque, de no hacerlo, se perdía precisión.

También que, para determinadas aplicaciones, en especial los videojuegos, la precisión/sensibilidad requerida era mayor (esto se explica más adelante), lo que propició la aparición de las siguientes tecnologías:

Componentes del ratón óptico (visto desde arriba)
Sensor óptico: Apareció en 1999. Supuso la práctica eliminación de todas las piezas móviles. Consiste en un diodo emisor de luz ("led") y en una célula fotoeléctrica que recoge la luz reflejada en la superficie donde se apoya el ratón. También hay una lente que magnifica la luz reflejada. Es como si la célula recogiera una sucesión de "fotografías" realizadas a la superficie y detectara las variaciones de posición de los elementos que aparecen en las fotos. Con ello, determina si el ratón ha cambiado de posición y en qué dirección X-Y.

El led de los primeros ratones ópticos emitía una luz de color rojo; en los actuales suele ser infrarrojo, por lo que no se aprecia a la vista.

Para detectar si los botones de hacer "clic" o arrastrar el cursor están o no apretados, sigue habiendo unos sensores mecánicos.

Detalle de la parte óptica
Sensor láser: El principio es el mismo que en el ratón óptico, salvo que la luz emitida es de tipo láser de baja intensidad, lo que aporta una mayor capacidad de definición. También, un ratón láser se puede usar sobre una superficie totalmente transparente, tipo cristal, mientras que el óptico no.

Y llega el momento de explicar lo que se entiende por definición o sensibilidad de un ratón. Se mide en cpp: "conteos por pulgada" (CPI: "counts per inch" en inglés). Es la distancia que el puntero recorre en la pantalla del ordenador (o de un monitor de TV) cuando el ratón se mueve 1 pulgada = 2,54 cm en la superficie donde se apoya. En los ratones de bola de goma, el límite estaba en unos 400 cpp. En los ópticos en 800 cpp. Y en los láser, su definición empezaba a partir de 2.000 cpp (aunque ya hay ópticos que también alcanzan estas sensibilidades). ¿Y esto qué quiere decir? Pues lo vamos a entender con un ejemplo.

La pantalla de un ordenador corriente, con un tamaño de 17"-19" tiene, normalmente, una resolución de 1280 x 720 píxeles. Es lo que se conoce como HD ("high definition"). Eso quiere decir que, con un ratón que tenga 500 cpp, lo necesitaremos mover en la alfombrilla 2,56 pulgadas = 6,50 cm para que el cursor recorra toda la pantalla de izquierda a derecha. No es demasiado. Si el ratón tuviera 2.000 cpp, sólamente necesitaríamos moverlo 1,62 cm (como contrapartida, quizá en este caso costaría afinar un poco cuando necesitáramos desplazamientos cortos del puntero).

Pero si ahora estamos jugando a un videojuego en un monitor de televisión de 30", con una resolución 4K (lo que significa 3840 x 2160 píxeles), con el mismo ratón de 500 cpp necesitaríamos moverlo 19,50 cm para recorrer toda la pantalla; seguro que el enemigo nos mata antes. En cambio, con el de 2.000 cpp sólo necesitaríamos moverlo 4,88 cm, lo que nos daría alguna posibilidad de supervivencia.

Hasta aquí hemos llegado. Por supuesto que hay multitud de tipos de ratón, especialmente destinados al mundo de los videojuegos, con posibilidades y características más complejas. Pero espero haber cumplido mi objetivo: en lo básico, ahora sabemos cómo funciona ese simpático artilugio.


*****************************************************
Con esta ilustración inaugura Tatiana R. una nueva serie. Cambia los puzzles por los naipes, para seguir sorprendiéndonos con su originalidad y creatividad.
Steve: Por fin sabemos quién le dio el mordisco a la famosa manzana... ;-)


(Ilustración de Tatiana Restrepo - www.tatisart.com)

********************************************************************

2 comentarios:

  1. Que barbaridad, lo que sabes de ratones! Yo los uso siempre que puedo porque no me acostumbro al touchpad

    ResponderEliminar
  2. Ostras! Qué de información "ratonil" Yo, como Telmo, tengo que tener a mano siempre el ratón. Para el portátil igual, no me apaño sin él, uso uno chiquitín.

    ResponderEliminar