¿Qué sucede cuando presionamos un botón del mouse? ¿A dónde va la señal y qué sucede como resultado?

Cuando su dedo presiona el “botón” plástico plástico ergonómico en el mouse de su computadora, se flexiona y una característica en su interior activa un mecanismo de interruptor más genérico (vea la imagen a continuación, por ejemplo) soldada en la placa de circuito impreso (PCB ) dentro del mouse.

Imagen a través de Omron Electronics Inc-EMC Div

También se suelda en la PCB un microcontrolador , un pequeño y básico chip de computadora que ejecuta un software dedicado (a menudo llamado “firmware”). En un bucle continuo, el microcontrolador verifica el estado de cada uno de los interruptores de botón en el mouse, así como también monitorea los sensores de posición que detectan que mueves el mouse sobre la mesa. Cuando cualquiera de estos estados cambia, el microcontrolador empaqueta un mensaje y lo envía a través de la conexión USB, de acuerdo con los mensajes estándar definidos por la clase de dispositivo de interfaz humana USB – Wikipedia (USB HID).

El software del sistema operativo en su computadora supervisa de manera similar sus puertos USB, interpreta los mensajes a través de los controladores de dispositivo correspondientes (estándar, como USB HID o especializados para ciertos dispositivos) y pasa esos eventos al otro software que se ejecuta dentro de la operación sistema. Los diferentes sistemas operativos estructuran estos eventos de transmisión de mensajes de manera algo diferente, pero finalmente llegan al software con el que está tratando de interactuar, o incluso a una página web que ejecuta Javascript dentro de su navegador web, reaccionando, por ejemplo, a un evento onmousedown.

Cuando se mueve el mouse, la computadora (o el mouse, no lo sé) probablemente esté calculando hacia dónde debe moverse el cursor, luego lo mueve allí. Cuando presiona un botón, envía una señal, la computadora calcula la solicitud y continúa con la acción.

Dato curioso, una CPU solo puede hacer una cosa a la vez, simplemente cambia las tareas tan rápido que parece estar haciendo varias cosas a la vez.

Cuando usamos puertos PS2, la mayoría enviaba una interrupción a la CPU que le indicaba que el mouse se estaba moviendo. Hoy en día, con puertos USB, la CPU está sondeando constantemente por cualquier cambio.