Guía Hardware
Black Friday Corsair

Cómo funciona un teclado: desde que pulsas una tecla hasta que aparece en pantalla

Actualizado a: 19 de enero de 2024

Desde que se pulsa una tecla en tu teclado hasta que se muestra el resultado en pantalla, muchas cosas suceden dentro de tu ordenador. Sin embargo, pocos usuarios saben lo que realmente pasa durante esa fracción de segundo, pero donde se producen muchos pasos que te descubriremos en este artículo. Así comprenderás mejor este periférico, compañero imprescindible del ratón que también te explicamos aquí.

¿Qué es un teclado?

teclado

Un teclado de ordenador es un dispositivo de entrada que permite al usuario ingresar datos y comandos en un ordenador. Es una parte fundamental de la interfaz de usuario de un ordenador y se utiliza para escribir texto, ingresar comandos, realizar atajos de teclado y controlar diversas funciones del sistema.

Un teclado de ordenador está compuesto por una serie de teclas que representan caracteres alfanuméricos, números, símbolos y funciones especiales. Las teclas principales incluyen las letras del alfabeto, los números del 0 al 9 y los símbolos de puntuación. Además, hay teclas especiales como las teclas de función (F1, F2, etc.), las teclas de navegación (Flechas de dirección, Inicio, Fin, etc.), las teclas de modificación (Shift, Control, Alt) y las teclas de acceso rápido (Esc, Enter, Borrar, etc.).

Existen diferentes tipos de teclados de ordenador, como el teclado estándar QWERTY, que es el más común y se llama así por las primeras seis letras de la fila superior de teclas. También hay teclados ergonómicos que están diseñados para reducir la fatiga y el estrés en las manos y las muñecas durante un uso prolongado.

Los teclados de ordenador se conectan a la ordenador mediante cables e interfaces PS/2, USB, o de forma inalámbrica utilizando tecnologías como Bluetooth o radiofrecuencia. Al ingresar una tecla, esta envía una señal eléctrica o inalámbrica a la ordenador, que luego la interpreta y muestra el carácter correspondiente en la pantalla.

Un poco de historia

El diseño de James Martin Comstock, creado en 1969, presenta una capa superior de teclas en tono azul claro que descansan sobre resortes amarillos, mientras que debajo hay una capa de contacto de metal en movimiento en colores verde, naranja y rojo. Además, cuenta con una placa de circuito en tono azul oscuro con puntos de conexión amarillos, similar a los teclados modernos. Esta innovación se puede apreciar en la patente de EE. UU. 3,591,749 sobre un teclado de circuito impreso, gentilmente proporcionada por la Oficina de Marcas y Patentes de EE. UU.

Los teclados modernos, con su enigmática secuencia de teclas «QWERTYUIOP», son claramente una evolución de las máquinas de escribir manuales del siglo XIX. Estas últimas, en lugar de contar con teclas montadas en una placa de circuito, empleaban un complejo sistema de palancas y resortes para hacer que los ruidosos martillos de metal golpearan una hoja de papel.

A medida que se fueron desarrollando sistemas eléctricos y electrónicos, el número de componentes móviles se redujo gradualmente, aunque es difícil atribuir el cambio decisivo de un teclado mecánico a uno electrónico a una única persona o dispositivo.

A pesar de que actualmente las pantallas táctiles y otros tipos de controles están muy extendidos, el teclado sigue siendo un periférico de entrada fundamental e imprescindible para muchos PCs de sobremesa y portátiles.

Partes del teclado

Dentro de un teclado existen varias partes fundamentales que debes conocer y que te presentamos aquí:

Teclas y pulsadores

Si desmontamos una tecla del teclado, podemos observar su funcionamiento básico de manera aproximada. En la base de plástico de la tecla hay un pequeño orificio, y el teclado cuenta con una barra alargada y redonda que coincide con esa forma. Al presionar la tecla, la barra se desplaza hacia abajo a través del orificio para hacer contacto con las capas de contacto situadas debajo. En el interior del orificio, se encuentra una pequeña pieza de goma que detiene el movimiento descendente de la tecla y la empuja hacia arriba cuando se suelta. Esta es la característica que proporciona un resorte a las teclas.

Panel inferior

Si quitamos la cubierta inferior del teclado, podremos observar su funcionamiento desde abajo. Será posible ver las capas de contacto de plástico transparente que detectan las pulsaciones de las teclas, y a través de esas capas se podrán visualizar las barras redondas que presionan las teclas hacia abajo desde la parte superior. En la parte superior del teclado, suele haber un panel que alberga tres pequeños LED encargados de activar las luces indicadoras de «Bloqueo numérico», «Bloqueo de mayúsculas» y «Bloqueo de desplazamiento».

También se puede apreciar el cable o emisor inalámbrico dentro, que recorre el interior de la carcasa superior del teclado, transmitiendo las señales eléctricas desde el teclado hasta el puerto USB de tu ordenador (o puerto PS/2 en máquinas más antiguas).

Si retiramos las capas de contacto eléctrico, podremos ver la parte inferior de las teclas y el lugar donde hacen contacto al ser presionadas. Si nos fijamos detenidamente, se podrá observar una de las pequeñas piezas de goma que permiten que las teclas reboten hacia arriba y hacia abajo. También es posible notar el patrón de pistas eléctricas en las capas de contacto.

Esta es la parte fascinante de un teclado. Hay tres capas de plástico separadas que trabajan en conjunto para detectar las pulsaciones de las teclas. Dos de estas capas están cubiertas con pistas metálicas conductoras de electricidad, y hay una capa aislante entre ellas con agujeros. Los puntos que se pueden apreciar representan los lugares donde las teclas presionan las dos capas conductoras juntas. Las líneas que se observan son las conexiones eléctricas que permiten el flujo de corrientes eléctricas cuando las capas se presionan entre sí por medio de una tecla que se desplaza hacia abajo desde la parte superior.

Hay un conjunto de conexiones eléctricas en la lámina inferior de plástico, impresas en un tono gris claro. El otro conjunto se encuentra en la lámina superior de plástico e impreso en un tono gris oscuro. Estas dos láminas se mantienen separadas por una capa de plástico transparente, excepto en los lugares donde las teclas presionan hacia abajo para que ambas láminas hagan contacto.

Es decir, cuando se presiona una tecla, las capas de contacto superior e inferior se unen y el teclado envía una señal al ordenador, de esta manera… No obstante, puede haber otras tecnologías de teclados que varíen levemente, aunque para comprender lo básico esto será suficiente. Por ejemplo, en los portátiles cuentan con teclados de menor profundidad debido a que necesitan espesores inferiores por lo compactos que son. Esto implica que las teclas son mucho más delgadas y, al retirarlas, se puede notar que a menudo están conectadas de manera diferente, mediante membrana en vez de de forma mecánica.

Otros teclados como los mandos de la TV, los teclados de algunos dispositivos móviles, los botones de los teléfonos fijos digitales, etc., funcionan de forma exáctamente igual. En la siguiente imagen te muestro un teclado sencillo para que puedas ver mejor todos estos detalles:

Controlador de teclado o keyboard controller

En el ámbito de la informática, un controlador de teclado es un dispositivo que establece la conexión entre un teclado y un ordenador. Su principal función es informar al ordenador cuando se presiona o se suelta una tecla. Cuando se reciben datos provenientes del teclado, el controlador genera una interrupción (conocida como interrupción del teclado) para permitir que la unidad central de procesamiento (CPU) maneje la entrada.

En el caso de que el teclado sea una unidad periférica separada del sistema (como ocurre en la mayoría de PCs de escritorio modernos), el controlador de teclado no se conecta directamente a las teclas. En cambio, recibe códigos de escaneo de un microcontrolador integrado en el teclado a través de algún tipo de interfaz serial. En esta configuración, el controlador también suele encargarse de controlar los LED del teclado al enviar datos a través del cable.

En la década de 1980, el IBM PC AT utilizaba un chip Intel 8042 para la conexión con el teclado. Este PC también controlaba el acceso a la línea A20 para solucionar un error de chip en el Intel 80286. El controlador de teclado también se utilizaba para iniciar un reinicio del software de la CPU, lo cual permitía que la CPU pasara del modo protegido al modo real. Esto se debía a que el procesador 80286 no permitía hacer esta transición sin reiniciar la CPU. Este problema surgía porque los servicios del BIOS y del sistema operativo solo podían ser invocados por programas en modo real. Estos comportamientos fueron utilizados por una amplia variedad de software que dependía de este funcionamiento, por lo que los controladores de teclado continuaron controlando la línea A20 y realizando interrupciones de software en la CPU, incluso cuando la necesidad de un reinicio a través del controlador de teclado quedó obsoleta gracias a la capacidad del Intel 80386 de cambiar del modo protegido al modo real sin reiniciar la CPU. Además, si hay un puerto de mouse PS/2 presente, el controlador de teclado también maneja la entrada del mouse PS/2. En la actualidad, el controlador de teclado se encuentra integrado en el propio teclado USB, que a su vez forma parte de un superdispositivo de entrada/salida (E/S). En este caso, la función de controlar la línea A20 es gestionada por el conjunto de chips.

Un poco de historia sobre este controlador

IBM desempeña un papel limitado en el desarrollo del controlador de teclado. En los ordenadores compatibles con IBM, el controlador de teclado, ya sea el controlador de teclado Intel 8042 o el controlador de teclado microcontrolador 8742 en modelos más recientes, se encuentra en la placa base. Este controlador se encarga de gestionar la entrada proveniente del teclado del ordenador, las líneas A20, el reinicio y el descifrado de los códigos de escaneo, así como también el mouse PS/2.

Sin embargo, aquellos que intentan utilizar el controlador de teclado (KBC o KeyBoard Controller) estilo clásico 8042 que se encuentra en el IBM PC/AT y en la mayoría de las PC posteriores suelen enfrentarse a la falta de documentación precisa. Si bien el 8042 (o el 8742, u otros microcontroladores compatibles integrados en chips Super I/O más recientes) cuenta con una documentación bastante completa, el problema radica en que el 8042 es un microcontrolador programable que incluye su propio software de control almacenado en una memoria de solo lectura (ROM, por sus siglas en inglés). Hasta hace poco, fuera de algunas empresas como IBM, AMI y Phoenix, nadie sabía exactamente qué hacía el software de control.

IBM ha documentado una serie de comandos que el sistema anfitrión puede enviar al KBC. Sin embargo, es importante comprender que todos estos comandos son construcciones puramente de software, sin ninguna restricción impuesta por el hardware 8042 que dicte un formato o una función específica, o incluso su existencia. Por lo tanto, para comprender exactamente qué son los comandos y qué hacen, es necesario comprender el código almacenado en la ROM del 8042. Cabe señalar que diferentes controladores pueden tener códigos ligeramente diferentes en su ROM.

Driver vs controlador

No tienes que confundir el anterior término con los drivers o controladores que se instalan para que los periféricos funcionen. Las diferencias entre un driver (controlador en español) y un chip controlador son las siguientes:

  • Driver (software/firmware):
    • Un driver es un software que permite que un dispositivo interactúe con el sistema operativo y otros programas del ordenador.
    • Los drivers actúan como intermediarios entre el hardware y el software, proporcionando una interfaz estándar y facilitando la comunicación y el funcionamiento del dispositivo.
    • Los drivers son específicos para cada sistema operativo y dispositivo. Se requiere un driver diferente para cada sistema operativo y versión, y también para diferentes modelos y marcas de dispositivos.
    • Los drivers se instalan en el sistema operativo y se actualizan ocasionalmente para mejorar la compatibilidad, la estabilidad y la funcionalidad del dispositivo.
  • Controlador (chip):
    • Un chip controlador, también conocido como controlador de hardware, es un componente físico que se encuentra en el dispositivo y se encarga de controlar y gestionar su funcionamiento.
    • El chip controlador es una parte integral del hardware del dispositivo y está diseñado específicamente para controlar y coordinar las funciones y características específicas del dispositivo.
    • Los chips controladores están diseñados para ser compatibles con ciertos estándares y protocolos de hardware, y se encargan de tareas específicas, como convertir señales analógicas en digitales, gestionar la energía, controlar las comunicaciones, etc.
    • Los chips controladores se fabrican como componentes físicos y se integran directamente en los dispositivos durante su proceso de fabricación.

Ambos son muy importantes a la hora de que el teclado funcione adecuadamente. El controlador transformará las señales de pulsación de teclas en un código binario adecuado para que sea interpretado por el ordenador, mientras que el controlador o driver de software también hará que el kernel del sistema operativo pueda gestionar este recurso de hardware y pueda recibir información de este periférico de entrada…

¿Qué sucede en tu ordenador al pulsar una tecla?

Cada tecla del teclado tiene asignado un código de escaneo, que es un número único que representa la ubicación de la tecla en el teclado. Este código de escaneo resulta útil cuando se utilizan teclados con distintos diseños y símbolos. Cuando se presiona una tecla, se envía al ordenador un número binario que corresponde a dicho código de escaneo. De esta manera, se establece una comunicación entre el teclado y el ordenador para interpretar la tecla presionada y ejecutar la acción correspondiente.

Se transmite un número a la CPU

La información en forma de datos binarios se envía desde el controlador del teclado hacia el ordenador. El medio que siguen estos datos depende del tipo de conexión entre el teclado y el ordenador. Si el teclado está conectado mediante un cable USB, los datos se dirigirán al puerto USB. En el caso de una conexión Bluetooth, los datos serán transmitidos al receptor Bluetooth.

Posteriormente, estos datos viajan hacia el núcleo de procesamiento del procesador gracias al programa informático que está ejecutándose en ese momento y que estaría esperando estos datos del teclado para realizar alguna acción. Allí, la CPU procesa y interpreta los datos recibidos, permitiendo que el ordenador comprenda las teclas que se han presionado en el teclado y tome las acciones correspondientes.

Interpretación del sistema operativo

Es importante tener en cuenta que la CPU es responsable de ejecutar el sistema operativo, concretamente el kernel, que es el que gestiona los recursos de hardware, junto con los drivers instalados o módulos del kernel. El sistema operativo realiza de manera continua la verificación de las pulsaciones de teclas. Aunque pueda parecer que la CPU está inactiva en determinados momentos, en realidad el sistema operativo debe estar preparado en todo momento para responder de manera instantánea ante cada pulsación de tecla.

Esta prontitud en la respuesta es necesaria, ya que el sistema operativo debe estar constantemente preparado para procesar y atender las pulsaciones de teclas. Aunque a simple vista pueda parecer que no está sucediendo mucho, el sistema operativo trabaja en segundo plano para garantizar que cada pulsación de tecla sea detectada y procesada de manera adecuada.

Captura desde el software de aplicación

El sistema operativo se encarga de convertir el código de escaneo en un carácter ASCII o Unicode, dependiendo de la tecla presionada. Por lo general, el sistema operativo configura el diseño del teclado para el PC, por lo que es el encargado de asignar el significado de cada carácter correspondiente al código de escaneo, según el idioma o diseño de teclado utilizado.

Una vez obtenido el carácter resultante, el sistema operativo genera un evento. En informática, un evento es una acción reconocida y gestionada por el software, y en muchas ocasiones, tiene su origen en el hardware. Esto puede ser una syscall o llamada al sistema, que detendrá la ejecución del programa de usuario o app para atender una rutina de código que es específica para aprovechar ese recurso de hardware, en este caso la pulsación del teclado.

El siguiente paso consiste en que el sistema operativo envíe el evento a la aplicación apropiada. En un entorno con múltiples aplicaciones en ejecución, es crucial que la pulsación de tecla sea manejada por la aplicación correcta. El sistema operativo tiene conocimiento sobre qué software estaba activo en el momento en que se presionó la tecla, y se encarga de enviar el evento a dicha aplicación.

En este ejemplo, la aplicación de software es Microsoft Word, Bloc de notas, un terminal, etc., la cual captura el evento generado por el sistema operativo.

El software de la aplicación muestra el carácter en la pantalla

Por ejemplo, imagina que tenemos una app tipo editor de texto que tiene que presentar la pulsación de la tecla en una letra en pantalla. Imagina que la tecla pulsada es la A. Entonces, transforma el carácter en una representación visual de acuerdo con las opciones de fuente establecidas en el programa.

Posteriormente, esta representación visual se envía de vuelta a la unidad central de procesamiento (CPU) en forma de datos binarios. La CPU, a su vez, transfiere estos datos a la unidad de procesamiento gráfico (GPU). La GPU se encarga de interpretar el código binario y generar la imagen correspondiente, la cual se muestra en el monitor. Todo esto con la colaboración también de la API gráfica, si es necesario.

Cuando se presiona una tecla, ocurren múltiples procesos. En esta etapa, nos enfocaremos en los dispositivos de entrada y salida.

Ahora ya puedes comprender un poco mejor cómo funciona un teclado de ordenador, tanto a nivel de software como a nivel de hardware. ¡Espero que te estén ayudando estos tutoriales a comprender cómo funciona la computación!

Jaime Herrera

Jaime Herrera

Ingeniero Informático apasionado por el hardware y la tecnología. Llevo más de diez años dedicándome al análisis de componentes como procesadores, tarjetas gráficas y sistemas de almacenamiento. Mi objetivo es ofrecer información clara y precisa, combinando mi experiencia técnica con un enfoque práctico para ayudar a los lectores a entender mejor el mundo del hardware.

>
Guía Hardware
Logo